@seafile/sdoc-editor 1.0.161 → 1.0.162-alpha.2

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.
@@ -117,9 +117,13 @@ class SeafileAPI {
117
117
  }
118
118
 
119
119
  // local files
120
- getSdocFiles(docUuid, p, type) {
120
+ getSdocFiles(docUuid, p, type, server) {
121
121
  const url = 'api/v2.1/seadoc/dir/' + docUuid + '/?p=' + p + '&type=' + type + '&doc_uuid=' + docUuid;
122
- return this.req.get(url);
122
+ const url2 = 'api/v2.1/seadoc/dir/' + docUuid + '/?p=' + p + '&doc_uuid=' + docUuid;
123
+ // const repoID = this.getSetting('repoID');
124
+ // console.log(99, url, repoID);
125
+ const url3 = 'api/v2.1/repos/';
126
+ return this.req.get(url3);
123
127
  }
124
128
  getSdocFileId(docUuid, p) {
125
129
  const url = 'api/v2.1/seadoc/file-uuid/' + docUuid + '/?p=' + p;
@@ -1,5 +1,5 @@
1
1
  .sdoc-file-select-dialog {
2
- max-width: 520px;
2
+ max-width: 650px;
3
3
  }
4
4
 
5
5
  .sdoc-file-select-dialog .sdoc-file-select-modal {
@@ -15,18 +15,33 @@ var _toast = _interopRequireDefault(require("../../../../components/toast"));
15
15
  var _utils = require("../../../../utils/");
16
16
  var _constants = require("../../constants");
17
17
  require("./index.css");
18
- const SelectSdocFileDialog = _ref => {
18
+ const LibraryOption = _ref => {
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
33
  let {
20
34
  editor,
21
35
  dialogType,
22
36
  closeDialog,
23
37
  insertLinkCallback
24
- } = _ref;
38
+ } = _ref2;
25
39
  const modalTitle = dialogType === _constants.ELEMENT_TYPE.FILE_LINK ? 'Select_file' : 'Select_sdoc_document';
26
40
  const {
27
41
  t
28
42
  } = (0, _reactI18next.useTranslation)();
29
43
  const [currentSelectedFile, setCurrentSelectedFile] = (0, _react.useState)(null);
44
+ const [mode, setMode] = (0, _react.useState)('only_current_library');
30
45
  const onSelectedFile = (0, _react.useCallback)(fileInfo => {
31
46
  setCurrentSelectedFile(fileInfo);
32
47
  }, []);
@@ -70,7 +85,20 @@ const SelectSdocFileDialog = _ref => {
70
85
  closeDialog();
71
86
  // eslint-disable-next-line react-hooks/exhaustive-deps
72
87
  }, [currentSelectedFile]);
88
+ const selectMode = mode => {
89
+ // onUpdateMode(mode);
90
+ if (mode === _constants.MODE_TYPE_MAP.ONLY_CURRENT_LIBRARY) {
91
+ selectRepo(currentRepo);
92
+ }
93
+ // } else if (mode === MODE_TYPE_MAP.ONLY_OTHER_LIBRARIES) {
94
+ // selectRepo(repoList[0]);
95
+ // } else if (mode === MODE_TYPE_MAP.RECENTLY_USED) {
96
+ // selectRepo(null);
97
+ // }
98
+ // setSelectedPath('/');
99
+ };
73
100
  return /*#__PURE__*/_react.default.createElement(_reactstrap.Modal, {
101
+ scrollable: true,
74
102
  toggle: closeDialog,
75
103
  isOpen: true,
76
104
  autoFocus: false,
@@ -82,7 +110,23 @@ const SelectSdocFileDialog = _ref => {
82
110
  toggle: closeDialog
83
111
  }, t(modalTitle)), /*#__PURE__*/_react.default.createElement(_reactstrap.ModalBody, {
84
112
  className: "p-0"
85
- }, /*#__PURE__*/_react.default.createElement("div", {
113
+ }, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", null, "left column"), /*#__PURE__*/_react.default.createElement(LibraryOption, {
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", {
86
130
  className: "sdoc-file-select-container"
87
131
  }, /*#__PURE__*/_react.default.createElement(_localFiles.default, {
88
132
  fileType: _constants.FILE_TYPE[dialogType],
@@ -46,6 +46,7 @@ const LocalFiles = _ref => {
46
46
  item.indexId = _slugid.default.nice();
47
47
  });
48
48
  // Open folder
49
+ console.log(3, res.data);
49
50
  if (indexId && treeData.length > 0) {
50
51
  const newFileListData = (0, _helpers.addDataToTree)(treeData, indexId, res.data, p);
51
52
  setTreeData([...newFileListData]);
@@ -89,6 +90,7 @@ const LocalFiles = _ref => {
89
90
  // eslint-disable-next-line react-hooks/exhaustive-deps
90
91
  }, []);
91
92
  const renderFileTree = (0, _react.useCallback)(data => {
93
+ // console.log(2, data);
92
94
  if (!Array.isArray(data) || data.length === 0) return null;
93
95
  return data.map(item => {
94
96
  var _item$children, _item$children2;
@@ -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 = void 0;
266
+ exports.MOUSE_ENTER_EVENT_DISABLED_MAP = exports.MODE_TYPE_MAP = void 0;
267
267
  Object.defineProperty(exports, "MULTI_COLUMN", {
268
268
  enumerable: true,
269
269
  get: function () {
@@ -520,6 +520,14 @@ 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
+ };
523
531
  const LIST_TYPE_ARRAY = exports.LIST_TYPE_ARRAY = [_elementType.UNORDERED_LIST, _elementType.ORDERED_LIST];
524
532
  const LIST_ITEM_CORRELATION_TYPE = exports.LIST_ITEM_CORRELATION_TYPE = [_elementType.UNORDERED_LIST, _elementType.ORDERED_LIST, _elementType.LIST_ITEM];
525
533
  const LIST_ITEM_SUPPORTED_TRANSFORMATION = exports.LIST_ITEM_SUPPORTED_TRANSFORMATION = [_elementType.UNORDERED_LIST, _elementType.ORDERED_LIST, 'left', 'center', 'right', _elementType.BLOCKQUOTE];
@@ -134,9 +134,8 @@ const FileLink = _ref => {
134
134
  style: style
135
135
  }, /*#__PURE__*/_react.default.createElement("a", {
136
136
  href: (0, _helpers.getUrl)(element.doc_uuid),
137
- onClick: e => {
138
- e.preventDefault();
139
- },
137
+ onClick: e => e.preventDefault(),
138
+ onDragStart: e => e.preventDefault(),
140
139
  title: element.title
141
140
  }, children))), isShowInsertHoverMenu && /*#__PURE__*/_react.default.createElement(_hoverMenu.default, {
142
141
  editor: editor,
@@ -141,9 +141,8 @@ const SdocFileLink = _ref => {
141
141
  style: style
142
142
  }, /*#__PURE__*/_react.default.createElement("a", {
143
143
  href: url,
144
- onClick: e => {
145
- e.preventDefault();
146
- },
144
+ onClick: e => e.preventDefault(),
145
+ onDragStart: e => e.preventDefault(),
147
146
  title: element.title
148
147
  }, children))), isShowInsertHoverMenu && !readOnly && editor.selection && _slate.Range.isCollapsed(editor.selection) && /*#__PURE__*/_react.default.createElement(_hoverMenu.default, {
149
148
  url: url,
package/dist/context.js CHANGED
@@ -14,6 +14,7 @@ class Context {
14
14
  constructor() {
15
15
  (0, _defineProperty2.default)(this, "initSettings", () => {
16
16
  this.settings = window.seafile ? window.seafile : window.seafileConfig;
17
+ console.log(1, this.settings);
17
18
  const {
18
19
  name,
19
20
  username,
@@ -26,6 +27,7 @@ class Context {
26
27
  };
27
28
  this.user = new _model.User(userInfo);
28
29
  if (this.settings['isSdocRevision']) {
30
+ console.log(2);
29
31
  const repoID = this.getSetting('repoID');
30
32
  const siteRoot = this.getSetting('siteRoot');
31
33
  const originFilePath = this.getSetting('originFilePath');
@@ -60,6 +62,7 @@ class Context {
60
62
  this.initSettings(); // lazy init context class
61
63
  const server = this.getSetting('serviceUrl');
62
64
  const token = this.getSetting('accessToken');
65
+ // console.log(2, server, token)
63
66
  this.api = new _seafileApi.default(server, token);
64
67
  const isOpenSocket = this.getSetting('isOpenSocket');
65
68
  if (isOpenSocket) {
@@ -197,7 +200,38 @@ class Context {
197
200
  // local files
198
201
  getSdocLocalFiles(p, type) {
199
202
  const docUuid = this.getSetting('docUuid');
200
- return this.api.getSdocFiles(docUuid, p, type);
203
+ const repoID = this.getSetting('repoID');
204
+ console.log(100, docUuid, repoID);
205
+ console.log(100, p, type, docUuid);
206
+ return this.api.getSdocFiles(docUuid, p, type, this.server);
207
+ }
208
+ listRepos(options) {
209
+ /*
210
+ * options: `{type: 'shared'}`, `{type: ['mine', 'shared', ...]}`
211
+ */
212
+ let url = this.server + '/api/v2.1/repos/';
213
+ if (!options) {
214
+ // fetch all types of repos
215
+ return this.req.get(url);
216
+ }
217
+ return this.req.get(url, {
218
+ params: options,
219
+ paramsSerializer: {
220
+ serialize: function (params) {
221
+ let list = [];
222
+ for (let key in params) {
223
+ if (Array.isArray(params[key])) {
224
+ for (let i = 0, len = params[key].length; i < len; i++) {
225
+ list.push(key + '=' + encodeURIComponent(params[key][i]));
226
+ }
227
+ } else {
228
+ list.push(key + '=' + encodeURIComponent(params[key]));
229
+ }
230
+ }
231
+ return list.join('&');
232
+ }
233
+ }
234
+ });
201
235
  }
202
236
  getSdocLocalFileId(p) {
203
237
  const docUuid = this.getSetting('docUuid');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seafile/sdoc-editor",
3
- "version": "1.0.161",
3
+ "version": "1.0.162-alpha.2",
4
4
  "private": false,
5
5
  "description": "This is a sdoc editor",
6
6
  "main": "dist/index.js",