@seafile/sdoc-editor 3.0.194 → 3.0.197

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.
@@ -157,10 +157,13 @@ var GlobalCommentHeader = function GlobalCommentHeader(_ref2) {
157
157
  }), isMounted && /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
158
158
  target: "sdoc-read-all-btn"
159
159
  }, t('Mark_all_as_read'))), /*#__PURE__*/_react["default"].createElement("div", {
160
+ id: "sdoc-comment-close",
160
161
  className: "sdoc-icon-btn",
161
162
  onClick: toggle
162
163
  }, /*#__PURE__*/_react["default"].createElement("i", {
163
164
  className: "sdocfont sdoc-sm-close"
164
- }))));
165
+ }), isMounted && /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
166
+ target: "sdoc-comment-close"
167
+ }, t('Close')))));
165
168
  };
166
169
  var _default = exports["default"] = GlobalCommentHeader;
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports["default"] = void 0;
8
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
8
9
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/toConsumableArray"));
9
10
  var _react = _interopRequireDefault(require("react"));
10
11
  var _reactstrap = require("reactstrap");
@@ -21,7 +22,9 @@ var Tooltip = function Tooltip(_ref) {
21
22
  _ref$fade = _ref.fade,
22
23
  fade = _ref$fade === void 0 ? false : _ref$fade,
23
24
  _ref$delay = _ref.delay,
24
- delay = _ref$delay === void 0 ? 0 : _ref$delay;
25
+ delay = _ref$delay === void 0 ? 0 : _ref$delay,
26
+ _ref$offset = _ref.offset,
27
+ offset = _ref$offset === void 0 ? null : _ref$offset;
25
28
  var hasBoundary = modifiers.find(function (item) {
26
29
  return item.name === 'preventOverflow';
27
30
  });
@@ -31,7 +34,7 @@ var Tooltip = function Tooltip(_ref) {
31
34
  boundary: window.document.body
32
35
  }
33
36
  }]);
34
- var props = {
37
+ var props = (0, _objectSpread2["default"])({
35
38
  target: target,
36
39
  placement: placement,
37
40
  popperClassName: (0, _classnames["default"])('sdoc-tooltip', className),
@@ -40,7 +43,9 @@ var Tooltip = function Tooltip(_ref) {
40
43
  autohide: false,
41
44
  fade: fade,
42
45
  modifiers: newModifiers
43
- };
46
+ }, offset && {
47
+ offset: offset
48
+ });
44
49
  return /*#__PURE__*/_react["default"].createElement(_reactstrap.UncontrolledTooltip, props, children);
45
50
  };
46
51
  var _default = exports["default"] = Tooltip;
@@ -6,8 +6,10 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports["default"] = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
+ var _reactI18next = require("react-i18next");
9
10
  var _reactstrap = require("reactstrap");
10
11
  var _classnames = _interopRequireDefault(require("classnames"));
12
+ var _tooltip = _interopRequireDefault(require("../../../components/tooltip"));
11
13
  var MoreDropdown = function MoreDropdown(_ref) {
12
14
  var _ref$isRichEditor = _ref.isRichEditor,
13
15
  isRichEditor = _ref$isRichEditor === void 0 ? true : _ref$isRichEditor,
@@ -23,6 +25,8 @@ var MoreDropdown = function MoreDropdown(_ref) {
23
25
  'btn btn-icon btn-secondary btn-active': !isRichEditor
24
26
  });
25
27
  var buttonId = 'sdoc-more-text-operations';
