@seafile/sdoc-editor 1.0.64 → 1.0.66-beta

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.
@@ -4,9 +4,23 @@ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWild
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.Z_INDEX = exports.WIKI_EDITOR = exports.REVISION_DIFF_VALUE = exports.REVISION_DIFF_KEY = exports.REBASE_TYPES = exports.REBASE_TYPE = exports.REBASE_ORIGIN = exports.REBASE_MARK_KEY = exports.REBASE_MARKS = exports.PAGE_EDIT_AREA_WIDTH = exports.MODIFY_TYPE = exports.INTERNAL_EVENT = exports.DOCUMENT_PLUGIN_EDITOR = exports.DIFF_VIEWER = exports.COMMENT_EDITOR_EDIT_AREA_WIDTH = exports.COMMENT_EDITOR = void 0;
7
+ exports.PAGE_EDIT_AREA_WIDTH = exports.MODIFY_TYPE = exports.INTERNAL_EVENT = exports.DOCUMENT_PLUGIN_EDITOR = exports.DIFF_VIEWER = exports.COMMENT_EDITOR_EDIT_AREA_WIDTH = exports.COMMENT_EDITOR = void 0;
8
+ Object.defineProperty(exports, "PLUGIN_BTN_POSITION", {
9
+ enumerable: true,
10
+ get: function () {
11
+ return _plugin.PLUGIN_BTN_POSITION;
12
+ }
13
+ });
14
+ Object.defineProperty(exports, "PLUGIN_DISPLAY_TYPE", {
15
+ enumerable: true,
16
+ get: function () {
17
+ return _plugin.PLUGIN_DISPLAY_TYPE;
18
+ }
19
+ });
20
+ exports.Z_INDEX = exports.WIKI_EDITOR = exports.REVISION_DIFF_VALUE = exports.REVISION_DIFF_KEY = exports.REBASE_TYPES = exports.REBASE_TYPE = exports.REBASE_ORIGIN = exports.REBASE_MARK_KEY = exports.REBASE_MARKS = void 0;
8
21
  var Z_INDEX = _interopRequireWildcard(require("./z-index"));
9
22
  exports.Z_INDEX = Z_INDEX;
23
+ var _plugin = require("./plugin");
10
24
  const INTERNAL_EVENT = exports.INTERNAL_EVENT = {
11
25
  CANCEL_TABLE_SELECT_RANGE: 'cancel_table_select_range',
12
26
  SET_TABLE_SELECT_RANGE: 'set_table_select_range',
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.PLUGIN_DISPLAY_TYPE = exports.PLUGIN_BTN_POSITION = void 0;
7
+ const PLUGIN_DISPLAY_TYPE = exports.PLUGIN_DISPLAY_TYPE = {
8
+ INLAY_RIGHT: 'inlay-right',
9
+ DIALOG: 'dialog'
10
+ };
11
+ const PLUGIN_BTN_POSITION = exports.PLUGIN_BTN_POSITION = {
12
+ MORE_MENU: 'more-menu',
13
+ DEFAULT: 'default'
14
+ };
@@ -64,14 +64,19 @@ const CommentArticle = _ref => {
64
64
  }
65
65
  }, []);
