@seafile/sdoc-editor 3.0.165 → 3.0.167
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 +22 -0
- package/dist/comment/components/comment-image-previewer.js +2 -1
- package/dist/comment/components/comment-list.js +2 -2
- package/dist/comment/components/global-comment/index.js +1 -1
- package/dist/context.js +32 -0
- package/dist/extension/commons/insert-element-dialog/index.js +13 -2
- package/dist/extension/commons/select-lib-file-dialog/helpers.js +59 -0
- package/dist/extension/commons/select-lib-file-dialog/index.css +127 -0
- package/dist/extension/commons/select-lib-file-dialog/index.js +143 -0
- package/dist/extension/commons/select-lib-file-dialog/tree-view/index.css +129 -0
- package/dist/extension/commons/select-lib-file-dialog/tree-view/index.js +221 -0
- package/dist/extension/constants/element-type.js +2 -1
- package/dist/extension/constants/menus-config.js +8 -3
- package/dist/extension/plugins/file-link/menu/index.js +3 -0
- package/dist/extension/plugins/image/dialogs/image-previewer.js +2 -1
- package/dist/extension/plugins/quick-insert/render-elem.js +6 -1
- package/dist/extension/render/render-comment-editor-element.js +2 -3
- package/dist/extension/toolbar/insert-element-toolbar/index.js +51 -32
- package/dist/extension/toolbar/linked-repo-popover/link-repo-list.js +1 -10
- package/package.json +2 -2
|
@@ -0,0 +1,221 @@
|
|
|
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"] = void 0;
|
|
9
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
|
|
10
|
+
var _regenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/regenerator"));
|
|
11
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/asyncToGenerator"));
|
|
12
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/toConsumableArray"));
|
|
13
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
14
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
15
|
+
var _reactI18next = require("react-i18next");
|
|
16
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
17
|
+
var _toast = _interopRequireDefault(require("../../../../components/toast"));
|
|
18
|
+
var _context2 = _interopRequireDefault(require("../../../../context"));
|
|
19
|
+
var _commonUtils = require("../../../../utils/common-utils");
|
|
20
|
+
var _helpers = require("../helpers");
|
|
21
|
+
require("./index.css");
|
|
22
|
+
var TreeView = function TreeView(_ref) {
|
|
23
|
+
var repoID = _ref.repoID,
|
|
24
|
+
onSelectedFile = _ref.onSelectedFile,
|
|
25
|
+
toggle = _ref.toggle,
|
|
26
|
+
t = _ref.t;
|
|
27
|
+
var folderRef = (0, _react.useRef)(null);
|
|
28
|
+
var repoCacheRef = (0, _react.useRef)({});
|
|
29
|
+
var _useState = (0, _react.useState)(new Set([])),
|
|
30
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
31
|
+
expandedFolder = _useState2[0],
|
|
32
|
+
setExpandedFolder = _useState2[1];
|
|
33
|
+
var _useState3 = (0, _react.useState)(null),
|
|
34
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
35
|
+
currentActiveItem = _useState4[0],
|
|
36
|
+
setCurrentActiveItem = _useState4[1];
|
|
37
|
+
var _useState5 = (0, _react.useState)([]),
|
|
38
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
39
|
+
treeData = _useState6[0],
|
|
40
|
+
setTreeData = _useState6[1];
|
|
41
|
+
var updateRepoCache = (0, _react.useCallback)(function (repoID, nextTreeData) {
|
|
42
|
+
var nextExpandedFolder = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : new Set([]);
|
|
43
|
+
repoCacheRef.current[repoID] = {
|
|
44
|
+
treeData: nextTreeData,
|
|
45
|
+
expandedFolder: Array.from(nextExpandedFolder)
|
|
46
|
+
};
|
|
47
|
+
}, []);
|
|
48
|
+
var getTreeData = (0, _react.useCallback)(function (repoID, nodePath, nodeId) {
|
|
49
|
+
var currentTreeData = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
|
|
50
|
+
return _context2["default"].listLinkedRepoDir(repoID, nodePath).then(function (res) {
|
|
51
|
+
var dirent_list = res.data.dirent_list;
|
|
52
|
+
var newData = dirent_list.map(function (item) {
|
|
53
|
+
item.path = nodePath === '/' ? "/".concat(item.name) : "".concat(nodePath, "/").concat(item.name);
|
|
54
|
+
item.indexId = item.path;
|
|
55
|
+
return item;
|
|
56
|
+
});
|
|
57
|
+
var nextTreeData = newData;
|
|
58
|
+
|
|
59
|
+
// Open folder
|
|
60
|
+
if (nodeId && currentTreeData.length > 0) {
|
|
61
|
+
var newFileListData = (0, _helpers.addDataToTree)(currentTreeData, nodeId, newData, nodePath);
|
|
62
|
+
nextTreeData = (0, _toConsumableArray2["default"])(newFileListData);
|
|
63
|
+
}
|
|
64
|
+
setTreeData(nextTreeData);
|
|
65
|
+
return nextTreeData;
|
|
66
|
+
})["catch"](function (error) {
|
|
67
|
+
toggle();
|
|
68
|
+
var errorMessage = (0, _commonUtils.getErrorMsg)(error);
|
|
69
|
+
_toast["default"].danger(errorMessage);
|
|
70
|
+
return null;
|
|
71
|
+
});
|
|
72
|
+
}, [toggle]);
|
|
73
|
+
(0, _react.useEffect)(function () {
|
|
74
|
+
setCurrentActiveItem(null);
|
|
75
|
+
onSelectedFile(null);
|
|
76
|
+
var cachedRepoData = repoCacheRef.current[repoID];
|
|
77
|
+
if (cachedRepoData !== null && cachedRepoData !== void 0 && cachedRepoData.treeData) {
|
|
78
|
+
setTreeData(cachedRepoData.treeData);
|
|
79
|
+
setExpandedFolder(new Set(cachedRepoData.expandedFolder));
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
var rootPath = '/';
|
|
83
|
+
setTreeData([]);
|
|
84
|
+
setExpandedFolder(new Set([]));
|
|
85
|
+
getTreeData(repoID, rootPath).then(function (nextTreeData) {
|
|
86
|
+
if (!nextTreeData) return;
|
|
87
|
+
updateRepoCache(repoID, nextTreeData, new Set([]));
|
|
88
|
+
});
|
|
89
|
+
}, [getTreeData, onSelectedFile, repoID, updateRepoCache]);
|
|
90
|
+
var onToggle = (0, _react.useCallback)(/*#__PURE__*/function () {
|
|
91
|
+
var _ref2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/(0, _regenerator2["default"])().m(function _callee(e, item) {
|
|
92
|
+
var nextExpandedFolder, nextTreeData, hasLoadedChildren, _t;
|
|
93
|
+
return (0, _regenerator2["default"])().w(function (_context) {
|
|
94
|
+
while (1) switch (_context.n) {
|
|
95
|
+
case 0:
|
|
96
|
+
e && e.stopPropagation();
|
|
97
|
+
nextExpandedFolder = new Set(Array.from(expandedFolder));
|
|
98
|
+
nextTreeData = treeData;
|
|
99
|
+
if (!expandedFolder.has(item.indexId)) {
|
|
100
|
+
_context.n = 1;
|
|
101
|
+
break;
|
|
102
|
+
}
|
|
103
|
+
nextExpandedFolder["delete"](item.indexId);
|
|
104
|
+
_context.n = 5;
|
|
105
|
+
break;
|
|
106
|
+
case 1:
|
|
107
|
+
hasLoadedChildren = Object.prototype.hasOwnProperty.call(item, 'children');
|
|
108
|
+
if (hasLoadedChildren) {
|
|
109
|
+
_context.n = 4;
|
|
110
|
+
break;
|
|
111
|
+
}
|
|
112
|
+
_context.n = 2;
|
|
113
|
+
return getTreeData(repoID, item.path, item.indexId, treeData);
|
|
114
|
+
case 2:
|
|
115
|
+
_t = _context.v;
|
|
116
|
+
if (_t) {
|
|
117
|
+
_context.n = 3;
|
|
118
|
+
break;
|
|
119
|
+
}
|
|
120
|
+
_t = treeData;
|
|
121
|
+
case 3:
|
|
122
|
+
nextTreeData = _t;
|
|
123
|
+
case 4:
|
|
124
|
+
nextExpandedFolder.add(item.indexId);
|
|
125
|
+
case 5:
|
|
126
|
+
onSelectedFile(null);
|
|
127
|
+
setCurrentActiveItem(item);
|
|
128
|
+
setExpandedFolder(nextExpandedFolder);
|
|
129
|
+
updateRepoCache(repoID, nextTreeData, nextExpandedFolder);
|
|
130
|
+
case 6:
|
|
131
|
+
return _context.a(2);
|
|
132
|
+
}
|
|
133
|
+
}, _callee);
|
|
134
|
+
}));
|
|
135
|
+
return function (_x, _x2) {
|
|
136
|
+
return _ref2.apply(this, arguments);
|
|
137
|
+
};
|
|
138
|
+
}(), [expandedFolder, getTreeData, onSelectedFile, repoID, treeData, updateRepoCache]);
|
|
139
|
+
var onSelectFile = (0, _react.useCallback)(function (e, file) {
|
|
140
|
+
e.stopPropagation();
|
|
141
|
+
var newFile = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, file), {}, {
|
|
142
|
+
path: file.path || file.fullpath
|
|
143
|
+
});
|
|
144
|
+
setCurrentActiveItem(newFile);
|
|
145
|
+
onSelectedFile(newFile);
|
|
146
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
147
|
+
}, []);
|
|
148
|
+
var renderFileTree = (0, _react.useCallback)(function (data) {
|
|
149
|
+
if (!Array.isArray(data) || data.length === 0) return null;
|
|
150
|
+
return data.map(function (item) {
|
|
151
|
+
var _item$fullpath, _item$children, _item$children2;
|
|
152
|
+
if (!item) return null;
|
|
153
|
+
var type = item.type,
|
|
154
|
+
indexId = item.indexId,
|
|
155
|
+
name = item.name,
|
|
156
|
+
file_uuid = item.file_uuid,
|
|
157
|
+
path = item.path,
|
|
158
|
+
fullpath = item.fullpath;
|
|
159
|
+
var isExpanded = expandedFolder.has(indexId);
|
|
160
|
+
var hasLoadedChildren = Object.prototype.hasOwnProperty.call(item, 'children');
|
|
161
|
+
// Get file type icon
|
|
162
|
+
var fileTypeIcon = (0, _helpers.parcelFileTypeIcon)(name);
|
|
163
|
+
var result = (_item$fullpath = item.fullpath) === null || _item$fullpath === void 0 ? void 0 : _item$fullpath.split('/').filter(Boolean);
|
|
164
|
+
item.fullpath && result.pop();
|
|
165
|
+
var folderPath = item.fullpath && result.join('/');
|
|
166
|
+
var selected = (currentActiveItem === null || currentActiveItem === void 0 ? void 0 : currentActiveItem.path) === (path || fullpath);
|
|
167
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
168
|
+
key: indexId || file_uuid,
|
|
169
|
+
className: (0, _classnames["default"])('sdoc-folder-container')
|
|
170
|
+
}, type === 'dir' && /*#__PURE__*/_react["default"].createElement("div", {
|
|
171
|
+
ref: folderRef,
|
|
172
|
+
className: "sdoc-folder-wrapper"
|
|
173
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
174
|
+
className: (0, _classnames["default"])('sdoc-folder-info sdoc-file-info', {
|
|
175
|
+
'expanded': isExpanded
|
|
176
|
+
}),
|
|
177
|
+
onClick: function onClick(e) {
|
|
178
|
+
return onToggle(e, item);
|
|
179
|
+
}
|
|
180
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
181
|
+
className: "sdoc-file-icon-container"
|
|
182
|
+
}, /*#__PURE__*/_react["default"].createElement("i", {
|
|
183
|
+
className: "sdoc-file-icon sdoc-file-icon-toggle sdocfont sdoc-arrow-right"
|
|
184
|
+
}), /*#__PURE__*/_react["default"].createElement("i", {
|
|
185
|
+
className: "sdoc-file-icon sdocfont sdoc-folder"
|
|
186
|
+
})), /*#__PURE__*/_react["default"].createElement("span", {
|
|
187
|
+
className: "sdoc-folder-name sdoc-file-name"
|
|
188
|
+
}, name)), isExpanded && hasLoadedChildren && /*#__PURE__*/_react["default"].createElement("div", {
|
|
189
|
+
className: "sdoc-folder-children"
|
|
190
|
+
}, ((_item$children = item.children) === null || _item$children === void 0 ? void 0 : _item$children.length) === 0 && /*#__PURE__*/_react["default"].createElement("div", {
|
|
191
|
+
className: "sdoc-folder-children-empty"
|
|
192
|
+
}, "(".concat(t('Empty'), ")")), ((_item$children2 = item.children) === null || _item$children2 === void 0 ? void 0 : _item$children2.length) > 0 && renderFileTree(item.children))), ['file', 'video', 'exdraw'].includes(type) && /*#__PURE__*/_react["default"].createElement("div", {
|
|
193
|
+
className: (0, _classnames["default"])('sdoc-file-info'),
|
|
194
|
+
onClick: function onClick(e) {
|
|
195
|
+
onSelectFile(e, item);
|
|
196
|
+
}
|
|
197
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
198
|
+
className: "sdoc-file-icon-container"
|
|
199
|
+
}, /*#__PURE__*/_react["default"].createElement("i", {
|
|
200
|
+
className: (0, _classnames["default"])('sdoc-file-icon', {
|
|
201
|
+
'sdocfont sdoc-link-file': !fileTypeIcon
|
|
202
|
+
})
|
|
203
|
+
}), fileTypeIcon && /*#__PURE__*/_react["default"].createElement("img", {
|
|
204
|
+
className: "sdoc-file-img",
|
|
205
|
+
src: fileTypeIcon,
|
|
206
|
+
alt: ""
|
|
207
|
+
})), /*#__PURE__*/_react["default"].createElement("span", {
|
|
208
|
+
className: "sdoc-file-name"
|
|
209
|
+
}, name), item.fullpath && folderPath.length !== 0 && /*#__PURE__*/_react["default"].createElement("span", {
|
|
210
|
+
className: "sdoc-search-folder-name"
|
|
211
|
+
}, folderPath), selected && /*#__PURE__*/_react["default"].createElement("i", {
|
|
212
|
+
className: "sdoc-file-checked sdocfont sdoc-check-mark"
|
|
213
|
+
})));
|
|
214
|
+
});
|
|
215
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
216
|
+
}, [treeData, currentActiveItem, expandedFolder]);
|
|
217
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
218
|
+
className: "sdoc-files-tree"
|
|
219
|
+
}, renderFileTree(treeData));
|
|
220
|
+
};
|
|
221
|
+
var _default = exports["default"] = (0, _reactI18next.withTranslation)('sdoc-editor')(TreeView);
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.WIKI_LINK = exports.WHITEBOARD = exports.VIDEO_LINK = exports.VIDEO = exports.UNORDERED_LIST = exports.TWO_COLUMN = exports.TOP_LEVEL_TYPES = exports.TOGGLE_HEADER3 = exports.TOGGLE_HEADER2 = exports.TOGGLE_HEADER1 = exports.TOGGLE_HEADER = exports.TOGGLE_CONTENT = exports.TITLE = exports.THREE_COLUMN = exports.TABLE_ROW = exports.TABLE_CELL = exports.TABLE = exports.SUBTITLE = exports.SDOC_LINK = exports.QUICK_INSERT = exports.PARAGRAPH = exports.ORDERED_LIST = exports.MULTI_COLUMN = exports.MENTION_TEMP = exports.MENTION = exports.LIST_ITEM = exports.LINK = exports.INLINE_LEVEL_TYPES = exports.IMAGE_BLOCK = exports.IMAGE = exports.HEADER6 = exports.HEADER5 = exports.HEADER4 = exports.HEADER3 = exports.HEADER2 = exports.HEADER1 = exports.HEADER = exports.GROUP = exports.FOUR_COLUMN = exports.FORMULA = exports.FONT_SIZE_REDUCE = exports.FONT_SIZE_INCREASE = exports.FONT_SIZE = exports.FIVE_COLUMN = exports.FILE_VIEW = exports.FILE_LINK_INSET_INPUT_TEMP = exports.FILE_LINK = exports.EMBED_LINK = exports.DIVIDER = exports.COLUMN = exports.CODE_LINE = exports.CODE_BLOCK = exports.CHECK_LIST_ITEM = exports.CALL_OUT = exports.BLOCKQUOTE = exports.ASK_AI = void 0;
|
|
6
|
+
exports.WIKI_LINK = exports.WHITEBOARD = exports.VIDEO_LINK = exports.VIDEO = exports.UNORDERED_LIST = exports.TWO_COLUMN = exports.TOP_LEVEL_TYPES = exports.TOGGLE_HEADER3 = exports.TOGGLE_HEADER2 = exports.TOGGLE_HEADER1 = exports.TOGGLE_HEADER = exports.TOGGLE_CONTENT = exports.TITLE = exports.THREE_COLUMN = exports.TABLE_ROW = exports.TABLE_CELL = exports.TABLE = exports.SUBTITLE = exports.SDOC_LINK = exports.QUICK_INSERT = exports.PARAGRAPH = exports.ORDERED_LIST = exports.MULTI_COLUMN = exports.MENTION_TEMP = exports.MENTION = exports.LIST_ITEM = exports.LINK = exports.INLINE_LEVEL_TYPES = exports.IMAGE_BLOCK = exports.IMAGE = exports.HEADER6 = exports.HEADER5 = exports.HEADER4 = exports.HEADER3 = exports.HEADER2 = exports.HEADER1 = exports.HEADER = exports.GROUP = exports.FOUR_COLUMN = exports.FORMULA = exports.FONT_SIZE_REDUCE = exports.FONT_SIZE_INCREASE = exports.FONT_SIZE = exports.FIVE_COLUMN = exports.FILE_VIEW = exports.FILE_LINK_INSET_INPUT_TEMP = exports.FILE_LINK = exports.FILE = exports.EMBED_LINK = exports.DIVIDER = exports.COLUMN = exports.CODE_LINE = exports.CODE_BLOCK = exports.CHECK_LIST_ITEM = exports.CALL_OUT = exports.BLOCKQUOTE = exports.ASK_AI = void 0;
|
|
7
7
|
var BLOCKQUOTE = exports.BLOCKQUOTE = 'blockquote';
|
|
8
8
|
var TITLE = exports.TITLE = 'title';
|
|
9
9
|
var SUBTITLE = exports.SUBTITLE = 'subtitle';
|
|
@@ -53,6 +53,7 @@ var TOGGLE_HEADER3 = exports.TOGGLE_HEADER3 = 'toggle_header3';
|
|
|
53
53
|
var TOGGLE_CONTENT = exports.TOGGLE_CONTENT = 'toggle_content';
|
|
54
54
|
var EMBED_LINK = exports.EMBED_LINK = 'embed_link';
|
|
55
55
|
var DIVIDER = exports.DIVIDER = 'divider';
|
|
56
|
+
var FILE = exports.FILE = 'file';
|
|
56
57
|
var ASK_AI = exports.ASK_AI = 'ask_ai';
|
|
57
58
|
|
|
58
59
|
// font
|
|
@@ -315,6 +315,11 @@ var SIDE_INSERT_MENUS_CONFIG = exports.SIDE_INSERT_MENUS_CONFIG = (_SIDE_INSERT_
|
|
|
315
315
|
iconClass: 'sdocfont sdoc-link',
|
|
316
316
|
type: _elementType.LINK,
|
|
317
317
|
text: 'Link'
|
|
318
|
+
}), _elementType.FILE, {
|
|
319
|
+
id: 'sdoc-side-menu-item-file-link',
|
|
320
|
+
iconClass: 'sdocfont sdoc-link-file',
|
|
321
|
+
type: _elementType.FILE,
|
|
322
|
+
text: 'File'
|
|
318
323
|
}), _elementType.EMBED_LINK, {
|
|
319
324
|
id: '',
|
|
320
325
|
iconClass: 'sdocfont sdoc-embed-link',
|
|
@@ -339,12 +344,12 @@ var SIDE_INSERT_MENUS_CONFIG = exports.SIDE_INSERT_MENUS_CONFIG = (_SIDE_INSERT_
|
|
|
339
344
|
iconClass: 'sdocfont sdoc-list-ul',
|
|
340
345
|
type: _elementType.UNORDERED_LIST,
|
|
341
346
|
text: 'Unordered_list'
|
|
342
|
-
}), _elementType.CHECK_LIST_ITEM, {
|
|
347
|
+
}), (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_CO, _elementType.CHECK_LIST_ITEM, {
|
|
343
348
|
id: '',
|
|
344
349
|
iconClass: 'sdocfont sdoc-check-square',
|
|
345
350
|
type: _elementType.CHECK_LIST_ITEM,
|
|
346
351
|
text: 'Check_list'
|
|
347
|
-
}),
|
|
352
|
+
}), _elementType.PARAGRAPH, {
|
|
348
353
|
id: _elementType.PARAGRAPH,
|
|
349
354
|
iconClass: 'sdocfont sdoc-text',
|
|
350
355
|
type: _elementType.PARAGRAPH,
|
|
@@ -411,7 +416,7 @@ var SIDE_INSERT_MENUS_CONFIG = exports.SIDE_INSERT_MENUS_CONFIG = (_SIDE_INSERT_
|
|
|
411
416
|
text: 'Formula'
|
|
412
417
|
}));
|
|
413
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'));
|
|
414
|
-
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.
|
|
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'));
|
|
415
420
|
|
|
416
421
|
// Other operations menu config
|
|
417
422
|
var SIDE_OTHER_OPERATIONS_MENUS_SEARCH_MAP = exports.SIDE_OTHER_OPERATIONS_MENUS_SEARCH_MAP = {
|
|
@@ -8,6 +8,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports["default"] = void 0;
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _constants = require("../../../../constants");
|
|
11
|
+
var _context = _interopRequireDefault(require("../../../../context"));
|
|
11
12
|
var _dropdownMenuItem = _interopRequireDefault(require("../../../commons/dropdown-menu-item"));
|
|
12
13
|
var _constants2 = require("../../../constants");
|
|
13
14
|
var _helpers = require("../helpers");
|
|
@@ -18,6 +19,7 @@ var FileLinkMenu = function FileLinkMenu(_ref) {
|
|
|
18
19
|
eventBus = _ref.eventBus;
|
|
19
20
|
var disabled = (0, _helpers.isMenuDisabled)(editor, readonly);
|
|
20
21
|
var menuConfig = _constants2.MENUS_CONFIG_MAP[_constants2.FILE_LINK];
|
|
22
|
+
var shouldShow = (editor === null || editor === void 0 ? void 0 : editor.editorType) === _constants.WIKI_EDITOR && _context["default"].hasLinkedRepos();
|
|
21
23
|
var openSelectFileDialog = (0, _react.useCallback)(function () {
|
|
22
24
|
eventBus.dispatch(_constants.INTERNAL_EVENT.INSERT_ELEMENT, {
|
|
23
25
|
type: _constants2.ELEMENT_TYPE.FILE_LINK,
|
|
@@ -27,6 +29,7 @@ var FileLinkMenu = function FileLinkMenu(_ref) {
|
|
|
27
29
|
|
|
28
30
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
29
31
|
}, [toggle, eventBus]);
|
|
32
|
+
if (!shouldShow) return null;
|
|
30
33
|
return /*#__PURE__*/_react["default"].createElement(_dropdownMenuItem["default"], {
|
|
31
34
|
disabled: disabled,
|
|
32
35
|
menuConfig: menuConfig,
|
|
@@ -106,7 +106,8 @@ var ImagePreviewer = /*#__PURE__*/function (_React$Component) {
|
|
|
106
106
|
shouldReturnFocusAfterClose: false
|
|
107
107
|
},
|
|
108
108
|
zoomInTip: this.props.t('Zoom_in'),
|
|
109
|
-
zoomOutTip: this.props.t('Zoom_out')
|
|
109
|
+
zoomOutTip: this.props.t('Zoom_out'),
|
|
110
|
+
closeTip: this.props.t('Close')
|
|
110
111
|
});
|
|
111
112
|
}
|
|
112
113
|
}]);
|
|
@@ -19,6 +19,7 @@ var _core = require("../../core");
|
|
|
19
19
|
var _insertElementToolbar = _interopRequireDefault(require("../../toolbar/insert-element-toolbar"));
|
|
20
20
|
var _helper = require("./helper");
|
|
21
21
|
var RenderQuickInsert = function RenderQuickInsert(_ref, editor, readonly) {
|
|
22
|
+
var _aboveBlockNode$;
|
|
22
23
|
var attributes = _ref.attributes,
|
|
23
24
|
children = _ref.children,
|
|
24
25
|
element = _ref.element;
|
|
@@ -34,8 +35,12 @@ var RenderQuickInsert = function RenderQuickInsert(_ref, editor, readonly) {
|
|
|
34
35
|
var insertElmRef = (0, _react.useRef)(null);
|
|
35
36
|
var aboveBlockNode = (0, _core.getAboveBlockNode)(editor);
|
|
36
37
|
var parentBlockNode = _slate.Editor.parent(editor, aboveBlockNode === null || aboveBlockNode === void 0 ? void 0 : aboveBlockNode[1]);
|
|
38
|
+
var blockChildren = (aboveBlockNode === null || aboveBlockNode === void 0 ? void 0 : (_aboveBlockNode$ = aboveBlockNode[0]) === null || _aboveBlockNode$ === void 0 ? void 0 : _aboveBlockNode$.children) || [];
|
|
39
|
+
var isQuickInsertOnlyBlock = blockChildren.length > 0 && blockChildren.every(function (child) {
|
|
40
|
+
return (child === null || child === void 0 ? void 0 : child.type) === _constants.QUICK_INSERT || (child === null || child === void 0 ? void 0 : child.text) === '';
|
|
41
|
+
});
|
|
37
42
|
// In toggle content's empty paragraph or empty paragraph
|
|
38
|
-
var isEmptyNode = parentBlockNode && (parentBlockNode === null || parentBlockNode === void 0 ? void 0 : parentBlockNode[0].type) === _constants.TOGGLE_CONTENT ||
|
|
43
|
+
var isEmptyNode = parentBlockNode && (parentBlockNode === null || parentBlockNode === void 0 ? void 0 : parentBlockNode[0].type) === _constants.TOGGLE_CONTENT || isQuickInsertOnlyBlock;
|
|
39
44
|
var _useState3 = (0, _react.useState)((0, _helper.isSelectionSameWithInsert)(editor, element)),
|
|
40
45
|
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
41
46
|
isShowPopover = _useState4[0],
|
|
@@ -14,8 +14,7 @@ var _plugins = require("../plugins");
|
|
|
14
14
|
var RenderCommentEditorCustomRenderElement = function RenderCommentEditorCustomRenderElement(props) {
|
|
15
15
|
var editor = (0, _slateReact.useSlateStatic)();
|
|
16
16
|
var readonly = (0, _slateReact.useReadOnly)();
|
|
17
|
-
var element = props.element
|
|
18
|
-
commentType = props.commentType;
|
|
17
|
+
var element = props.element;
|
|
19
18
|
switch (element.type) {
|
|
20
19
|
case _constants.PARAGRAPH:
|
|
21
20
|
{
|
|
@@ -28,7 +27,7 @@ var RenderCommentEditorCustomRenderElement = function RenderCommentEditorCustomR
|
|
|
28
27
|
_renderParagraph = _ParagraphPlugin$rend[0];
|
|
29
28
|
return _renderParagraph(_props);
|
|
30
29
|
}
|
|
31
|
-
var placeholder =
|
|
30
|
+
var placeholder = 'shift_enter_for_new_line_Enter_to_send';
|
|
32
31
|
var _ParagraphPlugin$rend2 = (0, _slicedToArray2["default"])(_plugins.ParagraphPlugin.renderElements, 1),
|
|
33
32
|
renderParagraph = _ParagraphPlugin$rend2[0];
|
|
34
33
|
return renderParagraph((0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, _props), {}, {
|