28
+ var _useTranslation = (0, _reactI18next.useTranslation)('sdoc-editor'),
29
+ t = _useTranslation.t;
26
30
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("button", {
27
31
  className: validClassName,
28
32
  type: "button",
@@ -30,7 +34,9 @@ var MoreDropdown = function MoreDropdown(_ref) {
30
34
  id: buttonId
31
35
  }, /*#__PURE__*/_react["default"].createElement("i", {
32
36
  className: "sdocfont sdoc-more"
33
- })), /*#__PURE__*/_react["default"].createElement(_reactstrap.UncontrolledPopover, {
37
+ }), /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
38
+ target: buttonId
39
+ }, t('More_operation'))), /*#__PURE__*/_react["default"].createElement(_reactstrap.UncontrolledPopover, {
34
40
  target: buttonId,
35
41
  className: "sdoc-dropdown-menu",
36
42
  popperClassName: "sdoc-popover-box-shadow",
@@ -1,9 +1,9 @@
1
1
  .sdoc-file-select-dialog {
2
- max-width: 700px;
2
+ max-width: 740px;
3
3
  }
4
4
 
5
5
  .sdoc-file-select-dialog .sdoc-file-select-modal {
6
- width: 700px;
6
+ width: 740px;
7
7
  }
8
8
 
9
9
  .sdoc-file-select-dialog .highlight-bg-color {
@@ -52,6 +52,10 @@
52
52
  width: 28px;
53
53
  }
54
54
 
55
+ .sdoc-file-select-dialog .sdoc-file-select-container {
56
+ margin: 0;
57
+ }
58
+
55
59
  .sdoc-file-select-dialog .sdoc-file-select__side-panel {
56
60
  padding: 1rem;
57
61
  line-height: 24px;
@@ -64,19 +68,19 @@
64
68
  align-items: center;
65
69
  position: relative;
66
70
  height: 32px;
67
- padding: 0 10px 0 14px;
71
+ padding: 0 10px;
68
72
  cursor: default;
69
73
  transition: background-color 0.3s ease, font-weight 0.3s ease;
70
74
  border: none;
71
- border-radius: 3px;
72
75
  }
73
76
 
74
77
  .sdoc-file-select-dialog .sdoc-file-select__repo-item:hover {
78
+ border-radius: 3px;
75
79
  background-color: var(--bs-nav-hover-bg, #f5f5f5);
76
80
  }
77
81
 
78
82
  .sdoc-file-select-dialog .sdoc-file-select__repo-item.active {
79
- background-color: var(--bs-nav-active-bg, #f3f3f3);
83
+ background-color: var(--bs-nav-active-bg, #f0f0f0);
80
84
  font-weight: 500;
81
85
  }
82
86
 
@@ -85,7 +89,7 @@
85
89
  display: block;
86
90
  position: absolute;
87
91
  top: 4px;
88
- left: 0;
92
+ left: -8px;
89
93
  width: 4px;
90
94
  height: 24px;
91
95
  background-color: #ff9800;
@@ -104,6 +108,17 @@
104
108
  white-space: nowrap;
105
109
  }
106
110
 
111
+ .sdoc-file-select__main-panel {
112
+ display: flex;
113
+ flex-direction: column;
114
+ padding: 0;
115
+ }
116
+
117
+ .sdoc-file-select__main-panel .sdoc-files-tree {
118
+ max-height: 400px;
119
+ min-height: 400px;
120
+ }
121
+
107
122
  .sdoc-file-select__main-panel .sdoc-file-select-footer {
108
123
  display: flex;
109
124
  align-items: center;
@@ -113,6 +128,7 @@
113
128
  }
114
129
 
115
130
  @media (max-width: 768px) {
131
+
116
132
  .sdoc-file-select-dialog .sdoc-file-select__side-panel,
117
133
  .sdoc-file-select-dialog .sdoc-file-select__main-panel {
118
134
  max-width: 100% !important;
@@ -11,7 +11,6 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm
11
11
  var _react = _interopRequireWildcard(require("react"));
12
12
  var _reactI18next = require("react-i18next");
13
13
  var _reactstrap = require("reactstrap");
14
- var _lib = _interopRequireDefault(require("../../../assets/images/lib.png"));
15
14
  var _toast = _interopRequireDefault(require("../../../components/toast"));
16
15
  var _context = _interopRequireDefault(require("../../../context"));
17
16
  var _commonUtils = require("../../../utils/common-utils");
@@ -113,12 +112,7 @@ var SelectLibFileDialog = function SelectLibFileDialog(_ref) {
113
112
  onSelectRepo(repo.repo_id);
114
113
  }
115
114
  }
116
- }, /*#__PURE__*/_react["default"].createElement("img", {
117
- className: "lib-icon",
118
- src: _lib["default"],
119
- width: "20",
120
- alt: ""
121
- }), /*#__PURE__*/_react["default"].createElement("span", {
115
+ }, /*#__PURE__*/_react["default"].createElement("span", {
122
116
  className: "sdoc-file-select__repo-name"
123
117
  }, repo.repo_name));
124
118
  })), /*#__PURE__*/_react["default"].createElement("div", {
@@ -591,7 +591,8 @@ var FILEEXT_TYPE = exports.FILEEXT_TYPE = {
591
591
  SPREADSHEET: ['xls', 'xlsx', 'ods', 'fods'],
592
592
  MARKDOWN: ['markdown', 'md'],
593
593
  EXCALIDRAW: ['exdraw'],
594
- DOCUMENT: ['doc', 'docx', 'docxf', 'oform', 'ppt', 'pptx', 'odt', 'fodt', 'odp', 'fodp', 'odg']
594
+ DOCUMENT: ['doc', 'docx', 'docxf', 'oform', 'ppt', 'pptx', 'odt', 'fodt', 'odp', 'fodp', 'odg'],
595
+ IMAGE: ['gif', 'jpeg', 'jpg', 'png', 'heic', 'ico', 'bmp', 'tif', 'tiff', 'psd', 'psb', 'webp', 'jfif', 'avif']
595
596
  };
596
597
  var FILEEXT_TYPE_MAP = exports.FILEEXT_TYPE_MAP = {
597
598
  VIDEO: 'video',
@@ -599,7 +600,8 @@ var FILEEXT_TYPE_MAP = exports.FILEEXT_TYPE_MAP = {
599
600
  SPREADSHEET: 'excel',
600
601
  MARKDOWN: 'md',
601
602
  EXCALIDRAW: 'draw',
602
- DOCUMENT: 'word'
603
+ DOCUMENT: 'word',
604
+ IMAGE: 'pic'
603
605
  };
604
606
  var SUPPORTED_SIDE_OPERATION_TYPE = exports.SUPPORTED_SIDE_OPERATION_TYPE = [_elementType.PARAGRAPH, _elementType.SUBTITLE, _elementType.HEADER1, _elementType.HEADER2, _elementType.HEADER3, _elementType.HEADER4, _elementType.HEADER5, _elementType.HEADER6, _elementType.CHECK_LIST_ITEM, _elementType.CODE_BLOCK, _elementType.TABLE, _elementType.BLOCKQUOTE, _elementType.CALL_OUT, _elementType.IMAGE_BLOCK, _elementType.VIDEO, _elementType.WHITEBOARD, _elementType.FORMULA, _elementType.TOGGLE_HEADER].concat(TOGGLE_TITLE_TYPES, [_elementType.FILE_VIEW, _elementType.EMBED_LINK, _elementType.DIVIDER]);
605
607
  var MOUSE_ENTER_EVENT_DISABLED_MAP = exports.MOUSE_ENTER_EVENT_DISABLED_MAP = (_MOUSE_ENTER_EVENT_DI = {}, (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])(_MOUSE_ENTER_EVENT_DI, _elementType.PARAGRAPH, [_elementType.CALL_OUT]), _elementType.TITLE, [_elementType.CALL_OUT]), _elementType.SUBTITLE, [_elementType.CALL_OUT]), _elementType.CHECK_LIST_ITEM, [_elementType.CALL_OUT]), _elementType.ORDERED_LIST, [_elementType.CALL_OUT]), _elementType.UNORDERED_LIST, [_elementType.CALL_OUT]), _elementType.LIST_ITEM, [_elementType.CALL_OUT]), _elementType.BLOCKQUOTE, [_elementType.CALL_OUT]), _elementType.HEADER1, [_elementType.CALL_OUT]), _elementType.HEADER2, [_elementType.CALL_OUT]), (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])(_MOUSE_ENTER_EVENT_DI, _elementType.HEADER3, [_elementType.CALL_OUT]), _elementType.HEADER4, [_elementType.CALL_OUT]), _elementType.HEADER5, [_elementType.CALL_OUT]), _elementType.HEADER6, [_elementType.CALL_OUT]), _elementType.CALL_OUT, [_elementType.CALL_OUT]));