66
66
  const onKeyDown = (0, _react.useCallback)(event => {
67
- if ((0, _isHotkey.default)('shift+enter', event)) {
67
+ if ((0, _isHotkey.default)('enter', event)) {
68
68
  event.preventDefault();
69
69
  const eventBus = _eventBus.default.getInstance();
70
70
  eventBus.dispatch(_constants.INTERNAL_EVENT.COMMENT_EDITOR_POST_COMMENT, event);
71
71
  return;
72
72
  }
73
+ if ((0, _isHotkey.default)('shift+enter', event)) {
74
+ event.preventDefault();
75
+ _slate.Editor.insertBreak(editor);
76
+ return;
77
+ }
73
78
  eventProxy.onKeyDown(event);
74
- }, [eventProxy]);
79
+ }, [eventProxy, editor]);
75
80
  return /*#__PURE__*/_react.default.createElement(_slateReact.Slate, {
76
81
  editor: editor,
77
82
  value: slateValue,
@@ -32,7 +32,8 @@ const SdocEditor = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
32
32
  isReloading,
33
33
  showComment,
34
34
  isShowHeaderToolbar = true,
35
- showOutline = true
35
+ showOutline = true,
36
+ plugins = []
36
37
  } = _ref;
37
38
  const validEditor = (0, _react.useMemo)(() => {
38
39
  if (propsEditor) return propsEditor;
@@ -167,7 +167,7 @@ var _quickInsert = _interopRequireDefault(require("./quick-insert"));
167
167
  var _wikiLink = _interopRequireDefault(require("./wiki-link"));
168
168
  var _seatableColumn = _interopRequireDefault(require("./seatable-column"));
169
169
  var _seatableTables = _interopRequireDefault(require("./seatable-tables"));
170
- const Plugins = [_markdown.default, _html.default, _header.default, _link.default, _blockquote.default, _list.default, _checkList.default, _codeBlock.default, _image.default, _table.default, _textStyle.default, _textAlign.default, _font.default, _sdocLink.default, _paragraph.default, _fileLink.default, _callout.default, _searchReplace.default];
170
+ const Plugins = [_markdown.default, _html.default, _header.default, _link.default, _blockquote.default, _list.default, _checkList.default, _codeBlock.default, _image.default, _table.default, _textStyle.default, _textAlign.default, _font.default, _sdocLink.default, _paragraph.default, _fileLink.default, _callout.default, _searchReplace.default, _quickInsert.default];
171
171
  const WikiPlugins = exports.WikiPlugins = [...Plugins, _quickInsert.default, _wikiLink.default];
172
172
  const CommentPlugins = exports.CommentPlugins = [_markdown.default, _html.default, _paragraph.default, _textStyle.default, _list.default, _image.default, _link.default, _mention.default, _blockquote.default];
173
173
  var _default = exports.default = Plugins;
@@ -72,116 +72,119 @@ function SeaTableTable(_ref) {
72
72
  // eslint-disable-next-line react-hooks/exhaustive-deps
73
73
  }, [column_width]);
74
74
  (0, _react.useEffect)(() => {
75
- const {
76
- table_id
77
- } = element;
78
- const table = editor.getTableById(table_id);
79
- if (!tableInfoRef.current) {
80
- tableInfoRef.current = {};
81
- }
82
- if (!tableInfoRef.current[table_id]) {
83
- tableInfoRef.current[table_id] = {
84
- formulaRows: editor.getTableFormulaResults(table, table.rows),
85
- idRowMap: table.rows.reduce((result, item) => {
86
- result[item._id] = item;
87
- return result;
88
- }, {})
89
- };
90
- }
91
-
92
- // filter rows
93
- let validRecords = table.rows;
94
- const {
95
- idRowMap,
96
- formulaRows
97
- } = tableInfoRef.current[table_id];
98
- if (element.filters && Array.isArray(element.filters) && element.filters.length > 0) {
99
- const {
100
- filter_conjunction,
101
- filters
102
- } = element;
103
- const {
104
- username,
105
- userId,
106
- userDepartmentIdsMap
107
- } = window.seafile || window.seafileConfig;
108
- const optionalParams = {
109
- formulaRows,
110
- username,
111
- userId,
112
- userDepartmentIdsMap
113
- };
114
- const {
115
- row_ids
116
- } = (0, _dtableUtils.getFilteredRowsWithoutFormulaCalculation)(filter_conjunction, filters, validRecords, table, optionalParams);
117
- validRecords = row_ids.map(rowId => {
118
- const row = idRowMap[rowId];
119
- return row;
120
- });
121
- }
122
-
123
- // sort rows
124
- if (element.sorts && Array.isArray(element.sorts) && element.sorts.length > 0) {
75
+ async function initTableData() {
125
76
  const {
126
- sorts
77
+ table_id
127
78
  } = element;
128
- const value = {
129
- collaborators: editor.collaborators
130
- };
131
- const row_ids = (0, _dtableUtils.sortTableRows)(sorts, validRecords, table.columns, {
132
- formulaRows,
133
- value
134
- });
135
- validRecords = row_ids.map(rowId => {
136
- const row = idRowMap[rowId];
137
- return row;
138
- });
139
- }
140
- const isShowTipMessage = readOnly ? validRecords.length > 200 : validRecords.length > 10;
141
- const shownRecords = readOnly ? validRecords.slice(0, 200) : validRecords.slice(0, 10);
142
- setIsShowTipMessage(isShowTipMessage);
143
- setRecords(validRecords);
144
- setShownRecords(shownRecords);
79
+ const table = await editor.getTableById(table_id);
80
+ if (!tableInfoRef.current) {
81
+ tableInfoRef.current = {};
82
+ }
83
+ if (!tableInfoRef.current[table_id]) {
84
+ tableInfoRef.current[table_id] = {
85
+ formulaRows: editor.getTableFormulaResults(table, table.rows),
86
+ idRowMap: table.rows.reduce((result, item) => {
87
+ result[item._id] = item;
88
+ return result;
89
+ }, {})
90
+ };
91
+ }
145
92
 
146
- // filter columns
147
- let validColumns = table.columns;
148
- if (element.shown_column_keys && Array.isArray(element.shown_column_keys) && element.shown_column_keys.length > 0) {
93
+ // filter rows
94
+ let validRecords = table.rows;
149
95
  const {
150
- shown_column_keys
151
- } = element;
152
- validColumns = table.columns.filter(item => shown_column_keys.includes(item.key));
153
- }
154
- // formatted columns
155
- validColumns = validColumns.map(column => {
156
- const {
157
- type
158
- } = column;
159
- if (type === _dtableUtils.CellType.LINK) {
96
+ idRowMap,
97
+ formulaRows
98
+ } = tableInfoRef.current[table_id];
99
+ if (element.filters && Array.isArray(element.filters) && element.filters.length > 0) {
160
100
  const {
161
- data
162
- } = column;
101
+ filter_conjunction,
102
+ filters
103
+ } = element;
163
104
  const {
164
- display_column_key,
165
- array_type,
166
- array_data
167
- } = data;
168
- const display_column = {
169
- key: display_column_key || '0000',
170
- type: array_type || _dtableUtils.CellType.TEXT,
171
- data: array_data || null
105
+ username,
106
+ userId,
107
+ userDepartmentIdsMap
108
+ } = window.seafile || window.seafileConfig;
109
+ const optionalParams = {
110
+ formulaRows,
111
+ username,
112
+ userId,
113
+ userDepartmentIdsMap
172
114
  };
173
- return {
174
- ...column,
175
- data: {
176
- ...data,
177
- display_column
178
- }
115
+ const {
116
+ row_ids
117
+ } = (0, _dtableUtils.getFilteredRowsWithoutFormulaCalculation)(filter_conjunction, filters, validRecords, table, optionalParams);
118
+ validRecords = row_ids.map(rowId => {
119
+ const row = idRowMap[rowId];
120
+ return row;
121
+ });
122
+ }
123
+
124
+ // sort rows
125
+ if (element.sorts && Array.isArray(element.sorts) && element.sorts.length > 0) {
126
+ const {
127
+ sorts
128
+ } = element;
129
+ const value = {
130
+ collaborators: editor.collaborators
179
131
  };
132
+ const row_ids = (0, _dtableUtils.sortTableRows)(sorts, validRecords, table.columns, {
133
+ formulaRows,
134
+ value
135
+ });
136
+ validRecords = row_ids.map(rowId => {
137
+ const row = idRowMap[rowId];
138
+ return row;
139
+ });
140
+ }
141
+ const isShowTipMessage = readOnly ? validRecords.length > 200 : validRecords.length > 10;
142
+ const shownRecords = readOnly ? validRecords.slice(0, 200) : validRecords.slice(0, 10);
143
+ setIsShowTipMessage(isShowTipMessage);
144
+ setRecords(validRecords);
145
+ setShownRecords(shownRecords);
146
+
147
+ // filter columns
148
+ let validColumns = table.columns;
149
+ if (element.shown_column_keys && Array.isArray(element.shown_column_keys) && element.shown_column_keys.length > 0) {
150
+ const {
151
+ shown_column_keys
152
+ } = element;
153
+ validColumns = table.columns.filter(item => shown_column_keys.includes(item.key));
180
154
  }
181
- return column;
182
- });
183
- setColumns(validColumns);
184
- setIsLoading(false);
155
+ // formatted columns
156
+ validColumns = validColumns.map(column => {
157
+ const {
158
+ type
159
+ } = column;
160
+ if (type === _dtableUtils.CellType.LINK) {
161
+ const {
162
+ data
163
+ } = column;
164
+ const {
165
+ display_column_key,
166
+ array_type,
167
+ array_data
168
+ } = data;
169
+ const display_column = {
170
+ key: display_column_key || '0000',
171
+ type: array_type || _dtableUtils.CellType.TEXT,
172
+ data: array_data || null
173
+ };
174
+ return {
175
+ ...column,
176
+ data: {
177
+ ...data,
178
+ display_column
179
+ }
180
+ };
181
+ }
182
+ return column;
183
+ });
184
+ setColumns(validColumns);
185
+ setIsLoading(false);
186
+ }
187
+ initTableData();
185
188
  // eslint-disable-next-line react-hooks/exhaustive-deps
186
189
  }, [element, readOnly]);
187
190
  const handleScroll = (0, _react.useCallback)(e => {
@@ -0,0 +1,43 @@
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 _classnames = _interopRequireDefault(require("classnames"));
11
+ var _hooks = require("../../hooks");
12
+ var _mouseEvent = require("../../basic-sdk/utils/mouse-event");
13
+ const PluginsOperations = _ref => {
14
+ let {} = _ref;
15
+ const {
16
+ plugins,
17
+ updateDisplayPluginKey
18
+ } = (0, _hooks.usePlugins)();
19
+ const onClick = (0, _react.useCallback)((event, pluginKey) => {
20
+ (0, _mouseEvent.eventStopPropagation)(event);
21
+ updateDisplayPluginKey(pluginKey);
22
+ }, []);
23
+ return plugins.map(plugin => {
24
+ const {
25
+ key,
26
+ icon
27
+ } = plugin;
28
+ let iconDom = '';
29
+ if (typeof icon !== 'string') {
30
+ iconDom = icon;
31
+ } else {
32
+ iconDom = /*#__PURE__*/_react.default.createElement("i", {
33
+ className: (0, _classnames.default)('sdocfont', icon)
34
+ });
35
+ }
36
+ return /*#__PURE__*/_react.default.createElement("span", {
37
+ className: "op-item sdoc-plugin-operation-btn-container",
38
+ onClick: e => onClick(e, key),
39
+ key: key
40
+ }, iconDom);
41
+ });
42
+ };
43
+ var _default = exports.default = PluginsOperations;
@@ -9,6 +9,12 @@ Object.defineProperty(exports, "CollaboratorsProvider", {
9
9
  return _useCollaborators.CollaboratorsProvider;
10
10
  }
11
11
  });
12
+ Object.defineProperty(exports, "PluginsProvider", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _usePlugins.PluginsProvider;
16
+ }
17
+ });
12
18
  Object.defineProperty(exports, "useCollaborators", {
13
19
  enumerable: true,
14
20
  get: function () {
@@ -21,5 +27,12 @@ Object.defineProperty(exports, "useDocument", {
21
27
  return _useDocument.useDocument;
22
28
  }
23
29
  });
30
+ Object.defineProperty(exports, "usePlugins", {
31
+ enumerable: true,
32
+ get: function () {
33
+ return _usePlugins.usePlugins;
34
+ }
35
+ });
24
36
  var _useCollaborators = require("./use-collaborators");
25
- var _useDocument = require("./use-document");
37
+ var _useDocument = require("./use-document");
38
+ var _usePlugins = require("./use-plugins");
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.usePlugins = exports.PluginsProvider = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _basicSdk = require("../basic-sdk");
10
+ var _constants = require("../basic-sdk/constants");
11
+ const PluginsContext = /*#__PURE__*/_react.default.createContext(null);
12
+ const PluginsProvider = _ref => {
13
+ let {
14
+ plugins,
15
+ children
16
+ } = _ref;
17
+ const [displayKey, setDisplayKey] = (0, _react.useState)('');
18
+ const updateDisplayPluginKey = (0, _react.useCallback)(key => {
19
+ console.log('updateDisplayPluginKey: ', key);
20
+ if (!key || displayKey === key) {
21
+ setDisplayKey('');
22
+ return;
23
+ }
24
+ const plugin = plugins.find(plugin => plugin.key === key);
25
+ if (plugin.display_type === _constants.PLUGIN_DISPLAY_TYPE.INLAY_RIGHT) {
26
+ const eventBus = _basicSdk.EventBus.getInstance();
27
+ eventBus.dispatch(_constants.INTERNAL_EVENT.COMMENT_LIST_CLICK);
28
+ setDisplayKey(key);
29
+ }
30
+ }, [displayKey, plugins]);
31
+ return /*#__PURE__*/_react.default.createElement(PluginsContext.Provider, {
32
+ value: {
33
+ plugins,
34
+ displayPluginKey: displayKey,
35
+ updateDisplayPluginKey
36
+ }
37
+ }, children);
38
+ };
39
+ exports.PluginsProvider = PluginsProvider;
40
+ const usePlugins = () => {
41
+ const context = (0, _react.useContext)(PluginsContext);
42
+ if (!context) {
43
+ throw new Error('\'PluginsContext\' is null');
44
+ }
45
+ return context;
46
+ };
47
+ exports.usePlugins = usePlugins;
@@ -26,7 +26,8 @@ const SimpleEditor = _ref => {
26
26
  showComment,
27
27
  showDocOperations = true,
28
28
  showFileTags = true,
29
- t
29
+ t,
30
+ plugins = []
30
31
  } = _ref;
31
32
  _context.default.initApi();
32
33
  const editorRef = (0, _react.useRef)(null);
@@ -140,7 +141,9 @@ const SimpleEditor = _ref => {
140
141
  className: "error-tip"
141
142
  }, t(errorMessage)));
142
143
  }
