@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.
- package/dist/basic-sdk/constants/index.js +15 -1
- package/dist/basic-sdk/constants/plugin.js +14 -0
- package/dist/basic-sdk/editor/comment-article.js +7 -2
- package/dist/basic-sdk/editor/sdoc-editor.js +2 -1
- package/dist/basic-sdk/extension/plugins/index.js +1 -1
- package/dist/basic-sdk/extension/plugins/seatable-tables/render-element/seatable-table.js +104 -101
- package/dist/components/doc-operations/plugins-operations.js +43 -0
- package/dist/hooks/index.js +14 -1
- package/dist/hooks/use-plugins.js +47 -0
- package/dist/pages/simple-editor.js +6 -3
- package/package.json +1 -1
- package/public/locales/cs/sdoc-editor.json +2 -2
- package/public/locales/de/sdoc-editor.json +2 -2
- package/public/locales/en/sdoc-editor.json +2 -2
- package/public/locales/es/sdoc-editor.json +2 -2
- package/public/locales/es_AR/sdoc-editor.json +2 -2
- package/public/locales/es_MX/sdoc-editor.json +2 -2
- package/public/locales/fr/sdoc-editor.json +2 -2
- package/public/locales/it/sdoc-editor.json +9 -9
- package/public/locales/ru/sdoc-editor.json +3 -3
- package/public/locales/zh_CN/sdoc-editor.json +2 -2
- package/public/media/sdoc-editor-font/iconfont.eot +0 -0
- package/public/media/sdoc-editor-font/iconfont.svg +4 -0
- 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 +14 -6
|
@@ -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.
|
|
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)('
|
|
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
|
-
|
|
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
|
-
|
|
77
|
+
table_id
|
|
127
78
|
} = element;
|
|
128
|
-
const
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
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
|
-
|
|
147
|
-
|
|
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
|
-
|
|
151
|
-
|
|
152
|
-
|
|
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
|
-
|
|
162
|
-
|
|
101
|
+
filter_conjunction,
|
|
102
|
+
filters
|
|
103
|
+
} = element;
|
|
163
104
|
const {
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
} =
|
|
168
|
-
const
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
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
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
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
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
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;
|
package/dist/hooks/index.js
CHANGED
|
@@ -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(
|
|
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
|
@@ -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
|
-
"
|
|
277
|
-
"
|
|
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
|
-
"
|
|
277
|
-
"
|
|
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
|
-
"
|
|
277
|
-
"
|
|
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
|
-
"
|
|
277
|
-
"
|
|
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
|
-
"
|
|
277
|
-
"
|
|
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
|
-
"
|
|
277
|
-
"
|
|
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
|
-
"
|
|
277
|
-
"
|
|
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
|
-
"
|
|
277
|
-
"
|
|
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": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
454
|
+
"Mark_all_as_read": "Contrassegna tutto come letto",
|
|
455
455
|
"Alignment_type": "Alignment",
|
|
456
|
-
"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
|
-
"
|
|
277
|
-
"
|
|
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": "
|
|
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
|
-
"
|
|
277
|
-
"
|
|
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": "查看改动",
|
|
Binary file
|
|
@@ -14,6 +14,10 @@
|
|
|
14
14
|
/>
|
|
15
15
|
<missing-glyph />
|
|
16
16
|
|
|
17
|
+
<glyph glyph-name="sdoc-info" unicode="" 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="" 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="" 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="" 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" />
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -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=
|
|
4
|
-
src: url('./sdoc-editor-font/iconfont.eot?t=
|
|
5
|
-
url('./sdoc-editor-font/iconfont.woff2?t=
|
|
6
|
-
url('./sdoc-editor-font/iconfont.woff?t=
|
|
7
|
-
url('./sdoc-editor-font/iconfont.ttf?t=
|
|
8
|
-
url('./sdoc-editor-font/iconfont.svg?t=
|
|
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
|
}
|