@seafile/sdoc-editor 3.0.223 → 3.0.225
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/plugins/table/plugin.js +57 -30
- 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 +3 -4
- 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
|
@@ -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
|
-
}
|
|
@@ -1,172 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard")["default"];
|
|
4
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.renderFileView = void 0;
|
|
9
|
-
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
|
|
10
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
11
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
12
|
-
var _reactI18next = require("react-i18next");
|
|
13
|
-
var _sdocFileView = require("@seafile/sdoc-file-view");
|
|
14
|
-
var _slateReact = require("@seafile/slate-react");
|
|
15
|
-
var _classnames = _interopRequireDefault(require("classnames"));
|
|
16
|
-
var _toast = _interopRequireDefault(require("../../../../components/toast"));
|
|
17
|
-
var _context = _interopRequireDefault(require("../../../../context"));
|
|
18
|
-
var _useScrollContext = require("../../../../hooks/use-scroll-context");
|
|
19
|
-
var _commonUtils = require("../../../../utils/common-utils");
|
|
20
|
-
var _localStorageUtils = _interopRequireDefault(require("../../../../utils/local-storage-utils"));
|
|
21
|
-
var _constants = require("../../../constants");
|
|
22
|
-
var _helpers = require("../helpers");
|
|
23
|
-
require("./index.css");
|
|
24
|
-
var FileViewPlugin = function FileViewPlugin(_ref) {
|
|
25
|
-
var element = _ref.element,
|
|
26
|
-
children = _ref.children,
|
|
27
|
-
attributes = _ref.attributes;
|
|
28
|
-
var data = element.data;
|
|
29
|
-
var scrollRef = (0, _useScrollContext.useScrollContext)();
|
|
30
|
-
var editor = (0, _slateReact.useSlateStatic)();
|
|
31
|
-
var isSelected = (0, _slateReact.useSelected)();
|
|
32
|
-
var readOnly = (0, _slateReact.useReadOnly)();
|
|
33
|
-
var wrapperRef = (0, _react.useRef)(null);
|
|
34
|
-
var resizerRef = (0, _react.useRef)(null);
|
|
35
|
-
var _useState = (0, _react.useState)(false),
|
|
36
|
-
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
37
|
-
isResizing = _useState2[0],
|
|
38
|
-
setIsResizing = _useState2[1];
|
|
39
|
-
var _useState3 = (0, _react.useState)(null),
|
|
40
|
-
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
41
|
-
movingSize = _useState4[0],
|
|
42
|
-
setMovingSize = _useState4[1];
|
|
43
|
-
var _useTranslation = (0, _reactI18next.useTranslation)('sdoc-editor'),
|
|
44
|
-
t = _useTranslation.t;
|
|
45
|
-
var databaseRef = (0, _react.useRef)(null);
|
|
46
|
-
var viewSettings = (0, _react.useMemo)(function () {
|
|
47
|
-
var settings = _context["default"].getFileViewSetting();
|
|
48
|
-
var viewSettings = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, settings), {}, {
|
|
49
|
-
view_data: {
|
|
50
|
-
wiki_id: data.wiki_id,
|
|
51
|
-
file_view_id: data.file_view_id
|
|
52
|
-
// height: data.height,
|
|
53
|
-
// width: data.width,
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
return viewSettings;
|
|
57
|
-
}, [data.file_view_id, data.wiki_id]);
|
|
58
|
-
(0, _react.useEffect)(function () {
|
|
59
|
-
var copyContent = _localStorageUtils["default"].getItem(_constants.RECENT_COPY_CONTENT);
|
|
60
|
-
var wikiId = _context["default"].getSetting('wikiId');
|
|
61
|
-
if (wikiId !== data.wiki_id) return;
|
|
62
|
-
if (!copyContent) return;
|
|
63
|
-
var stringContent = JSON.stringify(copyContent);
|
|
64
|
-
if (stringContent.indexOf(data.wiki_id) > -1 && stringContent.indexOf(data.file_view_id) > -1) {
|
|
65
|
-
_context["default"].duplicateFileView(data.file_view_id).then(function (res) {
|
|
66
|
-
var fileView = res.data.file_view;
|
|
67
|
-
var newData = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, data), {}, {
|
|
68
|
-
file_view_id: fileView.id
|
|
69
|
-
});
|
|
70
|
-
(0, _helpers.updateFileView)(newData, editor, element);
|
|
71
|
-
})["catch"](function (error) {
|
|
72
|
-
var errorMessage = (0, _commonUtils.getErrorMsg)(error);
|
|
73
|
-
_toast["default"].danger(errorMessage);
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
77
|
-
}, []);
|
|
78
|
-
var registerEvent = (0, _react.useCallback)(function (eventList) {
|
|
79
|
-
eventList.forEach(function (element) {
|
|
80
|
-
document.addEventListener(element.eventName, element.event);
|
|
81
|
-
});
|
|
82
|
-
}, []);
|
|
83
|
-
var unregisterEvent = (0, _react.useCallback)(function (eventList) {
|
|
84
|
-
eventList.forEach(function (element) {
|
|
85
|
-
document.removeEventListener(element.eventName, element.event);
|
|
86
|
-
});
|
|
87
|
-
}, []);
|
|
88
|
-
var onMouseMove = (0, _react.useCallback)(function (event) {
|
|
89
|
-
event.preventDefault();
|
|
90
|
-
event.stopPropagation();
|
|
91
|
-
var wrapperElement = wrapperRef.current;
|
|
92
|
-
var _wrapperElement$getBo = wrapperElement.getBoundingClientRect(),
|
|
93
|
-
left = _wrapperElement$getBo.left,
|
|
94
|
-
right = _wrapperElement$getBo.right,
|
|
95
|
-
top = _wrapperElement$getBo.top,
|
|
96
|
-
bottom = _wrapperElement$getBo.bottom;
|
|
97
|
-
var size = (0, _helpers.calculateSize)(event, {
|
|
98
|
-
left: left,
|
|
99
|
-
right: right,
|
|
100
|
-
top: top,
|
|
101
|
-
bottom: bottom
|
|
102
|
-
});
|
|
103
|
-
var style = wrapperElement.style;
|
|
104
|
-
// style.width = size.width + 'px';
|
|
105
|
-
style.height = size.height + 'px';
|
|
106
|
-
var _databaseRef$current$ = databaseRef.current.getFileBaseElement(),
|
|
107
|
-
databaseStyle = _databaseRef$current$.style;
|
|
108
|
-
// databaseStyle.width = (size.width - 4) + 'px';
|
|
109
|
-
databaseStyle.height = size.height - 4 + 'px';
|
|
110
|
-
setMovingSize(size);
|
|
111
|
-
}, []);
|
|
112
|
-
var onResizeEnd = (0, _react.useCallback)(function (event) {
|
|
113
|
-
event.preventDefault();
|
|
114
|
-
event.stopPropagation();
|
|
115
|
-
unregisterEvent([{
|
|
116
|
-
'eventName': 'mousemove',
|
|
117
|
-
'event': onMouseMove
|
|
118
|
-
}, {
|
|
119
|
-
'eventName': 'mouseup',
|
|
120
|
-
'event': onResizeEnd
|
|
121
|
-
}]);
|
|
122
|
-
var style = wrapperRef.current.style;
|
|
123
|
-
var newData = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, element.data), {}, {
|
|
124
|
-
// width: parseFloat(style.width),
|
|
125
|
-
height: parseFloat(style.height)
|
|
126
|
-
});
|
|
127
|
-
(0, _helpers.updateFileView)(newData, editor, element);
|
|
128
|
-
// Reset hover menu position
|
|
129
|
-
setTimeout(function () {
|
|
130
|
-
setIsResizing(false);
|
|
131
|
-
}, 100);
|
|
132
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
133
|
-
}, [editor, element.data, wrapperRef.current]);
|
|
134
|
-
var onResizeStart = (0, _react.useCallback)(function (event) {
|
|
135
|
-
event.preventDefault();
|
|
136
|
-
event.stopPropagation();
|
|
137
|
-
setIsResizing(true);
|
|
138
|
-
registerEvent([{
|
|
139
|
-
'eventName': 'mousemove',
|
|
140
|
-
'event': onMouseMove
|
|
141
|
-
}, {
|
|
142
|
-
'eventName': 'mouseup',
|
|
143
|
-
'event': onResizeEnd
|
|
144
|
-
}]);
|
|
145
|
-
}, [onMouseMove, onResizeEnd, registerEvent]);
|
|
146
|
-
return /*#__PURE__*/_react["default"].createElement("div", Object.assign({
|
|
147
|
-
"data-id": element.id
|
|
148
|
-
}, attributes, {
|
|
149
|
-
className: "sdoc-file-view-container",
|
|
150
|
-
contentEditable: "false",
|
|
151
|
-
suppressContentEditableWarning: true
|
|
152
|
-
}), /*#__PURE__*/_react["default"].createElement("div", {
|
|
153
|
-
className: (0, _classnames["default"])('sdoc-file-view-content', {
|
|
154
|
-
'is-selected': isSelected
|
|
155
|
-
}),
|
|
156
|
-
ref: wrapperRef
|
|
157
|
-
}, /*#__PURE__*/_react["default"].createElement(_sdocFileView.FileView, {
|
|
158
|
-
readOnly: readOnly,
|
|
159
|
-
settings: viewSettings,
|
|
160
|
-
ref: databaseRef,
|
|
161
|
-
scrollRef: scrollRef
|
|
162
|
-
}), !readOnly && isSelected && /*#__PURE__*/_react["default"].createElement("span", {
|
|
163
|
-
className: "file-view-resizer",
|
|
164
|
-
ref: resizerRef,
|
|
165
|
-
onMouseDown: onResizeStart
|
|
166
|
-
}), isResizing && movingSize && /*#__PURE__*/_react["default"].createElement("span", {
|
|
167
|
-
className: "image-size"
|
|
168
|
-
}, /*#__PURE__*/_react["default"].createElement("span", null, t('Height'), ':', parseInt(movingSize.height)))), children);
|
|
169
|
-
};
|
|
170
|
-
var renderFileView = exports.renderFileView = function renderFileView(props) {
|
|
171
|
-
return /*#__PURE__*/_react["default"].createElement(FileViewPlugin, props);
|
|
172
|
-
};
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard")["default"];
|
|
4
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports["default"] = LinkRepoPopover;
|
|
9
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
10
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
-
var _reactstrap = require("reactstrap");
|
|
12
|
-
var _utils = require("../../utils");
|
|
13
|
-
var _linkRepoList = _interopRequireDefault(require("./link-repo-list"));
|
|
14
|
-
function LinkRepoPopover(_ref) {
|
|
15
|
-
var onRepoClick = _ref.onRepoClick;
|
|
16
|
-
var _useState = (0, _react.useState)('right-start'),
|
|
17
|
-
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
18
|
-
placement = _useState2[0],
|
|
19
|
-
setPlacement = _useState2[1];
|
|
20
|
-
(0, _react.useEffect)(function () {
|
|
21
|
-
var element = document.getElementById('sdoc-side-menu-item-file-view');
|
|
22
|
-
if ((0, _utils.isOverflowPortByDirection)(element, 'bottom')) {
|
|
23
|
-
setPlacement('right');
|
|
24
|
-
}
|
|
25
|
-
}, []);
|
|
26
|
-
return /*#__PURE__*/_react["default"].createElement(_reactstrap.UncontrolledPopover, {
|
|
27
|
-
target: "sdoc-side-menu-item-file-view",
|
|
28
|
-
trigger: "hover",
|
|
29
|
-
className: "sdoc-sub-dropdown-menu sdoc-insert-menu-file-view-popover",
|
|
30
|
-
popperClassName: "sdoc-popover-box-shadow",
|
|
31
|
-
placement: placement,
|
|
32
|
-
hideArrow: true,
|
|
33
|
-
fade: false
|
|
34
|
-
}, /*#__PURE__*/_react["default"].createElement(_linkRepoList["default"], {
|
|
35
|
-
onRepoClick: onRepoClick
|
|
36
|
-
}));
|
|
37
|
-
}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
.sdoc-insert-menu-file-view-popover .popover {
|
|
2
|
-
max-width: 300px;
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
.sdoc-dropdown-menu.sdoc-linked-repo-list-wrapper {
|
|
6
|
-
/* position: absolute; */
|
|
7
|
-
left: -8px;
|
|
8
|
-
background-color: #fff;
|
|
9
|
-
max-height: 370px;
|
|
10
|
-
max-width: 298px;
|
|
11
|
-
border-radius: 8px;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
.sdoc-dropdown-menu.sdoc-linked-repo-list-wrapper .sdoc-linked-repo-list-tip {
|
|
15
|
-
height: 24px;
|
|
16
|
-
line-height: 24px;
|
|
17
|
-
padding-left: 8px;
|
|
18
|
-
color: #666;
|
|
19
|
-
font-size: 14px;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
.sdoc-dropdown-menu.sdoc-linked-repo-list-wrapper .sdoc-linked-repo-list-divider {
|
|
23
|
-
border-top: 1px solid #eee;
|
|
24
|
-
margin: 4px 0;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
.sdoc-dropdown-menu.sdoc-linked-repo-list-wrapper .sdoc-linked-repo-list-content-wrapper {
|
|
28
|
-
max-height: 300px;
|
|
29
|
-
overflow-y: auto;
|
|
30
|
-
padding-bottom: 8px;
|
|
31
|
-
border-bottom: 1px solid #e9ecef;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
.sdoc-dropdown-menu.sdoc-linked-repo-list-wrapper .sdoc-dropdown-menu-item .lib-icon {
|
|
35
|
-
margin-right: 10px;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
.sdoc-dropdown-menu.sdoc-linked-repo-list-wrapper .sdoc-dropdown-menu-item .item-text {
|
|
39
|
-
flex: 1;
|
|
40
|
-
min-width: 0;
|
|
41
|
-
overflow: hidden;
|
|
42
|
-
text-overflow: ellipsis;
|
|
43
|
-
white-space: nowrap;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
.sdoc-dropdown-menu.sdoc-linked-repo-list-wrapper .sdoc-linked-repo-list-add-toolbar {
|
|
47
|
-
min-height: 32px;
|
|
48
|
-
padding: 3px 12px;
|
|
49
|
-
margin-top: 8px;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
.sdoc-dropdown-menu.sdoc-linked-repo-list-wrapper .sdoc-linked-repo-list-add-toolbar .sdocfont {
|
|
53
|
-
color: #666;
|
|
54
|
-
margin-right: 10px;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
.sdoc-dropdown-menu.sdoc-linked-repo-list-wrapper .sdoc-linked-repo-list-add-toolbar:hover {
|
|
58
|
-
background-color: rgba(0, 0, 0, 0.04);
|
|
59
|
-
border-radius: 4px;
|
|
60
|
-
cursor: pointer;
|
|
61
|
-
}
|