143
- return /*#__PURE__*/_react.default.createElement(_errorBoundary.default, null, /*#__PURE__*/_react.default.createElement(_layout.default, null, /*#__PURE__*/_react.default.createElement(_layout.Header, null, /*#__PURE__*/_react.default.createElement(_docInfo.default, {
144
+ return /*#__PURE__*/_react.default.createElement(_errorBoundary.default, null, /*#__PURE__*/_react.default.createElement(_hooks.PluginsProvider, {
145
+ plugins: plugins
146
+ }, /*#__PURE__*/_react.default.createElement(_layout.default, null, /*#__PURE__*/_react.default.createElement(_layout.Header, null, /*#__PURE__*/_react.default.createElement(_docInfo.default, {
144
147
  isStarred: isStarred,
145
148
  isDraft: isDraft,
146
149
  showFileTags: showFileTags,
@@ -153,6 +156,6 @@ const SimpleEditor = _ref => {
153
156
  handleViewChangesToggle: handleViewChangesToggle,
154
157
  handleRevisionMerged: handleRevisionMerged,
155
158
  handleRevisionPublished: handleRevisionPublished
156
- })), /*#__PURE__*/_react.default.createElement(_layout.Content, null, renderEditor())));
159
+ })), /*#__PURE__*/_react.default.createElement(_layout.Content, null, renderEditor()))));
157
160
  };
