@seafile/sdoc-editor 1.0.162-alpha.2 → 1.0.163-alpha.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/api/seafile-api.js +7 -6
- package/dist/basic-sdk/extension/commons/select-file-dialog/index.css +69 -1
- package/dist/basic-sdk/extension/commons/select-file-dialog/index.js +58 -48
- package/dist/basic-sdk/extension/commons/select-file-dialog/local-files/index.js +39 -4
- package/dist/basic-sdk/extension/constants/index.js +1 -9
- package/dist/basic-sdk/extension/plugins/link/render-elem.js +3 -1
- package/dist/context.js +5 -3
- package/package.json +1 -1
package/dist/api/seafile-api.js
CHANGED
|
@@ -117,13 +117,13 @@ class SeafileAPI {
|
|
|
117
117
|
}
|
|
118
118
|
|
|
119
119
|
// local files
|
|
120
|
-
getSdocFiles(docUuid, p, type
|
|
120
|
+
getSdocFiles(docUuid, p, type) {
|
|
121
121
|
const url = 'api/v2.1/seadoc/dir/' + docUuid + '/?p=' + p + '&type=' + type + '&doc_uuid=' + docUuid;
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
const
|
|
126
|
-
return this.req.get(
|
|
122
|
+
return this.req.get(url);
|
|
123
|
+
}
|
|
124
|
+
getSearchByFilename(docUuid, query, page, per_page, search_type) {
|
|
125
|
+
const url = 'api/v2.1/seadoc/search-filename/' + docUuid + '/?query=' + query + '&page=' + page + '&per_page=' + per_page + '&search_type=' + search_type;
|
|
126
|
+
return this.req.get(url);
|
|
127
127
|
}
|
|
128
128
|
getSdocFileId(docUuid, p) {
|
|
129
129
|
const url = 'api/v2.1/seadoc/file-uuid/' + docUuid + '/?p=' + p;
|
|
@@ -181,6 +181,7 @@ class SeafileAPI {
|
|
|
181
181
|
|
|
182
182
|
// notification
|
|
183
183
|
listUnseenNotifications(docUuid) {
|
|
184
|
+
console.log(11111);
|
|
184
185
|
const url = `/api/v2.1/seadoc/notifications/${docUuid}/`;
|
|
185
186
|
return this.req.get(url);
|
|
186
187
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
.sdoc-file-select-dialog {
|
|
2
|
-
max-width:
|
|
2
|
+
max-width: 520px;
|
|
3
3
|
}
|
|
4
4
|
|
|
5
5
|
.sdoc-file-select-dialog .sdoc-file-select-modal {
|
|
@@ -18,3 +18,71 @@
|
|
|
18
18
|
background-color: #FF8000;
|
|
19
19
|
border-color: #FF8000;
|
|
20
20
|
}
|
|
21
|
+
|
|
22
|
+
.modal-header-container {
|
|
23
|
+
display: flex;
|
|
24
|
+
position: relative;
|
|
25
|
+
justify-content: space-between;
|
|
26
|
+
align-items: center;
|
|
27
|
+
width: 100%;
|
|
28
|
+
height: 60px;
|
|
29
|
+
padding: 10px;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.modal-title-container {
|
|
33
|
+
flex: 1;
|
|
34
|
+
text-align: center;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.search-container {
|
|
38
|
+
display: flex;
|
|
39
|
+
align-items: center;
|
|
40
|
+
position: absolute;
|
|
41
|
+
right: 40px;
|
|
42
|
+
top: 55%;
|
|
43
|
+
transform: translateY(-50%);
|
|
44
|
+
gap: 8px;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.sdoc-files-search-popover{
|
|
48
|
+
font-size: 14px;
|
|
49
|
+
padding: 1.5px 5px;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.sdoc-files-search-popover:hover{
|
|
53
|
+
background-color: #F2F2F2;
|
|
54
|
+
border-radius: 2px;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.sdoc-files-search-popover-container {
|
|
58
|
+
display: flex;
|
|
59
|
+
justify-content: center;
|
|
60
|
+
align-items: center;
|
|
61
|
+
width: 200px;
|
|
62
|
+
margin-right: 10px;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.sdoc-search-wrapper{
|
|
66
|
+
position: relative;
|
|
67
|
+
display: flex;
|
|
68
|
+
align-items: center;
|
|
69
|
+
width: 100%;
|
|
70
|
+
height: 40px;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.sdoc-search-input{
|
|
74
|
+
flex: 1;
|
|
75
|
+
padding: 0 25px;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.sdoc-files-search-popover-container .sdoc-search{
|
|
79
|
+
position: absolute;
|
|
80
|
+
left: 6px;
|
|
81
|
+
font-size: 14px;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.sdoc-files-search-popover-container .sdoc-close{
|
|
85
|
+
position: absolute;
|
|
86
|
+
right: 10px;
|
|
87
|
+
font-size: 10px;
|
|
88
|
+
}
|
|
@@ -8,6 +8,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.default = void 0;
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _reactstrap = require("reactstrap");
|
|
11
|
+
var _isHotkey = _interopRequireDefault(require("is-hotkey"));
|
|
11
12
|
var _reactI18next = require("react-i18next");
|
|
12
13
|
var _context = _interopRequireDefault(require("../../../../context"));
|
|
13
14
|
var _localFiles = _interopRequireDefault(require("./local-files"));
|
|
@@ -15,33 +16,21 @@ var _toast = _interopRequireDefault(require("../../../../components/toast"));
|
|
|
15
16
|
var _utils = require("../../../../utils/");
|
|
16
17
|
var _constants = require("../../constants");
|
|
17
18
|
require("./index.css");
|
|
18
|
-
const
|
|
19
|
-
let {
|
|
20
|
-
mode,
|
|
21
|
-
label,
|
|
22
|
-
currentMode,
|
|
23
|
-
onUpdateMode
|
|
24
|
-
} = _ref;
|
|
25
|
-
return /*#__PURE__*/_react.default.createElement("div", {
|
|
26
|
-
className: `repo-list-item ${mode === currentMode ? 'active' : ''}`,
|
|
27
|
-
onClick: () => onUpdateMode(mode)
|
|
28
|
-
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
29
|
-
className: "library"
|
|
30
|
-
}, label));
|
|
31
|
-
};
|
|
32
|
-
const SelectSdocFileDialog = _ref2 => {
|
|
19
|
+
const SelectSdocFileDialog = _ref => {
|
|
33
20
|
let {
|
|
34
21
|
editor,
|
|
35
22
|
dialogType,
|
|
36
23
|
closeDialog,
|
|
37
24
|
insertLinkCallback
|
|
38
|
-
} =
|
|
25
|
+
} = _ref;
|
|
39
26
|
const modalTitle = dialogType === _constants.ELEMENT_TYPE.FILE_LINK ? 'Select_file' : 'Select_sdoc_document';
|
|
40
27
|
const {
|
|
41
28
|
t
|
|
42
29
|
} = (0, _reactI18next.useTranslation)();
|
|
43
30
|
const [currentSelectedFile, setCurrentSelectedFile] = (0, _react.useState)(null);
|
|
44
|
-
const [
|
|
31
|
+
const [temSearchContent, setTemSearchContent] = (0, _react.useState)('');
|
|
32
|
+
const [searchContent, setSearchContent] = (0, _react.useState)('');
|
|
33
|
+
const [isOpenSearch, setIsOpenSearch] = (0, _react.useState)(false);
|
|
45
34
|
const onSelectedFile = (0, _react.useCallback)(fileInfo => {
|
|
46
35
|
setCurrentSelectedFile(fileInfo);
|
|
47
36
|
}, []);
|
|
@@ -85,20 +74,31 @@ const SelectSdocFileDialog = _ref2 => {
|
|
|
85
74
|
closeDialog();
|
|
86
75
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
87
76
|
}, [currentSelectedFile]);
|
|
88
|
-
const
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
77
|
+
const toggleSearch = (0, _react.useCallback)(() => {
|
|
78
|
+
setIsOpenSearch(prev => !prev);
|
|
79
|
+
}, []);
|
|
80
|
+
const handleSearchInputChange = (0, _react.useCallback)(e => {
|
|
81
|
+
const keyword = e.target.value.toLowerCase();
|
|
82
|
+
setTemSearchContent(keyword);
|
|
83
|
+
}, []);
|
|
84
|
+
const executeSearch = (0, _react.useCallback)(() => {
|
|
85
|
+
if (!temSearchContent.trim()) {
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
setSearchContent(temSearchContent);
|
|
89
|
+
}, [temSearchContent]);
|
|
90
|
+
const handleInputKeyDown = (0, _react.useCallback)(e => {
|
|
91
|
+
if ((0, _isHotkey.default)('enter', e)) {
|
|
92
|
+
e.preventDefault();
|
|
93
|
+
executeSearch();
|
|
94
|
+
}
|
|
95
|
+
if ((0, _isHotkey.default)('escape', e)) {
|
|
96
|
+
e.preventDefault();
|
|
97
|
+
e.stopPropagation();
|
|
98
|
+
setIsOpenSearch(!isOpenSearch);
|
|
92
99
|
}
|
|
93
|
-
|
|
94
|
-
// selectRepo(repoList[0]);
|
|
95
|
-
// } else if (mode === MODE_TYPE_MAP.RECENTLY_USED) {
|
|
96
|
-
// selectRepo(null);
|
|
97
|
-
// }
|
|
98
|
-
// setSelectedPath('/');
|
|
99
|
-
};
|
|
100
|
+
}, [executeSearch, isOpenSearch]);
|
|
100
101
|
return /*#__PURE__*/_react.default.createElement(_reactstrap.Modal, {
|
|
101
|
-
scrollable: true,
|
|
102
102
|
toggle: closeDialog,
|
|
103
103
|
isOpen: true,
|
|
104
104
|
autoFocus: false,
|
|
@@ -107,31 +107,41 @@ const SelectSdocFileDialog = _ref2 => {
|
|
|
107
107
|
className: "sdoc-file-select-dialog",
|
|
108
108
|
contentClassName: "sdoc-file-select-modal"
|
|
109
109
|
}, /*#__PURE__*/_react.default.createElement(_reactstrap.ModalHeader, {
|
|
110
|
+
className: "modal-header-container",
|
|
110
111
|
toggle: closeDialog
|
|
111
|
-
},
|
|
112
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
113
|
+
className: "modal-title-container"
|
|
114
|
+
}, t(modalTitle)), /*#__PURE__*/_react.default.createElement("div", {
|
|
115
|
+
className: "search-container"
|
|
116
|
+
}, !isOpenSearch && /*#__PURE__*/_react.default.createElement("div", {
|
|
117
|
+
className: "sdocfont sdoc-find-replace sdoc-files-search-popover",
|
|
118
|
+
onClick: toggleSearch
|
|
119
|
+
}), isOpenSearch && /*#__PURE__*/_react.default.createElement("div", {
|
|
120
|
+
className: "sdoc-files-search-popover-container"
|
|
121
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
122
|
+
className: "sdoc-search-wrapper"
|
|
123
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
124
|
+
className: "sdocfont sdoc-find-replace sdoc-search",
|
|
125
|
+
onClick: executeSearch
|
|
126
|
+
}), /*#__PURE__*/_react.default.createElement(_reactstrap.Input, {
|
|
127
|
+
autoFocus: true,
|
|
128
|
+
className: "sdoc-search-input",
|
|
129
|
+
onKeyUp: handleInputKeyDown,
|
|
130
|
+
onChange: handleSearchInputChange,
|
|
131
|
+
id: "sdoc-search",
|
|
132
|
+
placeholder: t('Search')
|
|
133
|
+
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
134
|
+
className: "sdocfont sdoc-sm-close sdoc-close",
|
|
135
|
+
onClick: toggleSearch
|
|
136
|
+
}))))), /*#__PURE__*/_react.default.createElement(_reactstrap.ModalBody, {
|
|
112
137
|
className: "p-0"
|
|
113
|
-
}, /*#__PURE__*/_react.default.createElement("div",
|
|
114
|
-
mode: _constants.MODE_TYPE_MAP.ONLY_CURRENT_LIBRARY,
|
|
115
|
-
label: t('Current Library'),
|
|
116
|
-
currentMode: mode,
|
|
117
|
-
onUpdateMode: selectMode
|
|
118
|
-
}), true && /*#__PURE__*/_react.default.createElement(LibraryOption, {
|
|
119
|
-
mode: _constants.MODE_TYPE_MAP.ONLY_OTHER_LIBRARIES,
|
|
120
|
-
label: t('Other Libraries'),
|
|
121
|
-
currentMode: mode,
|
|
122
|
-
onUpdateMode: selectMode
|
|
123
|
-
}), /*#__PURE__*/_react.default.createElement(LibraryOption, {
|
|
124
|
-
mode: _constants.MODE_TYPE_MAP.RECENTLY_USED,
|
|
125
|
-
label: t('Recently Used')
|
|
126
|
-
// currentMode={mode}
|
|
127
|
-
,
|
|
128
|
-
onUpdateMode: selectMode
|
|
129
|
-
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
138
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
130
139
|
className: "sdoc-file-select-container"
|
|
131
140
|
}, /*#__PURE__*/_react.default.createElement(_localFiles.default, {
|
|
132
141
|
fileType: _constants.FILE_TYPE[dialogType],
|
|
133
142
|
onSelectedFile: onSelectedFile,
|
|
134
|
-
toggle: closeDialog
|
|
143
|
+
toggle: closeDialog,
|
|
144
|
+
searchContent: searchContent
|
|
135
145
|
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
136
146
|
className: "sdoc-file-select-footer"
|
|
137
147
|
}, /*#__PURE__*/_react.default.createElement(_reactstrap.Button, {
|
|
@@ -20,7 +20,8 @@ const LocalFiles = _ref => {
|
|
|
20
20
|
onSelectedFile,
|
|
21
21
|
toggle,
|
|
22
22
|
fileType,
|
|
23
|
-
t
|
|
23
|
+
t,
|
|
24
|
+
searchContent
|
|
24
25
|
} = _ref;
|
|
25
26
|
const folderRef = (0, _react.useRef)(null);
|
|
26
27
|
const [expandedFolder, setExpandedFolder] = (0, _react.useState)(new Set([]));
|
|
@@ -41,12 +42,13 @@ const LocalFiles = _ref => {
|
|
|
41
42
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
42
43
|
}, []);
|
|
43
44
|
const getTreeData = (0, _react.useCallback)((p, indexId, treeData) => {
|
|
44
|
-
return
|
|
45
|
+
// return context.getSdocLocalFiles(p, fileType).then(res => {
|
|
46
|
+
return _context.default.getSearchFilesByFilename('10', '1', '10', 'sdoc').then(res => {
|
|
45
47
|
res.data.forEach(item => {
|
|
46
48
|
item.indexId = _slugid.default.nice();
|
|
47
49
|
});
|
|
48
50
|
// Open folder
|
|
49
|
-
console.log(3, res.data);
|
|
51
|
+
// console.log(3, res.data);
|
|
50
52
|
if (indexId && treeData.length > 0) {
|
|
51
53
|
const newFileListData = (0, _helpers.addDataToTree)(treeData, indexId, res.data, p);
|
|
52
54
|
setTreeData([...newFileListData]);
|
|
@@ -70,6 +72,7 @@ const LocalFiles = _ref => {
|
|
|
70
72
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
71
73
|
}, []);
|
|
72
74
|
const onToggle = (0, _react.useCallback)(async (e, item, treeData) => {
|
|
75
|
+
// console.log(2, e, item, treeData);
|
|
73
76
|
e.stopPropagation();
|
|
74
77
|
if (expandedFolder.has(item.indexId)) {
|
|
75
78
|
collapsedFolder(treeData, item.indexId);
|
|
@@ -89,6 +92,37 @@ const LocalFiles = _ref => {
|
|
|
89
92
|
onSelectedFile(file);
|
|
90
93
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
91
94
|
}, []);
|
|
95
|
+
const [filteredTreeData, setFilteredTreeData] = (0, _react.useState)([]);
|
|
96
|
+
(0, _react.useEffect)(() => {
|
|
97
|
+
const filterFiles = async data => {
|
|
98
|
+
const results = [];
|
|
99
|
+
for (const item of data) {
|
|
100
|
+
if (item.type === 'file' && item.name.includes(searchContent)) {
|
|
101
|
+
results.push(item);
|
|
102
|
+
} else if (item.type === 'dir') {
|
|
103
|
+
console.log(33, item);
|
|
104
|
+
const children = item.children || (await getTreeData(item.path, item.indexId, treeData));
|
|
105
|
+
if (children && Array.isArray(children)) {
|
|
106
|
+
const childResults = await filterFiles(children);
|
|
107
|
+
results.push({
|
|
108
|
+
...item,
|
|
109
|
+
children: childResults
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
return results;
|
|
115
|
+
};
|
|
116
|
+
const updateFilteredData = async () => {
|
|
117
|
+
if (!searchContent.trim()) {
|
|
118
|
+
setFilteredTreeData(treeData);
|
|
119
|
+
} else {
|
|
120
|
+
const filtered = await filterFiles(treeData);
|
|
121
|
+
setFilteredTreeData(filtered);
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
updateFilteredData();
|
|
125
|
+
}, [searchContent, treeData]);
|
|
92
126
|
const renderFileTree = (0, _react.useCallback)(data => {
|
|
93
127
|
// console.log(2, data);
|
|
94
128
|
if (!Array.isArray(data) || data.length === 0) return null;
|
|
@@ -100,6 +134,7 @@ const LocalFiles = _ref => {
|
|
|
100
134
|
indexId,
|
|
101
135
|
name
|
|
102
136
|
} = item;
|
|
137
|
+
// console.log(12, data, type, indexId, name);
|
|
103
138
|
const selected = (currentActiveItem === null || currentActiveItem === void 0 ? void 0 : currentActiveItem.indexId) === indexId;
|
|
104
139
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
105
140
|
key: indexId,
|
|
@@ -148,6 +183,6 @@ const LocalFiles = _ref => {
|
|
|
148
183
|
}, [treeData, currentActiveItem, expandedFolder]);
|
|
149
184
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
150
185
|
className: "sdoc-files-tree"
|
|
151
|
-
}, renderFileTree(
|
|
186
|
+
}, renderFileTree(filteredTreeData));
|
|
152
187
|
};
|
|
153
188
|
var _default = exports.default = (0, _reactI18next.withTranslation)('sdoc-editor')(LocalFiles);
|
|
@@ -263,7 +263,7 @@ Object.defineProperty(exports, "MENUS_CONFIG_MAP", {
|
|
|
263
263
|
return _menusConfig.MENUS_CONFIG_MAP;
|
|
264
264
|
}
|
|
265
265
|
});
|
|
266
|
-
exports.MOUSE_ENTER_EVENT_DISABLED_MAP =
|
|
266
|
+
exports.MOUSE_ENTER_EVENT_DISABLED_MAP = void 0;
|
|
267
267
|
Object.defineProperty(exports, "MULTI_COLUMN", {
|
|
268
268
|
enumerable: true,
|
|
269
269
|
get: function () {
|
|
@@ -520,14 +520,6 @@ const INSERT_POSITION = exports.INSERT_POSITION = {
|
|
|
520
520
|
};
|
|
521
521
|
const LOCAL_IMAGE = exports.LOCAL_IMAGE = 'local-image';
|
|
522
522
|
const LOCAL_VIDEO = exports.LOCAL_VIDEO = 'local-video';
|
|
523
|
-
const MODE_TYPE_MAP = exports.MODE_TYPE_MAP = {
|
|
524
|
-
CURRENT_AND_OTHER_REPOS: 'current_repo_and_other_repos',
|
|
525
|
-
ONLY_CURRENT_LIBRARY: 'only_current_library',
|
|
526
|
-
ONLY_ALL_REPOS: 'only_all_repos',
|
|
527
|
-
ONLY_OTHER_LIBRARIES: 'only_other_libraries',
|
|
528
|
-
RECENTLY_USED: 'recently_used',
|
|
529
|
-
SEARCH_RESULTS: 'search_results'
|
|
530
|
-
};
|
|
531
523
|
const LIST_TYPE_ARRAY = exports.LIST_TYPE_ARRAY = [_elementType.UNORDERED_LIST, _elementType.ORDERED_LIST];
|
|
532
524
|
const LIST_ITEM_CORRELATION_TYPE = exports.LIST_ITEM_CORRELATION_TYPE = [_elementType.UNORDERED_LIST, _elementType.ORDERED_LIST, _elementType.LIST_ITEM];
|
|
533
525
|
const LIST_ITEM_SUPPORTED_TRANSFORMATION = exports.LIST_ITEM_SUPPORTED_TRANSFORMATION = [_elementType.UNORDERED_LIST, _elementType.ORDERED_LIST, 'left', 'center', 'right', _elementType.BLOCKQUOTE];
|
|
@@ -113,7 +113,9 @@ class Link extends _react.default.Component {
|
|
|
113
113
|
className: className
|
|
114
114
|
}, attributes), /*#__PURE__*/_react.default.createElement("a", {
|
|
115
115
|
href: element.href,
|
|
116
|
-
title: element.title
|
|
116
|
+
title: element.title,
|
|
117
|
+
target: "_blank",
|
|
118
|
+
rel: "noreferrer"
|
|
117
119
|
}, children));
|
|
118
120
|
}
|
|
119
121
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", Object.assign({
|
package/dist/context.js
CHANGED
|
@@ -62,8 +62,8 @@ class Context {
|
|
|
62
62
|
this.initSettings(); // lazy init context class
|
|
63
63
|
const server = this.getSetting('serviceUrl');
|
|
64
64
|
const token = this.getSetting('accessToken');
|
|
65
|
-
// console.log(2, server, token)
|
|
66
65
|
this.api = new _seafileApi.default(server, token);
|
|
66
|
+
console.log(2, server, token, this.api);
|
|
67
67
|
const isOpenSocket = this.getSetting('isOpenSocket');
|
|
68
68
|
if (isOpenSocket) {
|
|
69
69
|
this.sdocServerApi = new _sdocServerApi.default(this.settings);
|
|
@@ -201,10 +201,12 @@ class Context {
|
|
|
201
201
|
getSdocLocalFiles(p, type) {
|
|
202
202
|
const docUuid = this.getSetting('docUuid');
|
|
203
203
|
const repoID = this.getSetting('repoID');
|
|
204
|
-
console.log(100, docUuid, repoID);
|
|
205
|
-
console.log(100, p, type, docUuid);
|
|
206
204
|
return this.api.getSdocFiles(docUuid, p, type, this.server);
|
|
207
205
|
}
|
|
206
|
+
getSearchFilesByFilename(query, page, per_page, search_type) {
|
|
207
|
+
const docUuid = this.getSetting('docUuid');
|
|
208
|
+
return this.api.getSearchByFilename(docUuid, query, page, per_page, search_type);
|
|
209
|
+
}
|
|
208
210
|
listRepos(options) {
|
|
209
211
|
/*
|
|
210
212
|
* options: `{type: 'shared'}`, `{type: ['mine', 'shared', ...]}`
|