@@ -415,7 +415,7 @@ var SIDE_INSERT_MENUS_CONFIG = exports.SIDE_INSERT_MENUS_CONFIG = (_SIDE_INSERT_
415
415
  type: _elementType.FORMULA,
416
416
  text: 'Formula'
417
417
  }));
418
- var SIDE_INSERT_MENUS_SEARCH_MAP = exports.SIDE_INSERT_MENUS_SEARCH_MAP = (_SIDE_INSERT_MENUS_SE = {}, (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])(_SIDE_INSERT_MENUS_SE, _elementType.IMAGE, 'Image'), _elementType.VIDEO, 'Video'), _elementType.TABLE, 'Table'), _elementType.COLUMN, 'Column'), _elementType.TWO_COLUMN, 'Two_column'), _elementType.THREE_COLUMN, 'Three_column'), _elementType.FOUR_COLUMN, 'Four_column'), _elementType.LINK, 'Link'), _elementType.CODE_BLOCK, 'Code_block'), _elementType.CALL_OUT, 'Callout'), (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])(_SIDE_INSERT_MENUS_SE, _elementType.UNORDERED_LIST, 'Unordered_list'), _elementType.ORDERED_LIST, 'Ordered_list'), _elementType.CHECK_LIST_ITEM, 'Check_list'), _elementType.PARAGRAPH, 'Paragraph'), _elementType.HEADER1, 'Header_one'), _elementType.HEADER2, 'Header_two'), _elementType.HEADER3, 'Header_three'), _elementType.HEADER4, 'Header_four'), _elementType.TOGGLE_HEADER1, 'Toggle_header_one'), _elementType.TOGGLE_HEADER2, 'Toggle_header_two'), (0, _defineProperty2["default"])((0, _defineProperty2["default"])(_SIDE_INSERT_MENUS_SE, _elementType.TOGGLE_HEADER3, 'Toggle_header_three'), _elementType.FILE_VIEW, 'File_view'));
418
+ var SIDE_INSERT_MENUS_SEARCH_MAP = exports.SIDE_INSERT_MENUS_SEARCH_MAP = (_SIDE_INSERT_MENUS_SE = {}, (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])(_SIDE_INSERT_MENUS_SE, _elementType.IMAGE, 'Image'), _elementType.VIDEO, 'Video'), _elementType.TABLE, 'Table'), _elementType.COLUMN, 'Column'), _elementType.TWO_COLUMN, 'Two_column'), _elementType.THREE_COLUMN, 'Three_column'), _elementType.FOUR_COLUMN, 'Four_column'), _elementType.LINK, 'Link'), _elementType.FILE, 'File'), _elementType.CODE_BLOCK, 'Code_block'), (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])(_SIDE_INSERT_MENUS_SE, _elementType.CALL_OUT, 'Callout'), _elementType.UNORDERED_LIST, 'Unordered_list'), _elementType.ORDERED_LIST, 'Ordered_list'), _elementType.CHECK_LIST_ITEM, 'Check_list'), _elementType.PARAGRAPH, 'Paragraph'), _elementType.HEADER1, 'Header_one'), _elementType.HEADER2, 'Header_two'), _elementType.HEADER3, 'Header_three'), _elementType.HEADER4, 'Header_four'), _elementType.TOGGLE_HEADER1, 'Toggle_header_one'), (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])(_SIDE_INSERT_MENUS_SE, _elementType.TOGGLE_HEADER2, 'Toggle_header_two'), _elementType.TOGGLE_HEADER3, 'Toggle_header_three'), _elementType.FILE_VIEW, 'File_view'));
419
419
  var SIDE_QUICK_INSERT_MENUS_SEARCH_MAP = exports.SIDE_QUICK_INSERT_MENUS_SEARCH_MAP = (_SIDE_QUICK_INSERT_ME = {}, (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])(_SIDE_QUICK_INSERT_ME, _elementType.IMAGE, 'Image'), _elementType.VIDEO, 'Video'), _elementType.TABLE, 'Table'), _elementType.COLUMN, 'Column'), _elementType.TWO_COLUMN, 'Two_column'), _elementType.THREE_COLUMN, 'Three_column'), _elementType.FOUR_COLUMN, 'Four_column'), _elementType.LINK, 'Link'), _elementType.FILE, 'File'), _elementType.CODE_BLOCK, 'Code_block'), (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])(_SIDE_QUICK_INSERT_ME, _elementType.CALL_OUT, 'Callout'), _elementType.UNORDERED_LIST, 'Unordered_list'), _elementType.ORDERED_LIST, 'Ordered_list'), _elementType.CHECK_LIST_ITEM, 'Check_list'), _elementType.PARAGRAPH, 'Paragraph'), _elementType.HEADER1, 'Header_one'), _elementType.HEADER2, 'Header_two'), _elementType.HEADER3, 'Header_three'), _elementType.HEADER4, 'Header_four'), _elementType.FILE_VIEW, 'File_view'), (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])(_SIDE_QUICK_INSERT_ME, _elementType.FORMULA, 'Formula'), _elementType.TOGGLE_HEADER1, 'Toggle_header_one'), _elementType.TOGGLE_HEADER2, 'Toggle_header_two'), _elementType.TOGGLE_HEADER3, 'Toggle_header_three'), _elementType.EMBED_LINK, 'Embed_link'));