158
161
  var _default = exports.default = (0, _reactI18next.withTranslation)('sdoc-editor')(SimpleEditor);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seafile/sdoc-editor",
3
- "version": "1.0.64",
3
+ "version": "1.0.66beta",
4
4
  "private": false,
5
5
  "description": "This is a sdoc editor",
6
6
  "main": "dist/index.js",
@@ -273,8 +273,8 @@
273
273
  "Delete_reply": "Delete reply",
274
274
  "Are_you_sure_to_delete_this_comment": "Are you sure to delete this comment?",
275
275
  "Are_you_sure_to_delete_this_reply": "Are you sure to delete this reply?",
276
- "Enter_comment_Enter_for_new_line_shift_enter_to_send": "Enter comment, Enter for new line, Shift + Enter to send",
277
- "Enter_reply_Enter_for_new_line_Shift_Enter_to_send": "Enter reply, Enter for new line, Shift + Enter to send",
276
+ "Enter_comment_shift_enter_for_new_line_Enter_to_send": "Enter comment, Shift + Enter for new line, Enter to send",
277
+ "Enter_reply_shift_Enter_for_new_line_Enter_to_send": "Enter reply, Shift + Enter for new line, Enter to send",
278
278
  "Reopen_discussion": "Adding a reply will reopen this discussion",
