@seafile/sdoc-editor 3.0.222 → 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.
@@ -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
- }