420
420
 
421
421
  // Other operations menu config
@@ -50,3 +50,7 @@
50
50
  font-size: 16px;
51
51
  }
52
52
 
53
+ .sdoc-editor__article .callout-content .list-container {
54
+ margin: 0;
55
+ padding-left: 2.2em !important;
56
+ }
@@ -164,13 +164,6 @@ var ImageHoverMenu = function ImageHoverMenu(_ref) {
164
164
  }
165
165
  // eslint-disable-next-line react-hooks/exhaustive-deps
166
166
  }, []);
167
- var borderPopoverStyle = (0, _react.useMemo)(function () {
168
- var isBlockChild = [_constants.TABLE, _constants.BLOCKQUOTE, _constants.CALL_OUT, _constants.MULTI_COLUMN].includes(type);
169
- if (!isBlockChild) return null;
170
- return {
171
- left: '8px'
172
- };
173
- }, [type]);
174
167
  return /*#__PURE__*/_react["default"].createElement(_commons.ElementPopover, null, /*#__PURE__*/_react["default"].createElement("div", {
175
168
  className: "sdoc-image-hover-menu-container",
176
169
  style: menuPosition
@@ -209,6 +202,7 @@ var ImageHoverMenu = function ImageHoverMenu(_ref) {
209
202
  })))), !readonly && /*#__PURE__*/_react["default"].createElement("span", {
210
203
  className: "op-group-item"
211
204
  }, type === _constants.IMAGE_BLOCK && /*#__PURE__*/_react["default"].createElement("span", {
205
+ id: "sdoc_image_alignment",
212
206
  role: "button",
213
207
  className: (0, _classnames["default"])('op-item', {
214
208
  'active': popoverState.alignPopover
@@ -238,7 +232,11 @@ var ImageHoverMenu = function ImageHoverMenu(_ref) {
238
232
  }), align === item.type && /*#__PURE__*/_react["default"].createElement("i", {
239
233
  className: "sdocfont sdoc-check-mark"
240
234
  }));
241
- }))), /*#__PURE__*/_react["default"].createElement("span", {
235
+ })), isShowTooltip && /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
236
+ target: "sdoc_image_alignment",
237
+ placement: "top",
238
+ fade: true
239
+ }, t('Alignment'))), /*#__PURE__*/_react["default"].createElement("span", {
242
240
  id: "sdoc_image_border",
243
241
  role: "button",
244
242
  className: (0, _classnames["default"])('op-item', {
@@ -16,7 +16,7 @@ var _commons = require("../../commons");
16
16
  var _InlineBugFixWrapper = _interopRequireDefault(require("../../commons/Inline-bug-fix-wrapper"));
17
17
  var _constants = require("../../constants");
18
18
  var _core = require("../../core");
19
- var _insertElementToolbar = _interopRequireDefault(require("../../toolbar/insert-element-toolbar"));
19
+ var _quickInsertToolbar = _interopRequireDefault(require("../../toolbar/quick-insert-toolbar"));
20
20
  var _helper = require("./helper");
21
21
  var RenderQuickInsert = function RenderQuickInsert(_ref, editor, readonly) {
22
22
  var _aboveBlockNode$;
@@ -126,7 +126,7 @@ var RenderQuickInsert = function RenderQuickInsert(_ref, editor, readonly) {
126
126
  }, /*#__PURE__*/_react["default"].createElement("div", {
127
127
  ref: sideMenuRef,
128
128
  className: "sdoc-side-menu sdoc-dropdown-menu"
129
- }, /*#__PURE__*/_react["default"].createElement(_insertElementToolbar["default"], {
129
+ }, /*#__PURE__*/_react["default"].createElement(_quickInsertToolbar["default"], {
130
130
  isEmptyNode: isEmptyNode,
131
131
  insertPosition: isEmptyNode ? _constants.INSERT_POSITION.CURRENT : _constants.INSERT_POSITION.AFTER,
132
132
  slateNode: aboveBlockNode === null || aboveBlockNode === void 0 ? void 0 : aboveBlockNode[0],
@@ -13,6 +13,7 @@ var _reactI18next = require("react-i18next");
13
13
  var _reactstrap = require("reactstrap");
14
14
  var _classnames = _interopRequireDefault(require("classnames"));
15
15
  var _isHotkey = _interopRequireDefault(require("is-hotkey"));
16
+ var _tooltip = _interopRequireDefault(require("../../../../components/tooltip"));
16
17
  var _constants = require("../../../../constants");
17
18
  var _context = _interopRequireDefault(require("../../../../context"));
18
19
  var _debounce = _interopRequireDefault(require("../../../../utils/debounce"));
@@ -211,9 +212,13 @@ var SearchReplacePopover = function SearchReplacePopover(_ref) {
211
212
  }, /*#__PURE__*/_react["default"].createElement("span", {
212
213
  className: "sdoc-search-replace-title-text"
213
214
  }, t('Search_and_replace')), /*#__PURE__*/_react["default"].createElement("i", {
215
+ id: "sdoc-search-replace-title-close",
214
216
  onClick: closePopover,
215
217
  className: "sdocfont sdoc-sm-close sdoc-search-replace-title-close"
216
- })), /*#__PURE__*/_react["default"].createElement("div", {
218
+ }), /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
219
+ target: "sdoc-search-replace-title-close",
220
+ offset: [-6, 0]
221
+ }, t('Close'))), /*#__PURE__*/_react["default"].createElement("div", {
217
222
  className: "sdoc-search-replace-popover-body"
218
223
  }, /*#__PURE__*/_react["default"].createElement(_reactstrap.Label, {
219
224
  "for": "sdoc-search-replace-search-ipt"
@@ -30,7 +30,7 @@
30
30
  display: inline-flex;
31
31
  align-items: center;
32
32
  justify-content: center;
33
- color: rgb(44, 44, 43);
33
+ color: #212529;
34
34
  opacity: 0.5;
35
35
  }
36
36
 
@@ -2,52 +2,60 @@
2
2
  max-width: 300px;
3
3
  }
4
4
 
5
- .sdoc-dropdown-menu .sdoc-linked-repo-list-wrapper {
5
+ .sdoc-dropdown-menu.sdoc-linked-repo-list-wrapper {
6
6
  /* position: absolute; */
7
- background-color: #ffff;
8
- max-height: 370px;
9
- padding: 0px !important;
10
- width: 298px;
11
- padding: 0px;
12
7
  left: -8px;
8
+ background-color: #fff;
9
+ max-height: 370px;
10
+ max-width: 298px;
11
+ border-radius: 8px;
13
12
  }
14
13
 
15
- .sdoc-dropdown-menu .sdoc-linked-repo-list-wrapper .sdoc-linked-repo-list-tip {
16
- margin-top: 8px;
17
- min-height: 32px;
18
- padding: 3px 12px;
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;
19
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;
20
25
  }
21
26
 
22
- .sdoc-dropdown-menu .sdoc-linked-repo-list-wrapper .sdoc-linked-repo-list-content-wrapper {
27
+ .sdoc-dropdown-menu.sdoc-linked-repo-list-wrapper .sdoc-linked-repo-list-content-wrapper {
23
28
  max-height: 300px;
24
29
  overflow-y: auto;
25
30
  padding-bottom: 8px;
26
31
  border-bottom: 1px solid #e9ecef;
27
32
  }
28
33
 
29
- .sdoc-dropdown-menu .sdoc-linked-repo-list-wrapper .sdoc-dropdown-menu-item {
30
- min-height: 32px;
31
- padding: 3px 12px;
32
- display: flex;
33
- align-items: center;
34
+ .sdoc-dropdown-menu.sdoc-linked-repo-list-wrapper .sdoc-dropdown-menu-item .lib-icon {
35
+ margin-right: 10px;
34
36
  }
35
37
 
36
- .sdoc-dropdown-menu .sdoc-linked-repo-list-wrapper .sdoc-dropdown-menu-item .lib-icon {
37
- margin-right: 10px;
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;
38
44
  }
39
45
 
40
- .sdoc-dropdown-menu .sdoc-linked-repo-list-wrapper .sdoc-linked-repo-list-add-toolbar {
46
+ .sdoc-dropdown-menu.sdoc-linked-repo-list-wrapper .sdoc-linked-repo-list-add-toolbar {
41
47
  min-height: 32px;
42
48
  padding: 3px 12px;
49
+ margin-top: 8px;
43
50
  }
44
51
 
45
- .sdoc-dropdown-menu .sdoc-linked-repo-list-wrapper .sdoc-linked-repo-list-add-toolbar .sdocfont {
52
+ .sdoc-dropdown-menu.sdoc-linked-repo-list-wrapper .sdoc-linked-repo-list-add-toolbar .sdocfont {
46
53
  color: #666;
47
54
  margin-right: 10px;
48
55
  }
49
56
 
50
- .sdoc-dropdown-menu .sdoc-linked-repo-list-wrapper .sdoc-linked-repo-list-add-toolbar:hover {
51
- background: #f5f5f5;
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;
52
60
  cursor: pointer;
53
61
  }
@@ -31,11 +31,13 @@ var LinkedRepoList = function LinkedRepoList(_ref) {
31
31
  }, /*#__PURE__*/_react["default"].createElement("div", {
32
32
  className: "sdoc-linked-repo-list-tip"
33
33
  }, t('Show_files_from_a_linked_library')), /*#__PURE__*/_react["default"].createElement("div", {
34
+ className: "sdoc-linked-repo-list-divider"
35
+ }), /*#__PURE__*/_react["default"].createElement("div", {
34
36
  className: "sdoc-linked-repo-list-content-wrapper"
35
37
  }, enableRepos.map(function (item) {
36
38
  return /*#__PURE__*/_react["default"].createElement("div", {
37
39
  key: item.repo_id,
38
- className: "sdoc-dropdown-menu-item text-truncate d-block",
40
+ className: "sdoc-dropdown-menu-item",
39
41
  onClick: function onClick() {
40
42
  return onRepoClick(item);
41
43
  }
@@ -44,7 +46,9 @@ var LinkedRepoList = function LinkedRepoList(_ref) {
44
46
  src: _lib["default"],
45
47
  width: "20",
46
48
  alt: ""
47
- }), item.repo_name);
49
+ }), /*#__PURE__*/_react["default"].createElement("div", {
50
+ className: "item-text"
51
+ }, item.repo_name));
48
52
  })), /*#__PURE__*/_react["default"].createElement("div", {
49
53
  className: "sdoc-linked-repo-list-add-toolbar",
50
54
  onClick: onAddLibraryClick
@@ -620,7 +620,7 @@ var QuickInsertBlockMenu = function QuickInsertBlockMenu(_ref) {
620
620
  onChange(e);
621
621
  }, [onChange]);
622
622
  return /*#__PURE__*/_react["default"].createElement("div", {
623
- className: "sdoc-insert-element-toolbar"
623
+ className: "sdoc-quick-insert-toolbar"
624
624
  }, /*#__PURE__*/_react["default"].createElement("div", {
625
625
  className: "sdoc-side-menu-search-wrapper"
626
626
  }, /*#__PURE__*/_react["default"].createElement(_reactstrap.Input, {
@@ -0,0 +1,9 @@
1
+ .sdoc-quick-insert-toolbar .sdoc-dropdown-menu-item.sdoc-dropdown-item-selected {
2
+ background-color: #e3e3e3;
3
+ }
4
+
5
+ .sdoc-quick-insert-toolbar .sdoc-insert-element-content-wrapper {
6
+ max-height: 278px;
7
+ overflow-y: auto;
8
+ padding: 0 8px 8px;
9
+ }
@@ -23,15 +23,16 @@ var _constants2 = require("../../constants");
23
23
  var _helper = require("../../plugins/callout/helper");
24
24
  var _helpers = require("../../plugins/check-list/helpers");
25
25
  var _helpers2 = require("../../plugins/code-block/helpers");
26
- var _helpers3 = require("../../plugins/file-view/helpers");
26
+ var _helpers3 = require("../../plugins/file-link/helpers");
27
+ var _helpers4 = require("../../plugins/file-view/helpers");
27
28
  var _transforms = require("../../plugins/list/transforms");
28
29
  var _helper2 = require("../../plugins/multi-column/helper");
29
- var _helpers4 = require("../../plugins/table/helpers");
30
+ var _helpers5 = require("../../plugins/table/helpers");
30
31
  var _tableSizePopover = _interopRequireDefault(require("../../plugins/table/popover/table-size-popover"));
31
32
  var _helper3 = require("../../plugins/toggle-header/helper");
32
- var _helpers5 = require("../../plugins/video/helpers");
33
+ var _helpers6 = require("../../plugins/video/helpers");
33
34
  var _linkedRepoPopover = _interopRequireDefault(require("../linked-repo-popover"));
34
- var _helpers6 = require("./helpers");
35
+ var _helpers7 = require("./helpers");
35
36
  var InsertBlockMenu = function InsertBlockMenu(_ref) {
36
37
  var _ref$insertPosition = _ref.insertPosition,
37
38
  insertPosition = _ref$insertPosition === void 0 ? _constants2.INSERT_POSITION.CURRENT : _ref$insertPosition,
@@ -43,6 +44,7 @@ var InsertBlockMenu = function InsertBlockMenu(_ref) {
43
44
  var _useTranslation = (0, _reactI18next.useTranslation)('sdoc-editor'),
44
45
  t = _useTranslation.t;
45
46
  var enableMetadataManagement = _context["default"].getSetting('enableMetadataManagement');
47
+ var hasLinkedRepos = _context["default"].hasLinkedRepos();
46
48
  var onInsertImageToggle = (0, _react.useCallback)(function () {
47
49
  var eventBus = _eventBus["default"].getInstance();
48
50
  if (insertPosition === _constants2.INSERT_POSITION.CURRENT) {
@@ -70,7 +72,7 @@ var InsertBlockMenu = function InsertBlockMenu(_ref) {
70
72
  }, [editor, insertPosition]);
71
73
  var addVideoLink = (0, _react.useCallback)(function () {
72
74
  if (insertPosition === _constants2.INSERT_POSITION.AFTER) {
73
- (0, _helpers6.insertElement)(editor, _constants2.PARAGRAPH, insertPosition);
75
+ (0, _helpers7.insertElement)(editor, _constants2.PARAGRAPH, insertPosition);
74
76
  }
75
77
  var eventBus = _eventBus["default"].getInstance();
76
78
  eventBus.dispatch(_constants.INTERNAL_EVENT.INSERT_ELEMENT, {
@@ -82,12 +84,12 @@ var InsertBlockMenu = function InsertBlockMenu(_ref) {
82
84
  }, [insertPosition, editor]);
83
85
  var openSelectVideoFileDialog = (0, _react.useCallback)(function () {
84
86
  if (insertPosition === _constants2.INSERT_POSITION.AFTER) {
85
- (0, _helpers6.insertElement)(editor, _constants2.PARAGRAPH, insertPosition);
87
+ (0, _helpers7.insertElement)(editor, _constants2.PARAGRAPH, insertPosition);
86
88
  }
87
89
  var eventBus = _eventBus["default"].getInstance();
88
90
  eventBus.dispatch(_constants.INTERNAL_EVENT.INSERT_ELEMENT, {
89
91
  type: _constants2.ELEMENT_TYPE.VIDEO,
90
- insertVideo: _helpers5.insertVideo,
92
+ insertVideo: _helpers6.insertVideo,
91
93
  insertPosition: insertPosition,
92
94
  slateNode: slateNode
93
95
  });
@@ -95,7 +97,7 @@ var InsertBlockMenu = function InsertBlockMenu(_ref) {
95
97
  }, [insertPosition, slateNode]);
96
98
  var createTable = (0, _react.useCallback)(function (size) {
97
99
  var newInsertPosition = slateNode.type === _constants2.ELEMENT_TYPE.LIST_ITEM ? _constants2.INSERT_POSITION.AFTER : insertPosition;
98
- (0, _helpers4.insertTable)(editor, size, editor.selection, newInsertPosition);
100
+ (0, _helpers5.insertTable)(editor, size, editor.selection, newInsertPosition);
99
101
 
100
102
  // eslint-disable-next-line react-hooks/exhaustive-deps
101
103
  }, [editor, insertPosition, slateNode]);
@@ -139,14 +141,14 @@ var InsertBlockMenu = function InsertBlockMenu(_ref) {
139
141
  (0, _helper3.insertToggleHeader)(editor, type, insertPosition);
140
142
  return;
141
143
  }
142
- (0, _helpers6.insertElement)(editor, type, insertPosition);
144
+ (0, _helpers7.insertElement)(editor, type, insertPosition);
143
145
  // eslint-disable-next-line react-hooks/exhaustive-deps
144
146
  }, [editor, insertPosition, slateNode]);
145
147
  var onInsertCallout = (0, _react.useCallback)(function (type) {
146
148
  if (insertPosition === _constants2.INSERT_POSITION.CURRENT) {
147
149
  (0, _helper.wrapCallout)(editor);
148
150
  } else if (insertPosition === _constants2.INSERT_POSITION.AFTER) {
149
- (0, _helpers6.insertElement)(editor, type, insertPosition);
151
+ (0, _helpers7.insertElement)(editor, type, insertPosition);
150
152
  (0, _helper.wrapCallout)(editor);
151
153
  }
152
154
  }, [editor, insertPosition]);
@@ -168,12 +170,23 @@ var InsertBlockMenu = function InsertBlockMenu(_ref) {
168
170
  wiki_id: wikiId,
169
171
  file_view_id: fileView.id
170
172
  };
171
- (0, _helpers3.insertFileView)(viewData, editor, insertPosition, slateNode);
173
+ (0, _helpers4.insertFileView)(viewData, editor, insertPosition, slateNode);
172
174
  })["catch"](function (error) {
173
175
  var errorMessage = (0, _commonUtils.getErrorMsg)(error);
174
176
  _toast["default"].danger(errorMessage);
175
177
  });
176
178
  }, [editor, insertPosition, slateNode]);
179
+ var openSelectFileDialog = (0, _react.useCallback)(function () {
180
+ if (insertPosition === _constants2.INSERT_POSITION.AFTER) {
181
+ (0, _helpers7.insertElement)(editor, _constants2.PARAGRAPH, insertPosition);
182
+ }
183
+ var eventBus = _eventBus["default"].getInstance();
184
+ eventBus.dispatch(_constants.INTERNAL_EVENT.INSERT_ELEMENT, {
185
+ type: _constants2.ELEMENT_TYPE.FILE,
186
+ insertFileLinkCallback: _helpers3.insertFileLink
187
+ });
188
+ // eslint-disable-next-line react-hooks/exhaustive-deps
189
+ }, [editor, insertPosition]);
177
190
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, [_constants2.SIDE_INSERT_MENUS_CONFIG[_constants2.ELEMENT_TYPE.PARAGRAPH]].concat((0, _toConsumableArray2["default"])(_constants2.SIDE_INSERT_MENUS_CONFIG[_constants2.ELEMENT_TYPE.HEADER]), (0, _toConsumableArray2["default"])(_constants2.SIDE_INSERT_MENUS_CONFIG[_constants2.ELEMENT_TYPE.TOGGLE_HEADER])).map(function (item) {
178
191
  return /*#__PURE__*/_react["default"].createElement(_dropdownMenuItem["default"], {
179
192
  isHidden: !insertMenuSearchMap[item.type],
@@ -216,7 +229,7 @@ var InsertBlockMenu = function InsertBlockMenu(_ref) {
216
229
  }), editor.editorType !== _constants.DOCUMENT_PLUGIN_EDITOR && /*#__PURE__*/_react["default"].createElement(_dropdownMenuItem["default"], {
217
230
  isHidden: !insertMenuSearchMap[_constants2.ELEMENT_TYPE.VIDEO],
218
231
  key: "sdoc-insert-menu-video",
219
- disabled: (0, _helpers6.isInMultiColumnNode)(editor, slateNode),
232
+ disabled: (0, _helpers7.isInMultiColumnNode)(editor, slateNode),
220
233
  menuConfig: (0, _objectSpread2["default"])({}, _constants2.SIDE_INSERT_MENUS_CONFIG[_constants2.ELEMENT_TYPE.VIDEO]),
221
234
  className: "pr-2"
222
235
  }, /*#__PURE__*/_react["default"].createElement("i", {
@@ -260,6 +273,11 @@ var InsertBlockMenu = function InsertBlockMenu(_ref) {
260
273
  isHidden: !insertMenuSearchMap[_constants2.ELEMENT_TYPE.LINK],
261
274
  menuConfig: (0, _objectSpread2["default"])({}, _constants2.SIDE_INSERT_MENUS_CONFIG[_constants2.ELEMENT_TYPE.LINK]),
262
275
  onClick: openLinkDialog
276
+ }), editor.editorType === _constants.WIKI_EDITOR && hasLinkedRepos && /*#__PURE__*/_react["default"].createElement(_dropdownMenuItem["default"], {
277
+ isHidden: !insertMenuSearchMap[_constants2.ELEMENT_TYPE.FILE],
278
+ key: "sdoc-insert-menu-file-link",
279
+ menuConfig: (0, _objectSpread2["default"])({}, _constants2.SIDE_INSERT_MENUS_CONFIG[_constants2.ELEMENT_TYPE.FILE]),
280
+ onClick: openSelectFileDialog
263
281
  }), /*#__PURE__*/_react["default"].createElement(_dropdownMenuItem["default"], {
264
282
  isHidden: !insertMenuSearchMap[_constants2.ELEMENT_TYPE.CODE_BLOCK],
265
283
  menuConfig: (0, _objectSpread2["default"])({}, _constants2.SIDE_INSERT_MENUS_CONFIG[_constants2.ELEMENT_TYPE.CODE_BLOCK]),
@@ -70,9 +70,12 @@ var SDocOutline = function SDocOutline(_ref) {
70
70
  }, /*#__PURE__*/_react["default"].createElement("h2", {
71
71
  className: "sdoc-outline-header__title"
72
72
  }, t('Outline')), /*#__PURE__*/_react["default"].createElement("span", {
73
+ id: "sdoc-outline-close",
73
74
  className: "sdoc-outline-header__close sdocfont sdoc-sm-close",
74
75
  onClick: toggleShow
75
- })), list.length === 0 && /*#__PURE__*/_react["default"].createElement("p", {
76
+ }), /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
77
+ target: "sdoc-outline-close"
78
+ }, t('Close'))), list.length === 0 && /*#__PURE__*/_react["default"].createElement("p", {
76
79
  className: "mt-4 text-secondary"
77
80
  }, t('Headings_you_add_to_the_document_will_appear_here')), list.length > 0 && /*#__PURE__*/_react["default"].createElement("div", {
78
81
  className: "sdoc-outline-list-container"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seafile/sdoc-editor",
3
- "version": "3.0.194",
3
+ "version": "3.0.197",
4
4
  "main": "dist/index.js",
5
5
  "scripts": {
6
6
  "test": "jest",
@@ -20,7 +20,7 @@
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.63",
23
+ "@seafile/sdoc-file-view": "0.0.65",
24
24
  "@seafile/slate": "0.91.8",
25
25
  "@seafile/slate-history": "0.86.2",
26
26
  "@seafile/slate-hyperscript": "0.81.7",
@@ -72,5 +72,5 @@
72
72
  "publishConfig": {
73
73
  "access": "public"
74
74
  },
75
- "gitHead": "cdf81edd23b4350536ba04db8714950eba31ed7e"
75
+ "gitHead": "883ff8d09d29e0cbe27254150e1a815f895d7700"
76
76
  }
@@ -1,9 +0,0 @@
1
- .sdoc-insert-element-toolbar .sdoc-dropdown-menu-item.sdoc-dropdown-item-selected {
2
- background-color: #e3e3e3;
3
- }
4
-
5
- .sdoc-insert-element-toolbar .sdoc-insert-element-content-wrapper {
6
- max-height: 278px;
7
- overflow-y: auto;
8
- padding: 0 8px 8px;
9
- }