279
279
  "Confirm": "Potvrdit",
280
280
  "View_changes": "View changes",
@@ -273,8 +273,8 @@
273
273
  "Delete_reply": "Delete reply",
274
274
  "Are_you_sure_to_delete_this_comment": "Are you sure to delete this comment?",
275
275
  "Are_you_sure_to_delete_this_reply": "Are you sure to delete this reply?",
276
- "Enter_comment_Enter_for_new_line_shift_enter_to_send": "Enter comment, Enter for new line, Shift + Enter to send",
277
- "Enter_reply_Enter_for_new_line_Shift_Enter_to_send": "Enter reply, Enter for new line, Shift + Enter to send",
276
+ "Enter_comment_shift_enter_for_new_line_Enter_to_send": "Enter comment, Shift + Enter for new line, Enter to send",
277
+ "Enter_reply_shift_Enter_for_new_line_Enter_to_send": "Enter reply, Shift + Enter for new line, Enter to send",
278
278
  "Reopen_discussion": "Adding a reply will reopen this discussion",
279
279
  "Confirm": "Bestätigen",
280
280
  "View_changes": "View changes",
@@ -273,8 +273,8 @@
273
273
  "Delete_reply": "Delete reply",
274
274
  "Are_you_sure_to_delete_this_comment": "Are you sure to delete this comment?",
275
275
  "Are_you_sure_to_delete_this_reply": "Are you sure to delete this reply?",
276
- "Enter_comment_Enter_for_new_line_shift_enter_to_send": "Enter comment, Enter for new line, Shift + Enter to send",
277
- "Enter_reply_Enter_for_new_line_Shift_Enter_to_send": "Enter reply, Enter for new line, Shift + Enter to send",
276
+ "Enter_comment_shift_enter_for_new_line_Enter_to_send": "Enter comment, Shift + Enter for new line, Enter to send",
277
+ "Enter_reply_shift_Enter_for_new_line_Enter_to_send": "Enter reply, Shift + Enter for new line, Enter to send",
278
278
  "Reopen_discussion": "Adding a reply will reopen this discussion",
279
279
  "Confirm": "Confirm",
280
280
  "View_changes": "View changes",
@@ -273,8 +273,8 @@
273
273
  "Delete_reply": "Delete reply",
274
274
  "Are_you_sure_to_delete_this_comment": "Are you sure to delete this comment?",
275
275
  "Are_you_sure_to_delete_this_reply": "Are you sure to delete this reply?",
276
- "Enter_comment_Enter_for_new_line_shift_enter_to_send": "Enter comment, Enter for new line, Shift + Enter to send",
277
- "Enter_reply_Enter_for_new_line_Shift_Enter_to_send": "Enter reply, Enter for new line, Shift + Enter to send",
276
+ "Enter_comment_shift_enter_for_new_line_Enter_to_send": "Enter comment, Shift + Enter for new line, Enter to send",
277
+ "Enter_reply_shift_Enter_for_new_line_Enter_to_send": "Enter reply, Shift + Enter for new line, Enter to send",
278
278
  "Reopen_discussion": "Adding a reply will reopen this discussion",
279
279
  "Confirm": "Confirmar",
280
280
  "View_changes": "View changes",
@@ -273,8 +273,8 @@
273
273
  "Delete_reply": "Delete reply",
274
274
  "Are_you_sure_to_delete_this_comment": "Are you sure to delete this comment?",
275
275
  "Are_you_sure_to_delete_this_reply": "Are you sure to delete this reply?",
276
- "Enter_comment_Enter_for_new_line_shift_enter_to_send": "Enter comment, Enter for new line, Shift + Enter to send",
277
- "Enter_reply_Enter_for_new_line_Shift_Enter_to_send": "Enter reply, Enter for new line, Shift + Enter to send",
276
+ "Enter_comment_shift_enter_for_new_line_Enter_to_send": "Enter comment, Shift + Enter for new line, Enter to send",
277
+ "Enter_reply_shift_Enter_for_new_line_Enter_to_send": "Enter reply, Shift + Enter for new line, Enter to send",
278
278
  "Reopen_discussion": "Adding a reply will reopen this discussion",
279
279
  "Confirm": "Confirmar",
280
280
  "View_changes": "View changes",
@@ -273,8 +273,8 @@
273
273
  "Delete_reply": "Delete reply",
274
274
  "Are_you_sure_to_delete_this_comment": "Are you sure to delete this comment?",
275
275
  "Are_you_sure_to_delete_this_reply": "Are you sure to delete this reply?",
276
- "Enter_comment_Enter_for_new_line_shift_enter_to_send": "Enter comment, Enter for new line, Shift + Enter to send",
277
- "Enter_reply_Enter_for_new_line_Shift_Enter_to_send": "Enter reply, Enter for new line, Shift + Enter to send",
276
+ "Enter_comment_shift_enter_for_new_line_Enter_to_send": "Enter comment, Shift + Enter for new line, Enter to send",
277
+ "Enter_reply_shift_Enter_for_new_line_Enter_to_send": "Enter reply, Shift + Enter for new line, Enter to send",
278
278
  "Reopen_discussion": "Adding a reply will reopen this discussion",
