@seafile/sdoc-editor 0.2.16 → 0.2.18
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 +36 -2
- package/dist/assets/css/simple-editor.css +0 -32
- package/dist/assets/images/revision-avatar.png +0 -0
- package/dist/basic-sdk/assets/css/textlink-hovermenu.css +1 -0
- package/dist/basic-sdk/comment/components/comment-all-participants/index.css +83 -0
- package/dist/basic-sdk/comment/components/comment-all-participants/index.js +56 -0
- package/dist/basic-sdk/comment/components/comment-all-participants/participant-avatar.js +35 -0
- package/dist/basic-sdk/comment/{comment → components}/comment-editor.js +18 -36
- package/dist/basic-sdk/comment/components/comment-input/comment-participant-item.js +47 -0
- package/dist/basic-sdk/comment/components/comment-input/index.css +45 -0
- package/dist/basic-sdk/comment/components/comment-input/index.js +295 -0
- package/dist/basic-sdk/comment/{comment → components}/comment-item-content.js +7 -2
- package/dist/basic-sdk/comment/{comment → components}/comment-item-reply.js +6 -1
- package/dist/basic-sdk/comment/{comment → components}/comment-item-wrapper.js +3 -1
- package/dist/basic-sdk/comment/components/comment-participants-editor/index.css +132 -0
- package/dist/basic-sdk/comment/components/comment-participants-editor/index.js +67 -0
- package/dist/basic-sdk/comment/components/comment-participants-editor/searched-collaborators.js +53 -0
- package/dist/basic-sdk/comment/components/comment-participants-editor/selected-participants.js +39 -0
- package/dist/basic-sdk/comment/{comment → components}/global-comment-header.js +5 -6
- package/dist/basic-sdk/comment/{comment → components}/global-comment.js +3 -2
- package/dist/basic-sdk/comment/{comment → components}/style.css +8 -1
- package/dist/basic-sdk/comment/constants/index.js +11 -0
- package/dist/basic-sdk/comment/hooks/use-comment-list.js +1 -1
- package/dist/basic-sdk/comment/hooks/use-participants.js +90 -0
- package/dist/basic-sdk/comment/index.js +3 -2
- package/dist/basic-sdk/comment/utils/index.js +206 -0
- package/dist/basic-sdk/editor/sdoc-editor.js +3 -2
- package/dist/basic-sdk/extension/plugins/link/hover/index.js +3 -3
- package/dist/components/doc-info/index.css +53 -0
- package/dist/components/doc-info/index.js +11 -2
- package/dist/components/modal-portal/index.js +36 -0
- package/dist/constants/index.js +4 -1
- package/dist/constants/key-codes.js +102 -0
- package/dist/constants/transfer-types.js +3 -0
- package/dist/context.js +38 -8
- package/dist/hooks/index.js +3 -0
- package/dist/hooks/use-collaborators.js +44 -0
- package/dist/layout/layout.js +10 -27
- package/dist/model/index.js +2 -1
- package/dist/model/user.js +12 -0
- package/dist/pages/simple-editor.js +1 -1
- package/dist/utils/get-event-transfer.js +73 -0
- package/dist/utils/hotkey.js +25 -0
- package/dist/utils/index.js +58 -1
- package/package.json +1 -1
- package/public/locales/cs/sdoc-editor.json +6 -1
- package/public/locales/de/sdoc-editor.json +6 -1
- package/public/locales/en/sdoc-editor.json +3 -1
- package/public/locales/es/sdoc-editor.json +6 -1
- package/public/locales/fr/sdoc-editor.json +6 -1
- package/public/locales/it/sdoc-editor.json +6 -1
- package/public/locales/ru/sdoc-editor.json +6 -1
- package/public/locales/zh_CN/sdoc-editor.json +3 -1
- 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
- /package/dist/basic-sdk/comment/{comment → components}/comment-delete-shadow.js +0 -0
- /package/dist/basic-sdk/comment/{comment → components}/comment-item-resolved-reply.js +0 -0
- /package/dist/basic-sdk/comment/{comment → components}/comment-list.css +0 -0
- /package/dist/basic-sdk/comment/{comment → components}/comment-list.js +0 -0
- /package/dist/basic-sdk/comment/{comment → components}/editor-comment.js +0 -0
- /package/dist/basic-sdk/comment/{comment → components}/elements-comment-count/element-comment-count.js +0 -0
- /package/dist/basic-sdk/comment/{comment → components}/elements-comment-count/index.css +0 -0
- /package/dist/basic-sdk/comment/{comment → components}/elements-comment-count/index.js +0 -0
- /package/dist/basic-sdk/comment/{comment → components}/index.js +0 -0
package/dist/context.js
CHANGED
|
@@ -3,12 +3,23 @@ import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
|
3
3
|
import Url from 'url-parse';
|
|
4
4
|
import SDocServerApi from './api/sdoc-server-api';
|
|
5
5
|
import SeafileAPI from './api/seafile-api';
|
|
6
|
+
import { User } from './model';
|
|
6
7
|
var Context = /*#__PURE__*/function () {
|
|
7
8
|
function Context() {
|
|
8
9
|
var _this = this;
|
|
9
10
|
_classCallCheck(this, Context);
|
|
10
11
|
this.initSettings = function () {
|
|
11
12
|
_this.settings = window.seafile ? window.seafile : window.seafileConfig;
|
|
13
|
+
var _this$settings = _this.settings,
|
|
14
|
+
name = _this$settings.name,
|
|
15
|
+
username = _this$settings.username,
|
|
16
|
+
avatarURL = _this$settings.avatarURL;
|
|
17
|
+
var userInfo = {
|
|
18
|
+
name: name,
|
|
19
|
+
username: username,
|
|
20
|
+
avatar_url: avatarURL
|
|
21
|
+
};
|
|
22
|
+
_this.user = new User(userInfo);
|
|
12
23
|
if (_this.settings['isSdocRevision']) {
|
|
13
24
|
var repoID = _this.getSetting('repoID');
|
|
14
25
|
var siteRoot = _this.getSetting('siteRoot');
|
|
@@ -111,14 +122,7 @@ var Context = /*#__PURE__*/function () {
|
|
|
111
122
|
}, {
|
|
112
123
|
key: "getUserInfo",
|
|
113
124
|
value: function getUserInfo() {
|
|
114
|
-
|
|
115
|
-
var username = this.getSetting('username');
|
|
116
|
-
var avatarURL = this.getSetting('avatarURL');
|
|
117
|
-
return {
|
|
118
|
-
name: name,
|
|
119
|
-
username: username,
|
|
120
|
-
avatar_url: avatarURL
|
|
121
|
-
};
|
|
125
|
+
return this.user;
|
|
122
126
|
}
|
|
123
127
|
|
|
124
128
|
// comments
|
|
@@ -260,6 +264,32 @@ var Context = /*#__PURE__*/function () {
|
|
|
260
264
|
var docUuid = this.getSetting('docUuid');
|
|
261
265
|
return this.api.getCopyMoveProgressView(docUuid, taskId);
|
|
262
266
|
}
|
|
267
|
+
|
|
268
|
+
// participants
|
|
269
|
+
}, {
|
|
270
|
+
key: "listParticipants",
|
|
271
|
+
value: function listParticipants() {
|
|
272
|
+
var docUuid = this.getSetting('docUuid');
|
|
273
|
+
return this.api.listParticipants(docUuid);
|
|
274
|
+
}
|
|
275
|
+
}, {
|
|
276
|
+
key: "addParticipants",
|
|
277
|
+
value: function addParticipants(emails) {
|
|
278
|
+
var docUuid = this.getSetting('docUuid');
|
|
279
|
+
return this.api.addParticipants(docUuid, emails);
|
|
280
|
+
}
|
|
281
|
+
}, {
|
|
282
|
+
key: "deleteParticipants",
|
|
283
|
+
value: function deleteParticipants(emails) {
|
|
284
|
+
var docUuid = this.getSetting('docUuid');
|
|
285
|
+
return this.api.deleteParticipants(docUuid, emails);
|
|
286
|
+
}
|
|
287
|
+
}, {
|
|
288
|
+
key: "listRelatedUsers",
|
|
289
|
+
value: function listRelatedUsers() {
|
|
290
|
+
var docUuid = this.getSetting('docUuid');
|
|
291
|
+
return this.api.listRelatedUsers(docUuid);
|
|
292
|
+
}
|
|
263
293
|
}]);
|
|
264
294
|
return Context;
|
|
265
295
|
}();
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
|
+
import React, { useContext, useEffect, useState } from 'react';
|
|
3
|
+
import context from '../context';
|
|
4
|
+
import { User } from '../model';
|
|
5
|
+
var CollaboratorsContext = React.createContext(null);
|
|
6
|
+
export var CollaboratorsProvider = function CollaboratorsProvider(props) {
|
|
7
|
+
var isSdocRevision = context.getSetting('isSdocRevision');
|
|
8
|
+
var isPublished = context.getSetting('isPublished');
|
|
9
|
+
var _useState = useState([]),
|
|
10
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
11
|
+
collaborators = _useState2[0],
|
|
12
|
+
setCollaborators = _useState2[1];
|
|
13
|
+
useEffect(function () {
|
|
14
|
+
if (isSdocRevision && isPublished) return;
|
|
15
|
+
context.listRelatedUsers().then(function (res) {
|
|
16
|
+
var collaborators = [];
|
|
17
|
+
res.data.related_users.forEach(function (user) {
|
|
18
|
+
var collaborator = new User(user);
|
|
19
|
+
collaborators.push(collaborator);
|
|
20
|
+
});
|
|
21
|
+
setCollaborators(collaborators);
|
|
22
|
+
}).catch(function (error) {
|
|
23
|
+
// eslint-disable-next-line
|
|
24
|
+
console.log(error);
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
28
|
+
}, []);
|
|
29
|
+
return /*#__PURE__*/React.createElement(CollaboratorsContext.Provider, {
|
|
30
|
+
value: {
|
|
31
|
+
collaborators: collaborators
|
|
32
|
+
}
|
|
33
|
+
}, props.children);
|
|
34
|
+
};
|
|
35
|
+
export var useCollaborators = function useCollaborators() {
|
|
36
|
+
var context = useContext(CollaboratorsContext);
|
|
37
|
+
if (!context) {
|
|
38
|
+
throw new Error('\'CollaboratorsContext\' is null');
|
|
39
|
+
}
|
|
40
|
+
var collaborators = context.collaborators;
|
|
41
|
+
return {
|
|
42
|
+
collaborators: collaborators
|
|
43
|
+
};
|
|
44
|
+
};
|
package/dist/layout/layout.js
CHANGED
|
@@ -1,30 +1,13 @@
|
|
|
1
1
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
2
|
-
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
3
|
-
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
4
|
-
import _inherits from "@babel/runtime/helpers/esm/inherits";
|
|
5
|
-
import _createSuper from "@babel/runtime/helpers/esm/createSuper";
|
|
6
2
|
var _excluded = ["children", "className"];
|
|
7
|
-
import React
|
|
3
|
+
import React from 'react';
|
|
8
4
|
import classnames from 'classnames';
|
|
9
|
-
var Layout =
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
value: function render() {
|
|
19
|
-
var _this$props = this.props,
|
|
20
|
-
children = _this$props.children,
|
|
21
|
-
className = _this$props.className,
|
|
22
|
-
restProps = _objectWithoutProperties(_this$props, _excluded);
|
|
23
|
-
return /*#__PURE__*/React.createElement("div", Object.assign({
|
|
24
|
-
className: classnames('sdoc-editor-page-wrapper', className)
|
|
25
|
-
}, restProps), children);
|
|
26
|
-
}
|
|
27
|
-
}]);
|
|
28
|
-
return Layout;
|
|
29
|
-
}(Component);
|
|
30
|
-
export { Layout as default };
|
|
5
|
+
var Layout = function Layout(_ref) {
|
|
6
|
+
var children = _ref.children,
|
|
7
|
+
className = _ref.className,
|
|
8
|
+
restProps = _objectWithoutProperties(_ref, _excluded);
|
|
9
|
+
return /*#__PURE__*/React.createElement("div", Object.assign({
|
|
10
|
+
className: classnames('sdoc-editor-page-wrapper', className)
|
|
11
|
+
}, restProps), children);
|
|
12
|
+
};
|
|
13
|
+
export default Layout;
|
package/dist/model/index.js
CHANGED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
2
|
+
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
3
|
+
var User = /*#__PURE__*/_createClass(function User(options) {
|
|
4
|
+
_classCallCheck(this, User);
|
|
5
|
+
this.name = options.name || '';
|
|
6
|
+
this.username = options.email || options.username || '';
|
|
7
|
+
this.email = this.username;
|
|
8
|
+
this.contact_email = options.contact_email || '';
|
|
9
|
+
this.avatar_url = options.avatar_url || '';
|
|
10
|
+
this.name_pinyin = options.name_pinyin || '';
|
|
11
|
+
});
|
|
12
|
+
export default User;
|
|
@@ -9,7 +9,7 @@ import context from '../context';
|
|
|
9
9
|
import ErrorBoundary from './error-boundary';
|
|
10
10
|
import { SDocEditor } from '../basic-sdk';
|
|
11
11
|
import { RevisionDiffViewer } from '../basic-sdk/views';
|
|
12
|
-
import { useDocument } from '../hooks
|
|
12
|
+
import { useDocument } from '../hooks';
|
|
13
13
|
import { resetWebTitleAndURL } from '../utils';
|
|
14
14
|
import '../assets/css/simple-editor.css';
|
|
15
15
|
var SimpleEditor = function SimpleEditor(_ref) {
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { TransferTypes } from '../constants';
|
|
2
|
+
var HTML = TransferTypes.HTML,
|
|
3
|
+
TEXT = TransferTypes.TEXT;
|
|
4
|
+
function getEventTransfer(event) {
|
|
5
|
+
var html, text, files;
|
|
6
|
+
if (window.isMobile) {
|
|
7
|
+
if (window.dtableTransfer) {
|
|
8
|
+
text = window.dtableTransfer['TEXT'];
|
|
9
|
+
}
|
|
10
|
+
} else {
|
|
11
|
+
var transfer = event.dataTransfer || event.clipboardData;
|
|
12
|
+
html = getType(transfer, HTML);
|
|
13
|
+
text = getType(transfer, TEXT);
|
|
14
|
+
files = getFiles(transfer);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
// paste html
|
|
18
|
+
if (html) {
|
|
19
|
+
// eslint-disable-next-line new-parens
|
|
20
|
+
var copiedTableNode = new DOMParser().parseFromString(html, HTML).querySelector('table');
|
|
21
|
+
if (copiedTableNode) return {
|
|
22
|
+
html: html,
|
|
23
|
+
text: text,
|
|
24
|
+
type: 'html'
|
|
25
|
+
};
|
|
26
|
+
return {
|
|
27
|
+
html: html,
|
|
28
|
+
text: text,
|
|
29
|
+
type: 'html'
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// paste local picture or other files here
|
|
34
|
+
if (files && files.length) return {
|
|
35
|
+
'files': files,
|
|
36
|
+
type: 'files'
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
// paste text
|
|
40
|
+
return {
|
|
41
|
+
text: text || '',
|
|
42
|
+
type: 'text'
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
function getType(transfer, type) {
|
|
46
|
+
if (!transfer.types || !transfer.types.length) {
|
|
47
|
+
// COMPAT: In IE 11, there is no `types` field but `getData('Text')`
|
|
48
|
+
// is supported`. (2017/06/23)
|
|
49
|
+
return type === TEXT ? transfer.getData('Text') || null : null;
|
|
50
|
+
}
|
|
51
|
+
return transfer.getData(type);
|
|
52
|
+
}
|
|
53
|
+
function getFiles(transfer) {
|
|
54
|
+
var files;
|
|
55
|
+
try {
|
|
56
|
+
// Get and normalize files if they exist.
|
|
57
|
+
if (transfer.items && transfer.items.length) {
|
|
58
|
+
files = Array.from(transfer.items).map(function (item) {
|
|
59
|
+
return item.kind === 'file' ? item.getAsFile() : null;
|
|
60
|
+
}).filter(function (exists) {
|
|
61
|
+
return exists;
|
|
62
|
+
});
|
|
63
|
+
} else if (transfer.files && transfer.files.length) {
|
|
64
|
+
files = Array.from(transfer.files);
|
|
65
|
+
}
|
|
66
|
+
} catch (err) {
|
|
67
|
+
if (transfer.files && transfer.files.length) {
|
|
68
|
+
files = Array.from(transfer.files);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
return files;
|
|
72
|
+
}
|
|
73
|
+
export default getEventTransfer;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import isHotkey from 'is-hotkey';
|
|
2
|
+
export var isModS = isHotkey('mod+s');
|
|
3
|
+
export var isModZ = isHotkey('mod+z');
|
|
4
|
+
export var isModL = isHotkey('mod+l');
|
|
5
|
+
export var isModF = isHotkey('mod+f');
|
|
6
|
+
export var isModP = isHotkey('mod+p');
|
|
7
|
+
export var isModG = isHotkey('mod+g');
|
|
8
|
+
export var isModDot = isHotkey('mod+.');
|
|
9
|
+
export var isModComma = isHotkey('mod+,');
|
|
10
|
+
export var isModSlash = isHotkey('mod+/');
|
|
11
|
+
export var isModBackslash = isHotkey('mod+\'');
|
|
12
|
+
export var isModSemicolon = isHotkey('mod+;');
|
|
13
|
+
export var isModUp = isHotkey('mod+up');
|
|
14
|
+
export var isModDown = isHotkey('mod+down');
|
|
15
|
+
export var isModLeft = isHotkey('mod+left');
|
|
16
|
+
export var isModRight = isHotkey('mod+right');
|
|
17
|
+
export var isModShiftZ = isHotkey('mod+shift+z');
|
|
18
|
+
export var isModShiftG = isHotkey('mod+shift+g');
|
|
19
|
+
export var isModShiftDot = isHotkey('mod+shift+.');
|
|
20
|
+
export var isModShiftComma = isHotkey('mod+shift+,');
|
|
21
|
+
export var isShiftEnter = isHotkey('shift+enter');
|
|
22
|
+
export var isShiftModEnter = isHotkey('shift+mod+enter');
|
|
23
|
+
export var isOptPageup = isHotkey('opt+pageup');
|
|
24
|
+
export var isOptPagedown = isHotkey('opt+pagedown');
|
|
25
|
+
export var isSpace = isHotkey('space');
|
package/dist/utils/index.js
CHANGED
|
@@ -4,6 +4,8 @@ import LocalStorage from './local-storage-utils';
|
|
|
4
4
|
import context from '../context';
|
|
5
5
|
import { REVISION_FIRST_LOAD_KEY, REVISION_FIRST_LOAD_VALUE } from '../constants';
|
|
6
6
|
import toaster from '../components/toast';
|
|
7
|
+
import getEventTransfer from './get-event-transfer';
|
|
8
|
+
import * as Hotkey from './hotkey';
|
|
7
9
|
export var getDirPath = function getDirPath(path) {
|
|
8
10
|
var dir = path.slice(0, path.lastIndexOf('/'));
|
|
9
11
|
if (dir === '') {
|
|
@@ -83,4 +85,59 @@ export var resetWebTitleAndURL = function resetWebTitleAndURL(t) {
|
|
|
83
85
|
var newURL = "".concat(url.origin).concat(url.pathname).concat(newParamsString ? '/?' + newParamsString : '');
|
|
84
86
|
window.history.replaceState(null, null, newURL);
|
|
85
87
|
};
|
|
86
|
-
export
|
|
88
|
+
export var getSelectionCoords = function getSelectionCoords() {
|
|
89
|
+
var doc = window.document;
|
|
90
|
+
var sel = doc.selection,
|
|
91
|
+
range,
|
|
92
|
+
rects,
|
|
93
|
+
rect;
|
|
94
|
+
var x = 0,
|
|
95
|
+
y = 0;
|
|
96
|
+
if (sel) {
|
|
97
|
+
if (sel.type !== 'Control') {
|
|
98
|
+
range = sel.createRange();
|
|
99
|
+
range.collapse(true);
|
|
100
|
+
x = range.boundingLeft;
|
|
101
|
+
y = range.boundingTop;
|
|
102
|
+
}
|
|
103
|
+
} else if (window.getSelection) {
|
|
104
|
+
sel = window.getSelection();
|
|
105
|
+
if (sel.rangeCount) {
|
|
106
|
+
range = sel.getRangeAt(0).cloneRange();
|
|
107
|
+
if (range.getClientRects) {
|
|
108
|
+
range.collapse(true);
|
|
109
|
+
rects = range.getClientRects();
|
|
110
|
+
if (rects.length > 0) {
|
|
111
|
+
rect = rects[0];
|
|
112
|
+
}
|
|
113
|
+
// When the cursor is at the beginning of the line, rect is undefined
|
|
114
|
+
if (rect) {
|
|
115
|
+
x = rect.left;
|
|
116
|
+
y = rect.top;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
// Fall back to inserting a temporary element
|
|
120
|
+
if (x === 0 && y === 0 || rect === undefined) {
|
|
121
|
+
var span = doc.createElement('span');
|
|
122
|
+
if (span.getClientRects) {
|
|
123
|
+
// Ensure span has dimensions and position by
|
|
124
|
+
// adding a zero-width space character
|
|
125
|
+
span.appendChild(doc.createTextNode("\u200B"));
|
|
126
|
+
range.insertNode(span);
|
|
127
|
+
rect = span.getClientRects()[0];
|
|
128
|
+
x = rect.left;
|
|
129
|
+
y = rect.top;
|
|
130
|
+
var spanParent = span.parentNode;
|
|
131
|
+
spanParent.removeChild(span);
|
|
132
|
+
// Glue any broken text nodes back together
|
|
133
|
+
spanParent.normalize();
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
return {
|
|
139
|
+
x: x,
|
|
140
|
+
y: y
|
|
141
|
+
};
|
|
142
|
+
};
|
|
143
|
+
export { DateUtils, LocalStorage, getEventTransfer, Hotkey };
|
package/package.json
CHANGED
|
@@ -386,5 +386,10 @@
|
|
|
386
386
|
"Delete_revision": "Delete revision",
|
|
387
387
|
"Delete_tip": "Are you sure you want to delete {{content}} ?",
|
|
388
388
|
"Revision_deleted": "Revision deleted",
|
|
389
|
-
"Published": "Zveřejněné"
|
|
389
|
+
"Published": "Zveřejněné",
|
|
390
|
+
"Delete_Successfully": "Delete Successfully",
|
|
391
|
+
"Delete_failed": "Smazání se nezdařilo",
|
|
392
|
+
"Insert_caption": "Insert caption",
|
|
393
|
+
"No_collaborators_available": "No_collaborators_available",
|
|
394
|
+
"Find_a_collaborator": "Find a collaborator"
|
|
390
395
|
}
|
|
@@ -386,5 +386,10 @@
|
|
|
386
386
|
"Delete_revision": "Delete revision",
|
|
387
387
|
"Delete_tip": "Are you sure you want to delete {{content}} ?",
|
|
388
388
|
"Revision_deleted": "Revision deleted",
|
|
389
|
-
"Published": "Veröffentlicht"
|
|
389
|
+
"Published": "Veröffentlicht",
|
|
390
|
+
"Delete_Successfully": "Delete Successfully",
|
|
391
|
+
"Delete_failed": "Löschen fehlgeschlagen",
|
|
392
|
+
"Insert_caption": "Insert caption",
|
|
393
|
+
"No_collaborators_available": "No_collaborators_available",
|
|
394
|
+
"Find_a_collaborator": "Find a collaborator"
|
|
390
395
|
}
|
|
@@ -389,5 +389,7 @@
|
|
|
389
389
|
"Published": "Published",
|
|
390
390
|
"Delete_Successfully": "Delete Successfully",
|
|
391
391
|
"Delete_failed": "Delete failed",
|
|
392
|
-
"Insert_caption": "Insert caption"
|
|
392
|
+
"Insert_caption": "Insert caption",
|
|
393
|
+
"No_collaborators_available": "No_collaborators_available",
|
|
394
|
+
"Find_a_collaborator": "Find a collaborator"
|
|
393
395
|
}
|
|
@@ -386,5 +386,10 @@
|
|
|
386
386
|
"Delete_revision": "Delete revision",
|
|
387
387
|
"Delete_tip": "Are you sure you want to delete {{content}} ?",
|
|
388
388
|
"Revision_deleted": "Revision deleted",
|
|
389
|
-
"Published": "Publicado"
|
|
389
|
+
"Published": "Publicado",
|
|
390
|
+
"Delete_Successfully": "Delete Successfully",
|
|
391
|
+
"Delete_failed": "Eliminar falló",
|
|
392
|
+
"Insert_caption": "Insert caption",
|
|
393
|
+
"No_collaborators_available": "No_collaborators_available",
|
|
394
|
+
"Find_a_collaborator": "Find a collaborator"
|
|
390
395
|
}
|
|
@@ -386,5 +386,10 @@
|
|
|
386
386
|
"Delete_revision": "Delete revision",
|
|
387
387
|
"Delete_tip": "Are you sure you want to delete {{content}} ?",
|
|
388
388
|
"Revision_deleted": "Revision deleted",
|
|
389
|
-
"Published": "Publié"
|
|
389
|
+
"Published": "Publié",
|
|
390
|
+
"Delete_Successfully": "Delete Successfully",
|
|
391
|
+
"Delete_failed": "Échec de la suppression",
|
|
392
|
+
"Insert_caption": "Insert caption",
|
|
393
|
+
"No_collaborators_available": "No_collaborators_available",
|
|
394
|
+
"Find_a_collaborator": "Find a collaborator"
|
|
390
395
|
}
|
|
@@ -386,5 +386,10 @@
|
|
|
386
386
|
"Delete_revision": "Delete revision",
|
|
387
387
|
"Delete_tip": "Are you sure you want to delete {{content}} ?",
|
|
388
388
|
"Revision_deleted": "Revision deleted",
|
|
389
|
-
"Published": "Pubblicato"
|
|
389
|
+
"Published": "Pubblicato",
|
|
390
|
+
"Delete_Successfully": "Delete Successfully",
|
|
391
|
+
"Delete_failed": "Rimozione fallita",
|
|
392
|
+
"Insert_caption": "Insert caption",
|
|
393
|
+
"No_collaborators_available": "No_collaborators_available",
|
|
394
|
+
"Find_a_collaborator": "Find a collaborator"
|
|
390
395
|
}
|
|
@@ -386,5 +386,10 @@
|
|
|
386
386
|
"Delete_revision": "Удалить редакцию",
|
|
387
387
|
"Delete_tip": "Вы уверены, что хотите удалить {{content}} ?",
|
|
388
388
|
"Revision_deleted": "Версия удалена",
|
|
389
|
-
"Published": "Опубликовано"
|
|
389
|
+
"Published": "Опубликовано",
|
|
390
|
+
"Delete_Successfully": "Удалено",
|
|
391
|
+
"Delete_failed": "Не удалось удалить",
|
|
392
|
+
"Insert_caption": "Insert caption",
|
|
393
|
+
"No_collaborators_available": "No_collaborators_available",
|
|
394
|
+
"Find_a_collaborator": "Find a collaborator"
|
|
390
395
|
}
|
|
Binary file
|
|
@@ -14,6 +14,10 @@
|
|
|
14
14
|
/>
|
|
15
15
|
<missing-glyph />
|
|
16
16
|
|
|
17
|
+
<glyph glyph-name="sdoc-add" unicode="" d="M512-128C227.2-128 0 99.2 0 384S227.2 896 512 896s512-227.2 512-512-227.2-512-512-512z m-51.2 563.2H291.2c-19.2 0-35.2-12.8-35.2-35.2v-35.2c0-19.2 12.8-35.2 35.2-35.2h169.6V160c0-19.2 12.8-35.2 35.2-35.2h35.2c19.2 0 35.2 12.8 35.2 35.2v169.6H736c19.2 0 35.2 12.8 35.2 35.2v35.2c0 19.2-12.8 35.2-35.2 35.2h-169.6V604.8c0 19.2-12.8 35.2-35.2 35.2h-35.2c-19.2 0-35.2-12.8-35.2-35.2v-169.6z" horiz-adv-x="1024" />
|
|
18
|
+
|
|
19
|
+
<glyph glyph-name="sdoc-tag" unicode="" d="M521.353986 860.33363l466.979644-466.979644c22.389435-22.389435 35.183398-51.175851 35.183398-83.160758s-12.793963-60.771324-35.183398-83.160759l-323.047562-319.849071c-22.389435-22.389435-51.175851-35.183398-79.962268-35.183398-31.984907 0-60.771324 12.793963-83.160758 35.183398L35.183398 374.163042c-25.587926 25.587926-38.381889 60.771324-31.984907 95.954721l31.984907 291.062655c6.396981 54.374342 47.977361 95.954721 102.351703 102.351703l291.062654 31.984907c31.984907 3.198491 67.168305-9.595472 92.756231-35.183398zM444.590209 767.577399L159.924536 735.592492l-31.984908-281.467182L578.926819-0.060372l316.65058 313.45209L444.590209 767.577399z m12.793963-127.939628c57.572833-57.572833 57.572833-147.130573 0-204.703406-25.587926-25.587926-63.969814-41.580379-102.351703-41.580379-38.381889 0-73.565286 12.793963-102.351703 41.580379-57.572833 57.572833-57.572833 147.130573 0 204.703406 57.572833 57.572833 150.329063 57.572833 204.703406 0z m-102.351703-70.366796c-6.396981 0-15.992454-3.198491-22.389435-9.595472-12.793963-12.793963-12.793963-31.984907 0-44.77887 12.793963-12.793963 31.984907-12.793963 44.77887 0 12.793963 12.793963 12.793963 31.984907 0 44.77887-6.396981 6.396981-12.793963 9.595472-22.389435 9.595472z" horiz-adv-x="1024" />
|
|
20
|
+
|
|
17
21
|
<glyph glyph-name="sdoc-describe" unicode="" d="M992 352H32c-19.2 0-32 12.8-32 32V832c0 19.2 12.8 32 32 32h960c19.2 0 32-12.8 32-32v-448c0-19.2-12.8-32-32-32zM96 448h832V768H96v-320z m-96-224v-96h1024v96H0z m0-224v-96h576v96H0z" horiz-adv-x="1024" />
|
|
18
22
|
|
|
19
23
|
<glyph glyph-name="sdoc-add-comment" unicode="" d="M960 896c35.2 0 64-28.8 64-64v-704c0-35.2-28.8-64-64-64h-224l-224-192-224 192H64c-35.2 0-64 28.8-64 64V832C0 867.2 28.8 896 64 896h896z m-32-96H96v-640h227.2l188.8-160 188.8 160H928V800zM288 528h448v-96H288zM464 704h96v-448h-96z" horiz-adv-x="1024" />
|
|
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=1698637167502'); /* IE9 */
|
|
4
|
+
src: url('./sdoc-editor-font/iconfont.eot?t=1698637167502#iefix') format('embedded-opentype'), /* IE6-IE8 */
|
|
5
|
+
url('./sdoc-editor-font/iconfont.woff2?t=1698637167502') format('woff2'),
|
|
6
|
+
url('./sdoc-editor-font/iconfont.woff?t=1698637167502') format('woff'),
|
|
7
|
+
url('./sdoc-editor-font/iconfont.ttf?t=1698637167502') format('truetype'),
|
|
8
|
+
url('./sdoc-editor-font/iconfont.svg?t=1698637167502#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-add:before {
|
|
20
|
+
content: "\e658";
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.sdoc-tag:before {
|
|
24
|
+
content: "\e659";
|
|
25
|
+
}
|
|
26
|
+
|
|
19
27
|
.sdoc-describe:before {
|
|
20
28
|
content: "\e657";
|
|
21
29
|
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|