@seafile/sdoc-editor 2.0.60 → 2.0.62-test-0.0.1
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/extension/commons/menu/menu-item.js +2 -0
- package/dist/basic-sdk/extension/plugins/link/hover/index.js +1 -1
- package/dist/basic-sdk/extension/plugins/search-replace/menu/index.js +2 -2
- package/dist/basic-sdk/extension/plugins/search-replace/popover/index.js +1 -1
- package/dist/basic-sdk/extension/plugins/seatable-column/model.js +2 -1
- package/dist/basic-sdk/extension/plugins/seatable-column/render-elem.css +36 -0
- package/dist/basic-sdk/extension/plugins/seatable-column/render-elem.js +76 -12
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/row-card-header.js +1 -1
- package/dist/basic-sdk/extension/plugins/seatable-tables/render-element/index.css +1 -1
- package/dist/basic-sdk/extension/plugins/seatable-tables/seatable-settings/dtable-search-input/index.js +1 -1
- package/dist/basic-sdk/extension/plugins/seatable-tables/seatable-settings/filter-setter/filter-popover-widgets/filter-item.js +1 -1
- package/dist/basic-sdk/extension/plugins/table/popover/table-size-popover/index.js +1 -1
- package/dist/basic-sdk/extension/toolbar/context-toolbar/index.js +1 -1
- package/dist/components/doc-operations/collaborators-operation/index.js +10 -2
- package/dist/components/doc-operations/more-operations.js +6 -1
- package/dist/components/doc-operations/plugins-operations.js +16 -1
- package/dist/components/doc-operations/presentation-operation/index.js +11 -1
- package/dist/components/doc-operations/revision-operations/more-revision-operations/index.js +6 -1
- package/dist/components/doc-operations/share-operation/index.js +11 -1
- package/dist/components/toast/toaster.js +1 -1
- package/package.json +3 -3
- package/public/locales/en/sdoc-editor.json +5 -1
- package/public/locales/zh_CN/sdoc-editor.json +5 -1
|
@@ -39,6 +39,8 @@ const MenuItem = _ref => {
|
|
|
39
39
|
'rich-icon-btn-disabled': isRichEditor && disabled,
|
|
40
40
|
'rich-icon-btn-hover': isRichEditor && !disabled
|
|
41
41
|
});
|
|
42
|
+
// console.log(4, id)
|
|
43
|
+
|
|
42
44
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("button", {
|
|
43
45
|
id: id,
|
|
44
46
|
type: "button",
|
|
@@ -32,7 +32,7 @@ const LinkHover = _ref => {
|
|
|
32
32
|
location.href = element.href;
|
|
33
33
|
}
|
|
34
34
|
}, [element.href]);
|
|
35
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/(0, _reactDom.createPortal)(
|
|
35
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/(0, _reactDom.createPortal)(/*#__PURE__*/_react.default.createElement("div", {
|
|
36
36
|
id: "link-op-menu",
|
|
37
37
|
className: "link-op-menu",
|
|
38
38
|
style: menuPosition
|
|
@@ -54,7 +54,7 @@ const SearchReplaceMenu = _ref => {
|
|
|
54
54
|
const canvasList = [];
|
|
55
55
|
for (let index = 0; index < generateCount; index++) {
|
|
56
56
|
const top = index * 5000;
|
|
57
|
-
canvasList.push(
|
|
57
|
+
canvasList.push(/*#__PURE__*/_react.default.createElement("canvas", {
|
|
58
58
|
key: 'sdoc-find-search-' + index,
|
|
59
59
|
id: `sdoc-find-search-${index}`,
|
|
60
60
|
className: "sdoc-find-search-highlight-canvas",
|
|
@@ -79,7 +79,7 @@ const SearchReplaceMenu = _ref => {
|
|
|
79
79
|
readonly: readonly,
|
|
80
80
|
isOpen: isOpenPopover,
|
|
81
81
|
closePopover: onMouseDown
|
|
82
|
-
}), isOpenPopover && /*#__PURE__*/(0, _reactDom.createPortal)(
|
|
82
|
+
}), isOpenPopover && /*#__PURE__*/(0, _reactDom.createPortal)(/*#__PURE__*/_react.default.createElement("div", {
|
|
83
83
|
style: {
|
|
84
84
|
height: articleContainerSize.clientHeight
|
|
85
85
|
},
|
|
@@ -168,7 +168,7 @@ const SearchReplacePopover = _ref => {
|
|
|
168
168
|
if ((0, _isHotkey.default)('enter', e)) handleNext();
|
|
169
169
|
if ((0, _isHotkey.default)('enter+shift', e)) handleLast();
|
|
170
170
|
};
|
|
171
|
-
return /*#__PURE__*/(0, _reactDom.createPortal)(
|
|
171
|
+
return /*#__PURE__*/(0, _reactDom.createPortal)(/*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
172
172
|
className: "sdoc-search-replace-popover-container",
|
|
173
173
|
onMouseDown: handleStartMove,
|
|
174
174
|
onMouseMove: handleMouseMove,
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
.sdoc-seatable-column-label-container {
|
|
2
|
+
position: absolute;
|
|
3
|
+
height: 42px;
|
|
4
|
+
z-index: 101;
|
|
5
|
+
width: fit-content;
|
|
6
|
+
max-width: 250px;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.sdoc-seatable-column-label-container .label-container {
|
|
10
|
+
height: 36px;
|
|
11
|
+
width: 100%;
|
|
12
|
+
padding: 7px 8px;
|
|
13
|
+
background-color: #fff;
|
|
14
|
+
display: flex;
|
|
15
|
+
justify-content: space-around;
|
|
16
|
+
align-items: center;
|
|
17
|
+
border-radius: 3px;
|
|
18
|
+
box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
|
|
19
|
+
border: 1px solid #e8e8e8;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.sdoc-seatable-column-label-container .label-container .control-icon {
|
|
23
|
+
cursor: default;
|
|
24
|
+
margin-right: 5px;
|
|
25
|
+
flex-shrink: 0;
|
|
26
|
+
font-size: 12px;
|
|
27
|
+
color: #444;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.sdoc-seatable-column-label-container .label-container .control-label {
|
|
31
|
+
white-space: nowrap;
|
|
32
|
+
overflow: hidden;
|
|
33
|
+
text-overflow: ellipsis;
|
|
34
|
+
flex-grow: 1;
|
|
35
|
+
font-size: 14px;
|
|
36
|
+
}
|
|
@@ -9,6 +9,10 @@ exports.default = void 0;
|
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _slateReact = require("@seafile/slate-react");
|
|
11
11
|
var _mdToHtml = _interopRequireDefault(require("../../../../slate-convert/md-to-html"));
|
|
12
|
+
var _useScrollContext = require("../../../hooks/use-scroll-context");
|
|
13
|
+
var _utils = require("../../utils");
|
|
14
|
+
var _commons = require("../../commons");
|
|
15
|
+
require("./render-elem.css");
|
|
12
16
|
const Column = _ref => {
|
|
13
17
|
let {
|
|
14
18
|
props,
|
|
@@ -20,7 +24,13 @@ const Column = _ref => {
|
|
|
20
24
|
children
|
|
21
25
|
} = props;
|
|
22
26
|
const isReadOnly = (0, _slateReact.useReadOnly)();
|
|
23
|
-
const
|
|
27
|
+
const scrollRef = (0, _useScrollContext.useScrollContext)();
|
|
28
|
+
const seaTableColumnRef = (0, _react.useRef)(null);
|
|
29
|
+
const [menuPosition, setMenuPosition] = (0, _react.useState)({
|
|
30
|
+
top: '',
|
|
31
|
+
left: ''
|
|
32
|
+
});
|
|
33
|
+
const [isShowLabel, setIsShowLabel] = (0, _react.useState)(false);
|
|
24
34
|
const [columnValue, setColumnValue] = (0, _react.useState)('');
|
|
25
35
|
const data = element.data || {};
|
|
26
36
|
const {
|
|
@@ -49,14 +59,24 @@ const Column = _ref => {
|
|
|
49
59
|
});
|
|
50
60
|
}
|
|
51
61
|
}, [editor, element.data, isLongTextColumn, editor.currentRowIdx]);
|
|
52
|
-
const
|
|
62
|
+
const handleScroll = (0, _react.useCallback)(e => {
|
|
63
|
+
if (isReadOnly) return;
|
|
64
|
+
if (e.currentTarget.scrollTop) {
|
|
65
|
+
const menuPosition = (0, _utils.getMenuPosition)(seaTableColumnRef.current, editor);
|
|
66
|
+
setMenuPosition(menuPosition);
|
|
67
|
+
}
|
|
68
|
+
}, [editor, isReadOnly]);
|
|
53
69
|
(0, _react.useEffect)(() => {
|
|
54
|
-
if (
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
70
|
+
if (isReadOnly) return;
|
|
71
|
+
let observerRefValue = null;
|
|
72
|
+
if (scrollRef.current) {
|
|
73
|
+
scrollRef.current.addEventListener('scroll', handleScroll);
|
|
74
|
+
observerRefValue = scrollRef.current;
|
|
58
75
|
}
|
|
59
|
-
|
|
76
|
+
return () => {
|
|
77
|
+
observerRefValue.removeEventListener('scroll', handleScroll);
|
|
78
|
+
};
|
|
79
|
+
}, [handleScroll, isReadOnly, scrollRef]);
|
|
60
80
|
const {
|
|
61
81
|
font_size = null,
|
|
62
82
|
font = null,
|
|
@@ -72,8 +92,8 @@ const Column = _ref => {
|
|
|
72
92
|
border: '1px solid transparent',
|
|
73
93
|
userSelect: 'none',
|
|
74
94
|
display: 'inline-block',
|
|
75
|
-
...(
|
|
76
|
-
border: '1px solid
|
|
95
|
+
...(isShowLabel && {
|
|
96
|
+
border: '1px solid #007bff'
|
|
77
97
|
}),
|
|
78
98
|
...(font_size && {
|
|
79
99
|
fontSize: font_size
|
|
@@ -100,16 +120,60 @@ const Column = _ref => {
|
|
|
100
120
|
textDecoration: 'line-through'
|
|
101
121
|
})
|
|
102
122
|
};
|
|
123
|
+
const onColumnClick = (0, _react.useCallback)(event => {
|
|
124
|
+
event.stopPropagation();
|
|
125
|
+
if (isReadOnly || isShowLabel) return;
|
|
126
|
+
const {
|
|
127
|
+
top,
|
|
128
|
+
left
|
|
129
|
+
} = seaTableColumnRef.current.getBoundingClientRect();
|
|
130
|
+
const menuTop = top - 42; // top = top distance - menu height
|
|
131
|
+
const newMenuPosition = {
|
|
132
|
+
top: menuTop,
|
|
133
|
+
left: left // left = callout left distance
|
|
134
|
+
};
|
|
135
|
+
// 201 is distance with browser top
|
|
136
|
+
if (menuTop <= 201) {
|
|
137
|
+
newMenuPosition['display'] = 'none';
|
|
138
|
+
}
|
|
139
|
+
setMenuPosition(newMenuPosition);
|
|
140
|
+
setIsShowLabel(true);
|
|
141
|
+
}, [isReadOnly, isShowLabel]);
|
|
142
|
+
(0, _react.useEffect)(() => {
|
|
143
|
+
const onHideColumnLabel = event => {
|
|
144
|
+
if (seaTableColumnRef.current && !seaTableColumnRef.current.contains(event.target)) {
|
|
145
|
+
setIsShowLabel(false);
|
|
146
|
+
}
|
|
147
|
+
};
|
|
148
|
+
document.addEventListener('click', onHideColumnLabel, true);
|
|
149
|
+
return () => {
|
|
150
|
+
document.removeEventListener('click', onHideColumnLabel, true);
|
|
151
|
+
};
|
|
152
|
+
}, []);
|
|
103
153
|
return /*#__PURE__*/_react.default.createElement("span", Object.assign({}, attributes, {
|
|
104
|
-
style: style
|
|
105
|
-
|
|
154
|
+
style: style,
|
|
155
|
+
ref: seaTableColumnRef,
|
|
156
|
+
onClick: onColumnClick
|
|
157
|
+
}), /*#__PURE__*/_react.default.createElement("span", null, !isLongTextColumn && columnValue, isLongTextColumn && /*#__PURE__*/_react.default.createElement("div", {
|
|
106
158
|
style: {
|
|
107
159
|
padding: '10px'
|
|
108
160
|
},
|
|
109
161
|
dangerouslySetInnerHTML: {
|
|
110
162
|
__html: columnValue
|
|
111
163
|
}
|
|
112
|
-
}), children)
|
|
164
|
+
}), children), isShowLabel && /*#__PURE__*/_react.default.createElement(_commons.ElementPopover, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
165
|
+
className: "sdoc-seatable-column-label-container",
|
|
166
|
+
style: menuPosition,
|
|
167
|
+
contentEditable: false,
|
|
168
|
+
"data-slate-node": null,
|
|
169
|
+
"data-slate-editor": false
|
|
170
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
171
|
+
className: "label-container"
|
|
172
|
+
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
173
|
+
className: `control-icon ${data.icon_class}`
|
|
174
|
+
}), /*#__PURE__*/_react.default.createElement("span", {
|
|
175
|
+
className: "control-label"
|
|
176
|
+
}, data.name)))));
|
|
113
177
|
};
|
|
114
178
|
const renderColumn = (props, editor) => {
|
|
115
179
|
return /*#__PURE__*/_react.default.createElement(Column, {
|
|
@@ -78,7 +78,7 @@ class RowCardHeader extends _react.default.Component {
|
|
|
78
78
|
// Start from the second column without name
|
|
79
79
|
for (let i = 1; i < renderedColumns.length; i++) {
|
|
80
80
|
const renderedColumn = renderedColumns[i];
|
|
81
|
-
cardHeaderCells.push(
|
|
81
|
+
cardHeaderCells.push(/*#__PURE__*/_react.default.createElement(_rowCardHeaderCell.default, {
|
|
82
82
|
key: renderedColumn.key,
|
|
83
83
|
column: renderedColumn,
|
|
84
84
|
rowCardType: rowCardType,
|
|
@@ -70,7 +70,7 @@ class DtableSearchInput extends _react.Component {
|
|
|
70
70
|
const {
|
|
71
71
|
ClearIndicator
|
|
72
72
|
} = components;
|
|
73
|
-
if (
|
|
73
|
+
if (/*#__PURE__*/_react.default.isValidElement(ClearIndicator)) {
|
|
74
74
|
return /*#__PURE__*/_react.default.cloneElement(ClearIndicator, {
|
|
75
75
|
clearValue: this.clearSearch
|
|
76
76
|
});
|
|
@@ -310,7 +310,7 @@ class FilterItem extends _react.default.Component {
|
|
|
310
310
|
background: inOption.color,
|
|
311
311
|
color: inOption.textColor || null
|
|
312
312
|
};
|
|
313
|
-
labelArray.push(
|
|
313
|
+
labelArray.push(/*#__PURE__*/_react.default.createElement("span", {
|
|
314
314
|
className: className,
|
|
315
315
|
style: optionStyle,
|
|
316
316
|
key: 'option_' + item,
|
|
@@ -205,7 +205,7 @@ const TableSizePopover = _ref => {
|
|
|
205
205
|
});
|
|
206
206
|
children.push(child);
|
|
207
207
|
}
|
|
208
|
-
tableSize.push(
|
|
208
|
+
tableSize.push(/*#__PURE__*/_react.default.createElement("div", {
|
|
209
209
|
key: `sdoc-table-size-row-${i}`,
|
|
210
210
|
className: "sdoc-table-size-row d-flex"
|
|
211
211
|
}, children));
|
|
@@ -62,7 +62,7 @@ const ContextToolbar = () => {
|
|
|
62
62
|
el.removeAttribute('style');
|
|
63
63
|
}
|
|
64
64
|
}, []);
|
|
65
|
-
return /*#__PURE__*/(0, _reactDom.createPortal)(
|
|
65
|
+
return /*#__PURE__*/(0, _reactDom.createPortal)(/*#__PURE__*/_react.default.createElement("div", {
|
|
66
66
|
ref: ref,
|
|
67
67
|
className: "sdoc-context-toolbar",
|
|
68
68
|
onMouseDown: onMouseDown,
|
|
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.default = void 0;
|
|
8
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
|
|
9
9
|
var _react = _interopRequireDefault(require("react"));
|
|
10
|
+
var _reactI18next = require("react-i18next");
|
|
11
|
+
var _tooltip = _interopRequireDefault(require("../../tooltip"));
|
|
10
12
|
var _basicSdk = require("../../../basic-sdk");
|
|
11
13
|
var _context = _interopRequireDefault(require("../../../context"));
|
|
12
14
|
var _collaboratorsPopover = _interopRequireDefault(require("./collaborators-popover"));
|
|
@@ -72,14 +74,20 @@ class CollaboratorsOperation extends _react.default.PureComponent {
|
|
|
72
74
|
const {
|
|
73
75
|
collaborators
|
|
74
76
|
} = this.state;
|
|
77
|
+
console.log(4, this.props);
|
|
78
|
+
const {
|
|
79
|
+
t
|
|
80
|
+
} = this.props;
|
|
75
81
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", {
|
|
76
82
|
className: "op-item collaborators-op-item",
|
|
77
83
|
id: "collaborators"
|
|
78
84
|
}, /*#__PURE__*/_react.default.createElement("i", {
|
|
79
85
|
className: "sdocfont sdoc-user mr-1"
|
|
80
|
-
}), collaborators.length), /*#__PURE__*/_react.default.createElement(
|
|
86
|
+
}), collaborators.length), /*#__PURE__*/_react.default.createElement(_tooltip.default, {
|
|
87
|
+
target: "collaborators"
|
|
88
|
+
}, t('Online_members')), /*#__PURE__*/_react.default.createElement(_collaboratorsPopover.default, {
|
|
81
89
|
collaborators: collaborators
|
|
82
90
|
}));
|
|
83
91
|
}
|
|
84
92
|
}
|
|
85
|
-
var _default = exports.default = CollaboratorsOperation;
|
|
93
|
+
var _default = exports.default = (0, _reactI18next.withTranslation)('sdoc-editor')(CollaboratorsOperation);
|
|
@@ -18,6 +18,7 @@ var _localStorageUtils = _interopRequireDefault(require("../../utils/local-stora
|
|
|
18
18
|
var _utils = require("../../utils");
|
|
19
19
|
var _constants = require("../../constants");
|
|
20
20
|
var _constants2 = require("../../basic-sdk/constants");
|
|
21
|
+
var _tooltip = _interopRequireDefault(require("../tooltip"));
|
|
21
22
|
const MoreOperations = _ref => {
|
|
22
23
|
let {
|
|
23
24
|
isStarred,
|
|
@@ -33,6 +34,7 @@ const MoreOperations = _ref => {
|
|
|
33
34
|
const isSdocRevision = _context.default.getSetting('isSdocRevision');
|
|
34
35
|
const mobileLogin = _context.default.getSetting('mobileLogin');
|
|
35
36
|
const cssUrls = _context.default.getPrintCss();
|
|
37
|
+
const id = 'sdoc_more_operation';
|
|
36
38
|
(0, _react.useEffect)(() => {
|
|
37
39
|
const eventBus = _basicSdk.EventBus.getInstance();
|
|
38
40
|
const unSubscribe = eventBus.subscribe(_constants2.INTERNAL_EVENT.ON_PRINT, handlePrint);
|
|
@@ -104,6 +106,7 @@ const MoreOperations = _ref => {
|
|
|
104
106
|
eventBus.dispatch(_constants.EXTERNAL_EVENT.INTERNAL_LINK_CLICK);
|
|
105
107
|
}, [isSdocRevision]);
|
|
106
108
|
return /*#__PURE__*/_react.default.createElement(_reactstrap.Dropdown, {
|
|
109
|
+
id: id,
|
|
107
110
|
className: `sdoc-operator-folder ${mobileLogin ? 'mobile-login' : ''}`,
|
|
108
111
|
isOpen: isDropdownOpen,
|
|
109
112
|
toggle: event => toggleDropdown(event, isDropdownOpen)
|
|
@@ -112,7 +115,9 @@ const MoreOperations = _ref => {
|
|
|
112
115
|
tag: "span"
|
|
113
116
|
}, /*#__PURE__*/_react.default.createElement("i", {
|
|
114
117
|
className: "sdocfont sdoc-more"
|
|
115
|
-
})), /*#__PURE__*/_react.default.createElement(
|
|
118
|
+
})), /*#__PURE__*/_react.default.createElement(_tooltip.default, {
|
|
119
|
+
target: id
|
|
120
|
+
}, t('More_operation')), /*#__PURE__*/_react.default.createElement(_reactstrap.DropdownMenu, {
|
|
116
121
|
className: "sdoc-dropdown-menu",
|
|
117
122
|
end: true
|
|
118
123
|
}, mobileLogin && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_reactstrap.DropdownItem, {
|
|
@@ -8,14 +8,23 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.default = void 0;
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
11
|
+
var _reactI18next = require("react-i18next");
|
|
11
12
|
var _hooks = require("../../hooks");
|
|
12
13
|
var _mouseEvent = require("../../basic-sdk/utils/mouse-event");
|
|
13
14
|
var _constants = require("../../basic-sdk/constants");
|
|
15
|
+
var _tooltip = _interopRequireDefault(require("../tooltip"));
|
|
14
16
|
const PluginsOperations = () => {
|
|
15
17
|
const {
|
|
16
18
|
plugins,
|
|
17
19
|
updateDisplayPlugin
|
|
18
20
|
} = (0, _hooks.usePlugins)();
|
|
21
|
+
const {
|
|
22
|
+
t
|
|
23
|
+
} = (0, _reactI18next.useTranslation)('sdoc-editor');
|
|
24
|
+
const iconIdMap = {
|
|
25
|
+
'sdoc-info': 'sdoc_info',
|
|
26
|
+
'sdoc-comment': 'sdoc_comment'
|
|
27
|
+
};
|
|
19
28
|
const onClick = (0, _react.useCallback)((event, pluginName) => {
|
|
20
29
|
(0, _mouseEvent.eventStopPropagation)(event);
|
|
21
30
|
updateDisplayPlugin(pluginName);
|
|
@@ -26,6 +35,7 @@ const PluginsOperations = () => {
|
|
|
26
35
|
name,
|
|
27
36
|
icon
|
|
28
37
|
} = plugin;
|
|
38
|
+
console.log(3, plugin, icon, (0, _classnames.default)('sdocfont', icon));
|
|
29
39
|
let iconDom = '';
|
|
30
40
|
if (typeof icon !== 'string') {
|
|
31
41
|
iconDom = icon;
|
|
@@ -36,9 +46,14 @@ const PluginsOperations = () => {
|
|
|
36
46
|
}
|
|
37
47
|
return /*#__PURE__*/_react.default.createElement("span", {
|
|
38
48
|
className: "op-item sdoc-plugin-operation-btn-container",
|
|
49
|
+
id: iconIdMap[name],
|
|
39
50
|
onClick: e => onClick(e, name),
|
|
40
51
|
key: name
|
|
41
|
-
}, iconDom
|
|
52
|
+
}, iconDom, icon === 'sdoc-info' && /*#__PURE__*/_react.default.createElement(_tooltip.default, {
|
|
53
|
+
target: 'sdoc_info'
|
|
54
|
+
}, t('Property')), name === 'sdoc-comment' && /*#__PURE__*/_react.default.createElement(_tooltip.default, {
|
|
55
|
+
target: 'sdoc_comment'
|
|
56
|
+
}, t('Comment_list')));
|
|
42
57
|
});
|
|
43
58
|
};
|
|
44
59
|
var _default = exports.default = PluginsOperations;
|
|
@@ -1,14 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
3
4
|
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.default = void 0;
|
|
8
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _reactI18next = require("react-i18next");
|
|
11
|
+
var _tooltip = _interopRequireDefault(require("../../tooltip"));
|
|
9
12
|
var _basicSdk = require("../../../basic-sdk");
|
|
10
13
|
var _constants = require("../../../constants");
|
|
11
14
|
const PresentationOperation = () => {
|
|
15
|
+
const {
|
|
16
|
+
t
|
|
17
|
+
} = (0, _reactI18next.useTranslation)('sdoc-editor');
|
|
18
|
+
const id = 'sdoc_presentation';
|
|
12
19
|
const onPresentationToggle = (0, _react.useCallback)(() => {
|
|
13
20
|
const eventBus = _basicSdk.EventBus.getInstance();
|
|
14
21
|
eventBus.dispatch(_constants.EXTERNAL_EVENT.TOGGLE_PRESENTATION_MODE, {
|
|
@@ -21,9 +28,12 @@ const PresentationOperation = () => {
|
|
|
21
28
|
}, []);
|
|
22
29
|
return /*#__PURE__*/_react.default.createElement("span", {
|
|
23
30
|
className: "op-item",
|
|
31
|
+
id: id,
|
|
24
32
|
onClick: onPresentationToggle
|
|
25
33
|
}, /*#__PURE__*/_react.default.createElement("i", {
|
|
26
34
|
className: "sdocfont sdoc-presentation"
|
|
27
|
-
})
|
|
35
|
+
}), /*#__PURE__*/_react.default.createElement(_tooltip.default, {
|
|
36
|
+
target: id
|
|
37
|
+
}, t('Presentation')));
|
|
28
38
|
};
|
|
29
39
|
var _default = exports.default = PresentationOperation;
|
package/dist/components/doc-operations/revision-operations/more-revision-operations/index.js
CHANGED
|
@@ -14,10 +14,12 @@ var _toast = _interopRequireDefault(require("../../../toast"));
|
|
|
14
14
|
var _basicSdk = require("../../../../basic-sdk");
|
|
15
15
|
var _constants = require("../../../../constants");
|
|
16
16
|
require("./index.css");
|
|
17
|
+
var _tooltip = _interopRequireDefault(require("../../../tooltip"));
|
|
17
18
|
const MoreRevisionOperations = _ref => {
|
|
18
19
|
let {
|
|
19
20
|
t
|
|
20
21
|
} = _ref;
|
|
22
|
+
const id = 'sdoc_revisions';
|
|
21
23
|
const eventBus = _basicSdk.EventBus.getInstance();
|
|
22
24
|
const [isDropdownOpen, setIsDropdownOpen] = (0, _react.useState)(false);
|
|
23
25
|
const toggleDropdown = (0, _react.useCallback)(isDropdownOpen => {
|
|
@@ -36,6 +38,7 @@ const MoreRevisionOperations = _ref => {
|
|
|
36
38
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
37
39
|
}, []);
|
|
38
40
|
return /*#__PURE__*/_react.default.createElement(_reactstrap.Dropdown, {
|
|
41
|
+
id: id,
|
|
39
42
|
isOpen: isDropdownOpen,
|
|
40
43
|
toggle: () => toggleDropdown(isDropdownOpen),
|
|
41
44
|
className: "sdoc-more-revision-operations-dropdown"
|
|
@@ -46,7 +49,9 @@ const MoreRevisionOperations = _ref => {
|
|
|
46
49
|
className: "sdocfont sdoc-revise"
|
|
47
50
|
}), /*#__PURE__*/_react.default.createElement("span", {
|
|
48
51
|
className: `sdocfont sdoc-${isDropdownOpen ? 'caret-up' : 'drop-down'}`
|
|
49
|
-
})), /*#__PURE__*/_react.default.createElement(
|
|
52
|
+
})), /*#__PURE__*/_react.default.createElement(_tooltip.default, {
|
|
53
|
+
target: id
|
|
54
|
+
}, t('Revise')), /*#__PURE__*/_react.default.createElement(_reactstrap.DropdownMenu, {
|
|
50
55
|
className: "sdoc-dropdown-menu",
|
|
51
56
|
end: true
|
|
52
57
|
}, /*#__PURE__*/_react.default.createElement(_reactstrap.DropdownItem, {
|
|
@@ -1,22 +1,32 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
3
4
|
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.default = ShareOperation;
|
|
8
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _reactI18next = require("react-i18next");
|
|
11
|
+
var _tooltip = _interopRequireDefault(require("../../tooltip"));
|
|
9
12
|
var _basicSdk = require("../../../basic-sdk");
|
|
10
13
|
var _constants = require("../../../constants");
|
|
11
14
|
function ShareOperation() {
|
|
15
|
+
const {
|
|
16
|
+
t
|
|
17
|
+
} = (0, _reactI18next.useTranslation)('sdoc-editor');
|
|
18
|
+
const id = 'sdoc-share';
|
|
12
19
|
const onShareToggle = (0, _react.useCallback)(() => {
|
|
13
20
|
const eventBus = _basicSdk.EventBus.getInstance();
|
|
14
21
|
eventBus.dispatch(_constants.EXTERNAL_EVENT.SHARE_SDOC);
|
|
15
22
|
}, []);
|
|
16
23
|
return /*#__PURE__*/_react.default.createElement("span", {
|
|
17
24
|
className: "op-item",
|
|
25
|
+
id: id,
|
|
18
26
|
onClick: onShareToggle
|
|
19
27
|
}, /*#__PURE__*/_react.default.createElement("i", {
|
|
20
28
|
className: "sdocfont sdoc-share"
|
|
21
|
-
})
|
|
29
|
+
}), /*#__PURE__*/_react.default.createElement(_tooltip.default, {
|
|
30
|
+
target: id
|
|
31
|
+
}, t('Share')));
|
|
22
32
|
}
|
|
@@ -67,7 +67,7 @@ class Toaster {
|
|
|
67
67
|
container.setAttribute('data-evergreen-toaster-container', '');
|
|
68
68
|
document.body.appendChild(container);
|
|
69
69
|
const root = (0, _client.createRoot)(container);
|
|
70
|
-
root.render(
|
|
70
|
+
root.render(/*#__PURE__*/_react.default.createElement(_toastManager.default, {
|
|
71
71
|
bindNotify: this._bindNotify,
|
|
72
72
|
bindGetToasts: this._bindGetToasts,
|
|
73
73
|
bindCloseAll: this._bindCloseAll
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@seafile/sdoc-editor",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.62-test-0.0.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "This is a sdoc editor",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"dependencies": {
|
|
8
8
|
"@seafile/print-js": "1.6.6",
|
|
9
9
|
"@seafile/react-image-lightbox": "4.0.2",
|
|
10
|
-
"@seafile/sdoc-editor": "2.0.
|
|
10
|
+
"@seafile/sdoc-editor": "2.0.60",
|
|
11
11
|
"@seafile/slate": "0.91.8",
|
|
12
12
|
"@seafile/slate-history": "0.86.2",
|
|
13
13
|
"@seafile/slate-hyperscript": "0.81.7",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"remark-parse": "11.0.0",
|
|
41
41
|
"remark-rehype": "11.0.0",
|
|
42
42
|
"remark-stringify": "11.0.0",
|
|
43
|
-
"sea-chart": "2.0.
|
|
43
|
+
"sea-chart": "2.0.14",
|
|
44
44
|
"slugid": "3.2.0",
|
|
45
45
|
"socket.io-client": "4.8.1",
|
|
46
46
|
"type-of": "2.0.1",
|
|
@@ -629,5 +629,9 @@
|
|
|
629
629
|
"chart": "chart",
|
|
630
630
|
"Image_is_upload_error": "Image upload failed, please delete it and try again",
|
|
631
631
|
"Table_not_exist": "The table does not exist, please delete the current table element",
|
|
632
|
-
"Row_not_exist": "The row data does not exist, please delete the current row element"
|
|
632
|
+
"Row_not_exist": "The row data does not exist, please delete the current row element",
|
|
633
|
+
"Presentation": "Presentation",
|
|
634
|
+
"More_operation": "More operation",
|
|
635
|
+
"Property": "Property",
|
|
636
|
+
"Comment_list": "Comment list"
|
|
633
637
|
}
|
|
@@ -630,5 +630,9 @@
|
|
|
630
630
|
"chart": "图表",
|
|
631
631
|
"Image_is_upload_error": "图片上传失败,请删除后重新尝试",
|
|
632
632
|
"Table_not_exist": "表格不存在,请删除当前表格元素",
|
|
633
|
-
"Row_not_exist": "表格不存在,请删除当前行元素"
|
|
633
|
+
"Row_not_exist": "表格不存在,请删除当前行元素",
|
|
634
|
+
"Presentation": "演示",
|
|
635
|
+
"More_operation": "更多操作",
|
|
636
|
+
"Property": "属性",
|
|
637
|
+
"Comment_list": "评论列表"
|
|
634
638
|
}
|