279
279
  "Confirm": "Confirmar",
280
280
  "View_changes": "View changes",
@@ -273,8 +273,8 @@
273
273
  "Delete_reply": "Supprimer la réponse",
274
274
  "Are_you_sure_to_delete_this_comment": "Êtes-vous sûr de vouloir supprimer ce commentaire ?",
275
275
  "Are_you_sure_to_delete_this_reply": "Êtes-vous sûr de vouloir supprimer cette réponse ?",
276
- "Enter_comment_Enter_for_new_line_shift_enter_to_send": "Enter comment, Enter for new line, Shift + Enter to send",
277
- "Enter_reply_Enter_for_new_line_Shift_Enter_to_send": "Enter reply, Enter for new line, Shift + Enter to send",
276
+ "Enter_comment_shift_enter_for_new_line_Enter_to_send": "Enter comment, Shift + Enter for new line, Enter to send",
277
+ "Enter_reply_shift_Enter_for_new_line_Enter_to_send": "Enter reply, Shift + Enter for new line, Enter to send",
278
278
  "Reopen_discussion": "L'ajout d'une réponse rouvrira la discussion.",
279
279
  "Confirm": "Confirmer",
280
280
  "View_changes": "Afficher les modifications",
@@ -273,10 +273,10 @@
273
273
  "Delete_reply": "Delete reply",
274
274
  "Are_you_sure_to_delete_this_comment": "Are you sure to delete this comment?",
275
275
  "Are_you_sure_to_delete_this_reply": "Are you sure to delete this reply?",
276
- "Enter_comment_Enter_for_new_line_shift_enter_to_send": "Enter comment, Enter for new line, Shift + Enter to send",
277
- "Enter_reply_Enter_for_new_line_Shift_Enter_to_send": "Enter reply, Enter for new line, Shift + Enter to send",
276
+ "Enter_comment_shift_enter_for_new_line_Enter_to_send": "Enter comment, Shift + Enter for new line, Enter to send",
277
+ "Enter_reply_shift_Enter_for_new_line_Enter_to_send": "Enter reply, Shift + Enter for new line, Enter to send",
278
278
  "Reopen_discussion": "Adding a reply will reopen this discussion",
279
- "Confirm": "Confirm",
279
+ "Confirm": "Conferma",
280
280
  "View_changes": "View changes",
281
281
  "Revision": "Revision",
282
282
  "Error": "Errore",
@@ -401,10 +401,10 @@
401
401
  "No_collaborators_available": "No_collaborators_available",
402
402
  "Search_collaborator": "Search collaborator",
403
403
  "Doc_comments": "Document comments",
404
- "Tag_not_found": "Tag not found",
404
+ "Tag_not_found": "Etichetta non trovata",
405
405
  "Create_a_new_tag": "Crea un nuovo tag",
406
406
  "Search_tags": "Search tags",
407
- "No_options_available": "Tag not found",
407
+ "No_options_available": "Etichetta non trovata",
408
408
  "Add_option": "Crea un nuovo tag",
409
409
  "Find_an_option": "Search tags",
410
410
  "Copy_link_of_section": "Copy link of section",
@@ -430,7 +430,7 @@
430
430
  "Document_frozen": "Document frozen",
431
431
  "Unfreeze": "Unfreeze",
432
432
  "Search_and_replace": "Search and replace",
433
- "Search": "Search",
433
+ "Search": "Ricerca",
434
434
  "Type_search_content": "Type search content",
435
435
  "Replace_as": "Replace as",
436
436
  "Type_replace_content": "Type replace content",
@@ -444,16 +444,16 @@
444
444
  "Recent_visited": "Recent visited",
445
445
  "The_document_does_not_exist": "The document does not exist",
446
446
  "Create_a_new_sdoc_file": "Create a new sdoc file",
447
- "New_page": "New page",
447
+ "New_page": "Nuova pagina",
448
448
  "Create": "Crea",
449
449
  "Top_align": "Top",
450
450
  "Center_align": "Middle",
451
451
  "Bottom_align": "Bottom",
452
452
  "Move_column_count": "Moving {{count}} column(s)",
453
453
  "Move_row_count": "Moving {{count}} row(s)",
454
- "Mark_all_as_read": "Mark all as read",
454
+ "Mark_all_as_read": "Contrassegna tutto come letto",
455
455
  "Alignment_type": "Alignment",
456
- "Print": "Print",
456
+ "Print": "Stampa",
457
457
  "Enter_more_character_start_search": "Enter more characters to start search",
458
458
  "Create_file_name_sdoc": "Create {{file_name_sdoc}}",
459
459
  "Source_document_changed_tip": "Original document has concurrent modifications. Do you like to merge these modifications to the revision?",
@@ -273,8 +273,8 @@
273
273
  "Delete_reply": "Удалить ответ",
274
274
  "Are_you_sure_to_delete_this_comment": "Вы уверены, что удалите этот комментарий?",
