@seafile/sdoc-editor 3.0.223 → 3.0.224
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 +0 -29
- package/dist/context.js +0 -53
- package/dist/extension/constants/element-type.js +1 -2
- package/dist/extension/constants/index.js +2 -8
- package/dist/extension/constants/menus-config.js +3 -8
- package/dist/extension/plugins/index.js +2 -9
- package/dist/extension/render/custom-element.js +0 -6
- package/dist/extension/toolbar/quick-insert-toolbar/index.js +30 -77
- package/dist/extension/toolbar/side-toolbar/helpers.js +1 -1
- package/dist/extension/toolbar/side-toolbar/index.js +2 -2
- package/dist/extension/toolbar/side-toolbar/insert-block-menu.js +12 -46
- package/package.json +2 -3
- package/dist/extension/plugins/file-view/helpers.js +0 -77
- package/dist/extension/plugins/file-view/index.js +0 -17
- package/dist/extension/plugins/file-view/plugin.js +0 -71
- package/dist/extension/plugins/file-view/rename/index.css +0 -25
- package/dist/extension/plugins/file-view/rename/index.js +0 -113
- package/dist/extension/plugins/file-view/render-elem/index.css +0 -52
- package/dist/extension/plugins/file-view/render-elem/index.js +0 -172
- package/dist/extension/toolbar/linked-repo-popover/index.js +0 -37
- package/dist/extension/toolbar/linked-repo-popover/link-repo-list.css +0 -61
|
@@ -13,10 +13,8 @@ var _reactI18next = require("react-i18next");
|
|
|
13
13
|
var _reactstrap = require("reactstrap");
|
|
14
14
|
var _slate = require("@seafile/slate");
|
|
15
15
|
var _slateReact = require("@seafile/slate-react");
|
|
16
|
-
var _toast = _interopRequireDefault(require("../../../components/toast"));
|
|
17
16
|
var _constants = require("../../../constants");
|
|
18
17
|
var _context = _interopRequireDefault(require("../../../context"));
|
|
19
|
-
var _commonUtils = require("../../../utils/common-utils");
|
|
20
18
|
var _eventBus = _interopRequireDefault(require("../../../utils/event-bus"));
|
|
21
19
|
var _dropdownMenuItem = _interopRequireDefault(require("../../commons/dropdown-menu-item"));
|
|
22
20
|
var _constants2 = require("../../constants");
|
|
@@ -24,14 +22,12 @@ var _helper = require("../../plugins/callout/helper");
|
|
|
24
22
|
var _helpers = require("../../plugins/check-list/helpers");
|
|
25
23
|
var _helpers2 = require("../../plugins/code-block/helpers");
|
|
26
24
|
var _helpers3 = require("../../plugins/file-link/helpers");
|
|
27
|
-
var _helpers4 = require("../../plugins/file-view/helpers");
|
|
28
25
|
var _transforms = require("../../plugins/list/transforms");
|
|
29
26
|
var _helper2 = require("../../plugins/multi-column/helper");
|
|
30
|
-
var
|
|
27
|
+
var _helpers4 = require("../../plugins/table/helpers");
|
|
31
28
|
var _tableSizePopover = _interopRequireDefault(require("../../plugins/table/popover/table-size-popover"));
|
|
32
|
-
var
|
|
33
|
-
var
|
|
34
|
-
var _helpers7 = require("./helpers");
|
|
29
|
+
var _helpers5 = require("../../plugins/video/helpers");
|
|
30
|
+
var _helpers6 = require("./helpers");
|
|
35
31
|
// import { insertToggleHeader } from '../../plugins/toggle-header/helper';
|
|
36
32
|
|
|
37
33
|
var InsertBlockMenu = function InsertBlockMenu(_ref) {
|
|
@@ -44,7 +40,6 @@ var InsertBlockMenu = function InsertBlockMenu(_ref) {
|
|
|
44
40
|
var editor = (0, _slateReact.useSlateStatic)();
|
|
45
41
|
var _useTranslation = (0, _reactI18next.useTranslation)('sdoc-editor'),
|
|
46
42
|
t = _useTranslation.t;
|
|
47
|
-
var enableMetadataManagement = _context["default"].getSetting('enableMetadataManagement');
|
|
48
43
|
var hasLinkedRepos = _context["default"].hasLinkedRepos();
|
|
49
44
|
var onInsertImageToggle = (0, _react.useCallback)(function () {
|
|
50
45
|
var eventBus = _eventBus["default"].getInstance();
|
|
@@ -73,7 +68,7 @@ var InsertBlockMenu = function InsertBlockMenu(_ref) {
|
|
|
73
68
|
}, [editor, insertPosition]);
|
|
74
69
|
var addVideoLink = (0, _react.useCallback)(function () {
|
|
75
70
|
if (insertPosition === _constants2.INSERT_POSITION.AFTER) {
|
|
76
|
-
(0,
|
|
71
|
+
(0, _helpers6.insertElement)(editor, _constants2.PARAGRAPH, insertPosition);
|
|
77
72
|
}
|
|
78
73
|
var eventBus = _eventBus["default"].getInstance();
|
|
79
74
|
eventBus.dispatch(_constants.INTERNAL_EVENT.INSERT_ELEMENT, {
|
|
@@ -85,12 +80,12 @@ var InsertBlockMenu = function InsertBlockMenu(_ref) {
|
|
|
85
80
|
}, [insertPosition, editor]);
|
|
86
81
|
var openSelectVideoFileDialog = (0, _react.useCallback)(function () {
|
|
87
82
|
if (insertPosition === _constants2.INSERT_POSITION.AFTER) {
|
|
88
|
-
(0,
|
|
83
|
+
(0, _helpers6.insertElement)(editor, _constants2.PARAGRAPH, insertPosition);
|
|
89
84
|
}
|
|
90
85
|
var eventBus = _eventBus["default"].getInstance();
|
|
91
86
|
eventBus.dispatch(_constants.INTERNAL_EVENT.INSERT_ELEMENT, {
|
|
92
87
|
type: _constants2.ELEMENT_TYPE.VIDEO,
|
|
93
|
-
insertVideo:
|
|
88
|
+
insertVideo: _helpers5.insertVideo,
|
|
94
89
|
insertPosition: insertPosition,
|
|
95
90
|
slateNode: slateNode
|
|
96
91
|
});
|
|
@@ -98,7 +93,7 @@ var InsertBlockMenu = function InsertBlockMenu(_ref) {
|
|
|
98
93
|
}, [insertPosition, slateNode]);
|
|
99
94
|
var createTable = (0, _react.useCallback)(function (size) {
|
|
100
95
|
var newInsertPosition = slateNode.type === _constants2.ELEMENT_TYPE.LIST_ITEM ? _constants2.INSERT_POSITION.AFTER : insertPosition;
|
|
101
|
-
(0,
|
|
96
|
+
(0, _helpers4.insertTable)(editor, size, editor.selection, newInsertPosition);
|
|
102
97
|
|
|
103
98
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
104
99
|
}, [editor, insertPosition, slateNode]);
|
|
@@ -142,14 +137,14 @@ var InsertBlockMenu = function InsertBlockMenu(_ref) {
|
|
|
142
137
|
// insertToggleHeader(editor, type, insertPosition);
|
|
143
138
|
// return;
|
|
144
139
|
// }
|
|
145
|
-
(0,
|
|
140
|
+
(0, _helpers6.insertElement)(editor, type, insertPosition);
|
|
146
141
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
147
142
|
}, [editor, insertPosition, slateNode]);
|
|
148
143
|
var onInsertCallout = (0, _react.useCallback)(function (type) {
|
|
149
144
|
if (insertPosition === _constants2.INSERT_POSITION.CURRENT) {
|
|
150
145
|
(0, _helper.wrapCallout)(editor);
|
|
151
146
|
} else if (insertPosition === _constants2.INSERT_POSITION.AFTER) {
|
|
152
|
-
(0,
|
|
147
|
+
(0, _helpers6.insertElement)(editor, type, insertPosition);
|
|
153
148
|
(0, _helper.wrapCallout)(editor);
|
|
154
149
|
}
|
|
155
150
|
}, [editor, insertPosition]);
|
|
@@ -157,29 +152,9 @@ var InsertBlockMenu = function InsertBlockMenu(_ref) {
|
|
|
157
152
|
var newInsertPosition = slateNode.type === _constants2.ELEMENT_TYPE.LIST_ITEM ? _constants2.INSERT_POSITION.AFTER : insertPosition;
|
|
158
153
|
(0, _helper2.insertMultiColumn)(editor, editor.selection, newInsertPosition, type);
|
|
159
154
|
}, [editor, insertPosition, slateNode]);
|
|
160
|
-
var onRepoClick = (0, _react.useCallback)(function (item) {
|
|
161
|
-
var wikiId = _context["default"].getSetting('wikiId');
|
|
162
|
-
var data = {
|
|
163
|
-
wiki_id: wikiId,
|
|
164
|
-
name: item.repo_name,
|
|
165
|
-
linked_repo_id: item.repo_id,
|
|
166
|
-
type: 'table'
|
|
167
|
-
};
|
|
168
|
-
_context["default"].insertFileView(data).then(function (res) {
|
|
169
|
-
var fileView = res.data;
|
|
170
|
-
var viewData = {
|
|
171
|
-
wiki_id: wikiId,
|
|
172
|
-
file_view_id: fileView.id
|
|
173
|
-
};
|
|
174
|
-
(0, _helpers4.insertFileView)(viewData, editor, insertPosition, slateNode);
|
|
175
|
-
})["catch"](function (error) {
|
|
176
|
-
var errorMessage = (0, _commonUtils.getErrorMsg)(error);
|
|
177
|
-
_toast["default"].danger(errorMessage);
|
|
178
|
-
});
|
|
179
|
-
}, [editor, insertPosition, slateNode]);
|
|
180
155
|
var openSelectFileDialog = (0, _react.useCallback)(function () {
|
|
181
156
|
if (insertPosition === _constants2.INSERT_POSITION.AFTER) {
|
|
182
|
-
(0,
|
|
157
|
+
(0, _helpers6.insertElement)(editor, _constants2.PARAGRAPH, insertPosition);
|
|
183
158
|
}
|
|
184
159
|
var eventBus = _eventBus["default"].getInstance();
|
|
185
160
|
eventBus.dispatch(_constants.INTERNAL_EVENT.INSERT_ELEMENT, {
|
|
@@ -214,23 +189,14 @@ var InsertBlockMenu = function InsertBlockMenu(_ref) {
|
|
|
214
189
|
isHidden: !insertMenuSearchMap[_constants2.ELEMENT_TYPE.CHECK_LIST_ITEM],
|
|
215
190
|
menuConfig: (0, _objectSpread2["default"])({}, _constants2.SIDE_INSERT_MENUS_CONFIG[_constants2.ELEMENT_TYPE.CHECK_LIST_ITEM]),
|
|
216
191
|
onClick: onInsertCheckList
|
|
217
|
-
}),
|
|
218
|
-
isHidden: !insertMenuSearchMap[_constants2.ELEMENT_TYPE.FILE_VIEW],
|
|
219
|
-
key: "sdoc-insert-menu-file-view",
|
|
220
|
-
menuConfig: (0, _objectSpread2["default"])({}, _constants2.SIDE_INSERT_MENUS_CONFIG[_constants2.ELEMENT_TYPE.FILE_VIEW]),
|
|
221
|
-
className: "pr-2"
|
|
222
|
-
}, /*#__PURE__*/_react["default"].createElement("i", {
|
|
223
|
-
className: "sdocfont sdoc-arrow-right sdoc-dropdown-item-right-icon"
|
|
224
|
-
}), /*#__PURE__*/_react["default"].createElement(_linkedRepoPopover["default"], {
|
|
225
|
-
onRepoClick: onRepoClick
|
|
226
|
-
})), /*#__PURE__*/_react["default"].createElement(_dropdownMenuItem["default"], {
|
|
192
|
+
}), /*#__PURE__*/_react["default"].createElement(_dropdownMenuItem["default"], {
|
|
227
193
|
isHidden: !insertMenuSearchMap[_constants2.ELEMENT_TYPE.IMAGE],
|
|
228
194
|
menuConfig: (0, _objectSpread2["default"])({}, _constants2.SIDE_INSERT_MENUS_CONFIG[_constants2.ELEMENT_TYPE.IMAGE]),
|
|
229
195
|
onClick: onInsertImageToggle
|
|
230
196
|
}), editor.editorType !== _constants.DOCUMENT_PLUGIN_EDITOR && /*#__PURE__*/_react["default"].createElement(_dropdownMenuItem["default"], {
|
|
231
197
|
isHidden: !insertMenuSearchMap[_constants2.ELEMENT_TYPE.VIDEO],
|
|
232
198
|
key: "sdoc-insert-menu-video",
|
|
233
|
-
disabled: (0,
|
|
199
|
+
disabled: (0, _helpers6.isInMultiColumnNode)(editor, slateNode),
|
|
234
200
|
menuConfig: (0, _objectSpread2["default"])({}, _constants2.SIDE_INSERT_MENUS_CONFIG[_constants2.ELEMENT_TYPE.VIDEO]),
|
|
235
201
|
className: "pr-2"
|
|
236
202
|
}, /*#__PURE__*/_react["default"].createElement("i", {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@seafile/sdoc-editor",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.224",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"test": "jest",
|
|
@@ -20,7 +20,6 @@
|
|
|
20
20
|
"@seafile/comment-editor": "1.0.31",
|
|
21
21
|
"@seafile/print-js": "1.6.6",
|
|
22
22
|
"@seafile/react-image-lightbox": "^5.0.6",
|
|
23
|
-
"@seafile/sdoc-file-view": "0.0.65",
|
|
24
23
|
"@seafile/slate": "0.91.8",
|
|
25
24
|
"@seafile/slate-history": "0.86.2",
|
|
26
25
|
"@seafile/slate-hyperscript": "0.81.7",
|
|
@@ -72,5 +71,5 @@
|
|
|
72
71
|
"publishConfig": {
|
|
73
72
|
"access": "public"
|
|
74
73
|
},
|
|
75
|
-
"gitHead": "
|
|
74
|
+
"gitHead": "923e8c34d37ea42d33014cfbd5e785ecc9626526"
|
|
76
75
|
}
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.updateFileView = exports.insertFileView = exports.getFileUrl = exports.genFileViewNode = exports.calculateSize = void 0;
|
|
8
|
-
var _slate = require("@seafile/slate");
|
|
9
|
-
var _slateReact = require("@seafile/slate-react");
|
|
10
|
-
var _slugid = _interopRequireDefault(require("slugid"));
|
|
11
|
-
var _context = _interopRequireDefault(require("../../../context"));
|
|
12
|
-
var _constants = require("../../constants");
|
|
13
|
-
var _core = require("../../core");
|
|
14
|
-
var getFileUrl = exports.getFileUrl = function getFileUrl(element) {
|
|
15
|
-
var serviceUrl = _context["default"].getSetting('serviceUrl');
|
|
16
|
-
var data = element.data;
|
|
17
|
-
var wiki_id = data.wiki_id,
|
|
18
|
-
view_id = data.view_id;
|
|
19
|
-
return "".concat(serviceUrl, "/wiki/").concat(wiki_id, "/repo-views/").concat(view_id, "/");
|
|
20
|
-
};
|
|
21
|
-
var genFileViewNode = exports.genFileViewNode = function genFileViewNode(data) {
|
|
22
|
-
return {
|
|
23
|
-
id: _slugid["default"].nice(),
|
|
24
|
-
type: _constants.FILE_VIEW,
|
|
25
|
-
data: data,
|
|
26
|
-
children: [{
|
|
27
|
-
id: _slugid["default"].nice(),
|
|
28
|
-
text: ''
|
|
29
|
-
}]
|
|
30
|
-
};
|
|
31
|
-
};
|
|
32
|
-
var insertFileView = exports.insertFileView = function insertFileView(data, editor, position, slateNode) {
|
|
33
|
-
if (!data) return;
|
|
34
|
-
if (!data.wiki_id || !data.file_view_id) return;
|
|
35
|
-
var fileViewNode = genFileViewNode(data);
|
|
36
|
-
if (position === _constants.INSERT_POSITION.AFTER) {
|
|
37
|
-
var path = _slate.Editor.path(editor, editor.selection);
|
|
38
|
-
_slate.Transforms.insertNodes(editor, fileViewNode, {
|
|
39
|
-
at: [path[0] + 1]
|
|
40
|
-
});
|
|
41
|
-
var nextPath = _slate.Path.next([path[0] + 1]);
|
|
42
|
-
if (!(0, _core.getNode)(editor, nextPath)) {
|
|
43
|
-
_slate.Transforms.insertNodes(editor, (0, _core.generateDefaultParagraph)(), {
|
|
44
|
-
at: nextPath
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
var endOfFirstNode = _slate.Editor.start(editor, nextPath);
|
|
48
|
-
var range = {
|
|
49
|
-
anchor: endOfFirstNode,
|
|
50
|
-
focus: endOfFirstNode
|
|
51
|
-
};
|
|
52
|
-
(0, _core.focusEditor)(editor, range);
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
_slate.Transforms.insertNodes(editor, fileViewNode);
|
|
56
|
-
return;
|
|
57
|
-
};
|
|
58
|
-
var updateFileView = exports.updateFileView = function updateFileView(newData, editor, element) {
|
|
59
|
-
var nodePath = _slateReact.ReactEditor.findPath(editor, element);
|
|
60
|
-
_slate.Transforms.setNodes(editor, {
|
|
61
|
-
data: newData
|
|
62
|
-
}, {
|
|
63
|
-
at: nodePath
|
|
64
|
-
});
|
|
65
|
-
};
|
|
66
|
-
var calculateSize = exports.calculateSize = function calculateSize(e, position) {
|
|
67
|
-
var clientX = e.clientX,
|
|
68
|
-
clientY = e.clientY;
|
|
69
|
-
var left = position.left,
|
|
70
|
-
top = position.top;
|
|
71
|
-
var rightWidth = clientX - left;
|
|
72
|
-
var bottomHeight = clientY - top;
|
|
73
|
-
return {
|
|
74
|
-
width: rightWidth < 300 ? 300 : rightWidth,
|
|
75
|
-
height: bottomHeight < 200 ? 200 : bottomHeight
|
|
76
|
-
};
|
|
77
|
-
};
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports["default"] = void 0;
|
|
8
|
-
var _constants = require("../../constants");
|
|
9
|
-
var _plugin = _interopRequireDefault(require("./plugin"));
|
|
10
|
-
var _renderElem = require("./render-elem");
|
|
11
|
-
var FileViewPlugin = {
|
|
12
|
-
type: _constants.FILE_VIEW,
|
|
13
|
-
nodeType: 'element',
|
|
14
|
-
editorPlugin: _plugin["default"],
|
|
15
|
-
renderElements: [_renderElem.renderFileView]
|
|
16
|
-
};
|
|
17
|
-
var _default = exports["default"] = FileViewPlugin;
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports["default"] = void 0;
|
|
8
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
9
|
-
var _slate = require("@seafile/slate");
|
|
10
|
-
var _isHotkey = _interopRequireDefault(require("is-hotkey"));
|
|
11
|
-
var _constants = require("../../constants");
|
|
12
|
-
var _core = require("../../core");
|
|
13
|
-
var _helpers = require("../../toolbar/side-toolbar/helpers");
|
|
14
|
-
var withFileView = function withFileView(editor) {
|
|
15
|
-
var isVoid = editor.isVoid,
|
|
16
|
-
onHotKeyDown = editor.onHotKeyDown,
|
|
17
|
-
normalizeNode = editor.normalizeNode;
|
|
18
|
-
var newEditor = editor;
|
|
19
|
-
|
|
20
|
-
// Make video as void node
|
|
21
|
-
newEditor.isVoid = function (elem) {
|
|
22
|
-
var type = elem.type;
|
|
23
|
-
if (type === _constants.FILE_VIEW) {
|
|
24
|
-
return true;
|
|
25
|
-
}
|
|
26
|
-
return isVoid(elem);
|
|
27
|
-
};
|
|
28
|
-
newEditor.onHotKeyDown = function (event) {
|
|
29
|
-
var _ref = (0, _core.getSelectedNodeEntryByType)(editor, _constants.FILE_VIEW) || [],
|
|
30
|
-
_ref2 = (0, _slicedToArray2["default"])(_ref, 2),
|
|
31
|
-
fileNode = _ref2[0],
|
|
32
|
-
path = _ref2[1];
|
|
33
|
-
if (path) {
|
|
34
|
-
// Insert empty paragraph node after video when clicking 'enter' on selected video
|
|
35
|
-
if ((0, _isHotkey["default"])('enter', event)) {
|
|
36
|
-
event.preventDefault();
|
|
37
|
-
var emptyParagraph = (0, _core.generateEmptyElement)(_constants.PARAGRAPH);
|
|
38
|
-
_slate.Transforms.insertNodes(editor, emptyParagraph, {
|
|
39
|
-
at: _slate.Path.next(path)
|
|
40
|
-
});
|
|
41
|
-
var focusPoint = _slate.Editor.end(editor, _slate.Path.next(path));
|
|
42
|
-
(0, _core.focusEditor)(newEditor, focusPoint);
|
|
43
|
-
}
|
|
44
|
-
if ((0, _isHotkey["default"])('mod+c', event)) {
|
|
45
|
-
(0, _helpers.onCopyNode)(editor, fileNode);
|
|
46
|
-
}
|
|
47
|
-
return true;
|
|
48
|
-
}
|
|
49
|
-
return onHotKeyDown && onHotKeyDown(event);
|
|
50
|
-
};
|
|
51
|
-
newEditor.normalizeNode = function (_ref3) {
|
|
52
|
-
var _ref4 = (0, _slicedToArray2["default"])(_ref3, 2),
|
|
53
|
-
node = _ref4[0],
|
|
54
|
-
path = _ref4[1];
|
|
55
|
-
var type = (0, _core.getNodeType)(node);
|
|
56
|
-
if (type !== _constants.ELEMENT_TYPE.FILE_VIEW) {
|
|
57
|
-
return normalizeNode([node, path]);
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
// insert empty node,continue editor
|
|
61
|
-
var isLast = (0, _core.isLastNode)(newEditor, node);
|
|
62
|
-
if (isLast) {
|
|
63
|
-
var p = (0, _core.generateEmptyElement)(_constants.PARAGRAPH);
|
|
64
|
-
_slate.Transforms.insertNodes(newEditor, p, {
|
|
65
|
-
at: [path[0] + 1]
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
return newEditor;
|
|
70
|
-
};
|
|
71
|
-
var _default = exports["default"] = withFileView;
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
.sdoc-file-view-rename {
|
|
2
|
-
max-width: 100%;
|
|
3
|
-
width: 100%;
|
|
4
|
-
white-space: nowrap;
|
|
5
|
-
word-break: break-word;
|
|
6
|
-
caret-color: var(--c-texPri);
|
|
7
|
-
min-width: 0px;
|
|
8
|
-
flex: 1 1 0%;
|
|
9
|
-
overflow: auto;
|
|
10
|
-
font-weight: 700;
|
|
11
|
-
font-size: 22px;
|
|
12
|
-
margin-inline-end: 4px;
|
|
13
|
-
scrollbar-width: none;
|
|
14
|
-
height: 48px;
|
|
15
|
-
line-height: 48px;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
.sdoc-file-view-rename input {
|
|
19
|
-
border-width: 0;
|
|
20
|
-
padding: 0;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
.sdoc-file-view-rename input:focus-visible {
|
|
24
|
-
outline: none;
|
|
25
|
-
}
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports["default"] = void 0;
|
|
8
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/classCallCheck"));
|
|
9
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/createClass"));
|
|
10
|
-
var _callSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/callSuper"));
|
|
11
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/inherits"));
|
|
12
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
|
|
13
|
-
var _react = _interopRequireDefault(require("react"));
|
|
14
|
-
var _reactI18next = require("react-i18next");
|
|
15
|
-
var _toast = _interopRequireDefault(require("../../../../components/toast"));
|
|
16
|
-
var _keyCodes = _interopRequireDefault(require("../../../../constants/key-codes"));
|
|
17
|
-
require("./index.css");
|
|
18
|
-
var Rename = /*#__PURE__*/function (_React$Component) {
|
|
19
|
-
function Rename(props) {
|
|
20
|
-
var _this;
|
|
21
|
-
(0, _classCallCheck2["default"])(this, Rename);
|
|
22
|
-
_this = (0, _callSuper2["default"])(this, Rename, [props]);
|
|
23
|
-
(0, _defineProperty2["default"])(_this, "registerEventHandle", function () {
|
|
24
|
-
document.addEventListener('click', _this.onOutClick);
|
|
25
|
-
});
|
|
26
|
-
(0, _defineProperty2["default"])(_this, "onOutClick", function (event) {
|
|
27
|
-
if (!_this.inputRef.current.contains(event.target)) {
|
|
28
|
-
_this.onRenameConfirm();
|
|
29
|
-
document.removeEventListener('click', _this.onOutClick);
|
|
30
|
-
}
|
|
31
|
-
});
|
|
32
|
-
(0, _defineProperty2["default"])(_this, "onClick", function (e) {
|
|
33
|
-
e.stopPropagation();
|
|
34
|
-
e.nativeEvent.stopImmediatePropagation();
|
|
35
|
-
_this.registerEventHandle();
|
|
36
|
-
});
|
|
37
|
-
(0, _defineProperty2["default"])(_this, "onChange", function (e) {
|
|
38
|
-
_this.setState({
|
|
39
|
-
name: e.target.value
|
|
40
|
-
});
|
|
41
|
-
});
|
|
42
|
-
(0, _defineProperty2["default"])(_this, "onKeyDown", function (e) {
|
|
43
|
-
if (e.keyCode === _keyCodes["default"].Enter) {
|
|
44
|
-
_this.onRenameConfirm(e);
|
|
45
|
-
} else if (e.keyCode === _keyCodes["default"].Esc) {
|
|
46
|
-
_this.onRenameCancel(e);
|
|
47
|
-
}
|
|
48
|
-
e.nativeEvent.stopImmediatePropagation();
|
|
49
|
-
});
|
|
50
|
-
(0, _defineProperty2["default"])(_this, "onRenameConfirm", function (e) {
|
|
51
|
-
e && e.nativeEvent.stopImmediatePropagation();
|
|
52
|
-
var newName = _this.state.name.trim();
|
|
53
|
-
if (newName === _this.props.name) {
|
|
54
|
-
_this.props.onRenameCancel();
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
57
|
-
var _this$validateInput = _this.validateInput(),
|
|
58
|
-
isValid = _this$validateInput.isValid,
|
|
59
|
-
errMessage = _this$validateInput.errMessage;
|
|
60
|
-
if (!isValid) {
|
|
61
|
-
_toast["default"].danger(errMessage);
|
|
62
|
-
_this.props.onRenameCancel();
|
|
63
|
-
} else {
|
|
64
|
-
_this.props.onRenameConfirm(newName);
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
|
-
(0, _defineProperty2["default"])(_this, "onRenameCancel", function (e) {
|
|
68
|
-
document.removeEventListener('click', _this.onOutClick);
|
|
69
|
-
e.nativeEvent.stopImmediatePropagation();
|
|
70
|
-
_this.props.onRenameCancel();
|
|
71
|
-
});
|
|
72
|
-
(0, _defineProperty2["default"])(_this, "validateInput", function () {
|
|
73
|
-
var t = _this.props.t;
|
|
74
|
-
var newName = _this.state.name.trim();
|
|
75
|
-
var isValid = true;
|
|
76
|
-
var errMessage = '';
|
|
77
|
-
if (newName.indexOf('/') > -1) {
|
|
78
|
-
isValid = false;
|
|
79
|
-
// eslint-disable-next-line no-useless-concat
|
|
80
|
-
errMessage = t('Name should not include ' + '\'/\'' + '.');
|
|
81
|
-
return {
|
|
82
|
-
isValid: isValid,
|
|
83
|
-
errMessage: errMessage
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
return {
|
|
87
|
-
isValid: isValid,
|
|
88
|
-
errMessage: errMessage
|
|
89
|
-
};
|
|
90
|
-
});
|
|
91
|
-
_this.state = {
|
|
92
|
-
name: props.name
|
|
93
|
-
};
|
|
94
|
-
_this.inputRef = /*#__PURE__*/_react["default"].createRef();
|
|
95
|
-
return _this;
|
|
96
|
-
}
|
|
97
|
-
(0, _inherits2["default"])(Rename, _React$Component);
|
|
98
|
-
return (0, _createClass2["default"])(Rename, [{
|
|
99
|
-
key: "render",
|
|
100
|
-
value: function render() {
|
|
101
|
-
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
102
|
-
className: "sdoc-file-view-rename"
|
|
103
|
-
}, /*#__PURE__*/_react["default"].createElement("input", {
|
|
104
|
-
ref: this.inputRef,
|
|
105
|
-
value: this.state.name,
|
|
106
|
-
onChange: this.onChange,
|
|
107
|
-
onKeyDown: this.onKeyDown,
|
|
108
|
-
onClick: this.onClick
|
|
109
|
-
}));
|
|
110
|
-
}
|
|
111
|
-
}]);
|
|
112
|
-
}(_react["default"].Component);
|
|
113
|
-
var _default = exports["default"] = (0, _reactI18next.withTranslation)('sdoc-editor')(Rename);
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
.sdoc-file-view-container {
|
|
2
|
-
position: relative;
|
|
3
|
-
display: flex;
|
|
4
|
-
flex-direction: column;
|
|
5
|
-
resize: vertical;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
.sdoc-file-view-container .sdoc-file-view-title {
|
|
9
|
-
position: absolute;
|
|
10
|
-
height: 48px;
|
|
11
|
-
line-height: 48px;
|
|
12
|
-
top: 2px;
|
|
13
|
-
left: 0px;
|
|
14
|
-
z-index: 10;
|
|
15
|
-
margin-left: 16px;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
.sdoc-file-view-container .sdoc-file-view-content {
|
|
19
|
-
position: relative;
|
|
20
|
-
border: 2px solid transparent;
|
|
21
|
-
border-radius: 4px;
|
|
22
|
-
resize: vertical;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
.sdoc-file-view-container .sdoc-file-view-content.is-selected {
|
|
26
|
-
border: 2px solid rgb(0, 123, 255);
|
|
27
|
-
border-radius: 4px;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
/* .sdoc-file-view-container .sdoc-file-view-content {
|
|
31
|
-
height: 400px;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
.sdoc-file-view-container .sdoc-file-view-content .sea-metadata {
|
|
35
|
-
height: 396px;
|
|
36
|
-
} */
|
|
37
|
-
|
|
38
|
-
.sdoc-file-view-container .sdoc-file-view-content .sea-metadata .sea-metadata-table-main-container {
|
|
39
|
-
border: 1px solid #eee;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
.sdoc-file-view-container .sdoc-file-view-content .file-view-resizer {
|
|
43
|
-
width: 10px;
|
|
44
|
-
height: 10px;
|
|
45
|
-
position: absolute;
|
|
46
|
-
right: -5px;
|
|
47
|
-
bottom: -5px;
|
|
48
|
-
background-color: #007bff;
|
|
49
|
-
border: 1px solid #fff;
|
|
50
|
-
cursor: se-resize;
|
|
51
|
-
display: none;
|
|
52
|
-
}
|