275
275
  "Are_you_sure_to_delete_this_reply": "Вы уверены, что удалите этот ответ?",
276
- "Enter_comment_Enter_for_new_line_shift_enter_to_send": "Введите комментарий, Enter для новой строки, Shift + Enter для отправки",
277
- "Enter_reply_Enter_for_new_line_Shift_Enter_to_send": "Введите ответ, Enter для новой строки, Shift + Enter для отправки.",
276
+ "Enter_comment_shift_enter_for_new_line_Enter_to_send": "Enter comment, Shift + Enter for new line, Enter to send",
277
+ "Enter_reply_shift_Enter_for_new_line_Enter_to_send": "Enter reply, Shift + Enter for new line, Enter to send",
278
278
  "Reopen_discussion": "Добавление ответа приведёт к возобновлению обсуждения.",
279
279
  "Confirm": "Подтвердить",
280
280
  "View_changes": "Просмотр изменений",
@@ -397,7 +397,7 @@
397
397
  "Published": "Опубликовано",
398
398
  "Delete_Successfully": "Удалено",
399
399
  "Delete_failed": "Не удалось удалить",
400
- "Caption": "Caption",
400
+ "Caption": "Подпись",
401
401
  "No_collaborators_available": "Нет доступных соавторов",
402
402
  "Search_collaborator": "Поиск соавтора",
403
403
  "Doc_comments": "Комментарии к документу",
@@ -273,8 +273,8 @@
273
273
  "Delete_reply": "删除回复",
274
274
  "Are_you_sure_to_delete_this_comment": "你确定要删除这个评论吗?",
275
275
  "Are_you_sure_to_delete_this_reply": "你确定要删除这个回复吗?",
276
- "Enter_comment_Enter_for_new_line_shift_enter_to_send": "输入评论,Enter 换行,Shift + Enter 发送",
277
- "Enter_reply_Enter_for_new_line_Shift_Enter_to_send": "输入回复,Enter 换行,Shift + Enter 发送",
276
+ "Enter_comment_shift_enter_for_new_line_Enter_to_send": "输入评论,Shift + Enter 换行,Enter 发送",
277
+ "Enter_reply_shift_Enter_for_new_line_Enter_to_send": "输入回复,Shift + Enter 换行,Enter 发送",
278
278
  "Reopen_discussion": "添加回复会重新提出该讨论",
279
279
  "Confirm": "确认",
280
280
  "View_changes": "查看改动",
@@ -14,6 +14,10 @@
14
14
  />
15
15
  <missing-glyph />
16
16
 
17
+ <glyph glyph-name="sdoc-info" unicode="&#58999;" d="M512 896c281.6 0 512-230.4 512-512s-230.4-512-512-512S0 102.4 0 384 230.4 896 512 896z m0-96C281.6 800 96 614.4 96 384s185.6-416 416-416 416 185.6 416 416c0 108.8-44.8 217.6-121.6 294.4S620.8 800 512 800z m32-352c19.2 0 32-12.8 32-32v-256c0-19.2-12.8-32-32-32h-64c-19.2 0-32 12.8-32 32V416c0 19.2 12.8 32 32 32h64z m-19.2 192c9.6 0 16-3.2 22.4-9.6 3.2-3.2 6.4-6.4 9.6-6.4 25.6-25.6 25.6-64 0-89.6-3.2-3.2-6.4-6.4-9.6-6.4-6.4-3.2-16-6.4-22.4-9.6h-25.6c-9.6 0-16 3.2-22.4 9.6-3.2 3.2-6.4 6.4-9.6 6.4-25.6 25.6-25.6 64 0 89.6 3.2 3.2 6.4 6.4 9.6 6.4 6.4 3.2 16 6.4 22.4 9.6h25.6z" horiz-adv-x="1024" />
18
+
19
+ <glyph glyph-name="sdoc-inline-code" unicode="&#58998;" d="M1024 384l-272-288-67.2 70.4 204.8 217.6-204.8 217.6L752 672l272-288zM0 384l272-288 67.2 70.4L134.4 384l204.8 217.6L272 672 0 384z m451.2-512l-99.2 3.2L579.2 896h99.2l-227.2-1024z" horiz-adv-x="1024" />
20
+
17
21
  <glyph glyph-name="sdoc-sort" unicode="&#58996;" d="M294.4 790.4l201.6-204.8c19.2-19.2 19.2-51.2 0-73.6-19.2-19.2-51.2-19.2-70.4 0L320 620.8v-604.8c0-25.6-22.4-48-48-48S224-9.6 224 16V620.8L118.4 512c-19.2-19.2-48-19.2-67.2-3.2l-3.2 3.2c-19.2 19.2-19.2 51.2 0 73.6l201.6 204.8c12.8 12.8 32 12.8 44.8 0zM752 800c25.6 0 48-22.4 48-48v-604.8l105.6 108.8c19.2 19.2 51.2 19.2 70.4 0 19.2-19.2 19.2-51.2 0-73.6l-201.6-204.8c-12.8-12.8-32-12.8-44.8 0l-201.6 204.8c-19.2 19.2-19.2 51.2 0 73.6l3.2 3.2c19.2 16 48 16 67.2-3.2l105.6-108.8V752c0 25.6 22.4 48 48 48z" horiz-adv-x="1024" />
18
22
 
19
23
  <glyph glyph-name="sdoc-set-up" unicode="&#58997;" d="M598.52384 809.6l12.8-92.8 6.4-38.4 35.2-16c12.8-6.4 28.8-16 41.6-25.6l32-19.2 35.2 12.8 92.8 35.2 86.4-140.8-76.8-54.4-32-25.6 3.2-38.4v-44.8l-3.2-38.4 32-25.6 76.8-57.6-83.2-140.8-92.8 35.2-35.2 12.8-32-19.2c-12.8-9.6-28.8-19.2-41.6-25.6l-35.2-16-6.4-38.4-12.8-92.8h-172.8l-12.8 92.8-6.4 38.4-35.2 16c-12.8 6.4-28.8 16-41.6 25.6l-32 19.2-35.2-12.8-92.8-35.2-86.4 140.8L160.12384 297.6l32 25.6-3.2 38.4V384v22.4l3.2 38.4-32 25.6-76.8 57.6 83.2 140.8 92.8-35.2 35.2-12.8 32 19.2c12.8 9.6 28.8 19.2 41.6 25.6l35.2 16 6.4 38.4 12.8 92.8h176m12.8 83.2H416.12384c-32 0-57.6-22.4-60.8-51.2l-16-105.6c-19.2-9.6-35.2-19.2-54.4-32L182.52384 748.8c-9.6 3.2-16 3.2-22.4 3.2-22.4 0-41.6-9.6-54.4-28.8L6.52384 560c-12.8-28.8-6.4-60.8 16-80l86.4-67.2c0-9.6-3.2-22.4-3.2-28.8 0-9.6 0-19.2 3.2-28.8L22.52384 288c-22.4-19.2-28.8-51.2-16-76.8l96-163.2c9.6-19.2 32-32 54.4-32 6.4 0 12.8 0 22.4 3.2l102.4 41.6c16-12.8 35.2-22.4 54.4-28.8l16-105.6c3.2-28.8 28.8-51.2 60.8-51.2H608.12384c32 0 57.6 22.4 60.8 51.2l16 105.6c19.2 9.6 35.2 19.2 54.4 28.8l102.4-41.6c6.4-3.2 16-3.2 22.4-3.2 22.4 0 41.6 9.6 54.4 28.8l99.2 166.4c16 25.6 9.6 57.6-16 76.8l-86.4 67.2c0 9.6 3.2 19.2 3.2 28.8s0 22.4-3.2 28.8l86.4 67.2c22.4 19.2 28.8 51.2 16 76.8l-96 163.2c-9.6 19.2-32 32-54.4 32-6.4 0-12.8 0-22.4-3.2l-102.4-41.6c-16 12.8-35.2 22.4-54.4 28.8L672.12384 844.8C665.72384 873.6 640.12384 896 611.32384 896zM512.12384 512c70.4 0 128-57.6 128-128s-57.6-128-128-128-128 57.6-128 128 57.6 128 128 128m0 86.4a214.4 214.4 0 1 1 0-428.8 214.4 214.4 0 0 1 0 428.8z" horiz-adv-x="1026" />
@@ -1,11 +1,11 @@
1
1
  @font-face {
2
2
  font-family: "sdocfont"; /* Project id 4097705 */
3
- src: url('./sdoc-editor-font/iconfont.eot?t=1722915152576'); /* IE9 */
4
- src: url('./sdoc-editor-font/iconfont.eot?t=1722915152576#iefix') format('embedded-opentype'), /* IE6-IE8 */
5
- url('./sdoc-editor-font/iconfont.woff2?t=1722915152576') format('woff2'),
6
- url('./sdoc-editor-font/iconfont.woff?t=1722915152576') format('woff'),
7
- url('./sdoc-editor-font/iconfont.ttf?t=1722915152576') format('truetype'),
8
- url('./sdoc-editor-font/iconfont.svg?t=1722915152576#sdocfont') format('svg');
3
+ src: url('./sdoc-editor-font/iconfont.eot?t=1725002301707'); /* IE9 */
4
+ src: url('./sdoc-editor-font/iconfont.eot?t=1725002301707#iefix') format('embedded-opentype'), /* IE6-IE8 */
5
+ url('./sdoc-editor-font/iconfont.woff2?t=1725002301707') format('woff2'),
6
+ url('./sdoc-editor-font/iconfont.woff?t=1725002301707') format('woff'),
7
+ url('./sdoc-editor-font/iconfont.ttf?t=1725002301707') format('truetype'),
8
+ url('./sdoc-editor-font/iconfont.svg?t=1725002301707#sdocfont') format('svg');
9
9
  }
10
10
 
11
11
  .sdocfont {
@@ -16,6 +16,14 @@
16
16
  -moz-osx-font-smoothing: grayscale;
17
17
  }
18
18
 
19
+ .sdoc-info:before {
20
+ content: "\e677";
21
+ }
22
+
23
+ .sdoc-inline-code:before {
24
+ content: "\e676";
25
+ }
26
+
19
27
  .sdoc-sort:before {
20
28
  content: "\e674";
21
29
  }