@seafile/sdoc-editor 0.2.23-beta2 → 0.2.23-beta3

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.
@@ -7,15 +7,14 @@ import { EXTERNAL_EVENT } from '../../constants';
7
7
  import { DateUtils } from '../../utils';
8
8
  import DraftDropdown from '../draft-dropdown';
9
9
  import RevisionAvatar from '../../assets/images/revision-avatar.png';
10
- import { useConfig } from '../../hooks';
11
10
  import './index.css';
12
11
  var DocInfo = function DocInfo(_ref) {
13
12
  var t = _ref.t,
14
13
  isStarred = _ref.isStarred,
15
14
  isDraft = _ref.isDraft,
16
- isEditMode = _ref.isEditMode;
17
- var _useConfig = useConfig(),
18
- isPublished = _useConfig.isPublished;
15
+ isEditMode = _ref.isEditMode,
16
+ _ref$isPublished = _ref.isPublished,
17
+ isPublished = _ref$isPublished === void 0 ? false : _ref$isPublished;
19
18
  var onInternalLinkClick = useCallback(function () {
20
19
  var eventBus = EventBus.getInstance();
21
20
  eventBus.dispatch(EXTERNAL_EVENT.INTERNAL_LINK_CLICK);
@@ -9,16 +9,16 @@ import CommentsOperation from './comments-operation';
9
9
  import ShareOperation from './share-operation';
10
10
  import TagOperation from './tag-operation';
11
11
  import { isMobile } from '../../utils';
12
- import { useConfig } from '../../hooks';
13
12
  import './style.css';
14
13
  var DocOperations = function DocOperations(_ref) {
15
14
  var isShowChanges = _ref.isShowChanges,
15
+ _ref$isPublished = _ref.isPublished,
16
+ isPublished = _ref$isPublished === void 0 ? false : _ref$isPublished,
16
17
  changes = _ref.changes,
17
18
  handleViewChangesToggle = _ref.handleViewChangesToggle,
19
+ handleRevisionMerged = _ref.handleRevisionMerged,
18
20
  handleRevisionPublished = _ref.handleRevisionPublished;
19
21
  var isSdocRevision = context.getSetting('isSdocRevision');
20
- var _useConfig = useConfig(),
21
- isPublished = _useConfig.isPublished;
22
22
  if (isMobile) {
23
23
  return /*#__PURE__*/React.createElement("div", {
24
24
  className: "doc-ops"
@@ -28,8 +28,10 @@ var DocOperations = function DocOperations(_ref) {
28
28
  className: "doc-ops"
29
29
  }, /*#__PURE__*/React.createElement(RevisionOperations, {
30
30
  isShowChanges: isShowChanges,
31
+ isPublished: isPublished,
31
32
  changes: changes,
32
33
  handleViewChangesToggle: handleViewChangesToggle,
34
+ handleRevisionMerged: handleRevisionMerged,
33
35
  handleRevisionPublished: handleRevisionPublished
34
36
  }), !isPublished && /*#__PURE__*/React.createElement(TagOperation, null), !isPublished && /*#__PURE__*/React.createElement(CommentsOperation, null), !isSdocRevision && /*#__PURE__*/React.createElement(ShareOperation, null), /*#__PURE__*/React.createElement(HistoryOperation, null), !isPublished && /*#__PURE__*/React.createElement(CollaboratorsOperation, null), !isSdocRevision && /*#__PURE__*/React.createElement(MoreOperations, null));
35
37
  };
@@ -12,11 +12,14 @@ import ViewChanges from './view-changes';
12
12
  import MoreRevisionOperations from './more-revision-operations';
13
13
  import Revisions from './revisions';
14
14
  import ChangesCount from './changes-count';
15
- import { useConfig, useDocument } from '../../../hooks';
15
+ import { useDocument } from '../../../hooks';
16
16
  var RevisionOperations = function RevisionOperations(_ref) {
17
17
  var isShowChanges = _ref.isShowChanges,
18
+ _ref$isPublished = _ref.isPublished,
19
+ isPublished = _ref$isPublished === void 0 ? false : _ref$isPublished,
18
20
  changes = _ref.changes,
19
21
  handleViewChangesToggle = _ref.handleViewChangesToggle,
22
+ handleRevisionMerged = _ref.handleRevisionMerged,
20
23
  handleRevisionPublished = _ref.handleRevisionPublished;
21
24
  var isSdocRevision = context.getSetting('isSdocRevision');
22
25
  var _useTranslation = useTranslation(),
@@ -35,9 +38,6 @@ var RevisionOperations = function RevisionOperations(_ref) {
35
38
  setMergeValue = _useState6[1];
36
39
  var _useDocument = useDocument(),
37
40
  loadDocument = _useDocument.loadDocument;
38
- var _useConfig = useConfig(),
39
- isPublished = _useConfig.isPublished,
40
- setPublished = _useConfig.setPublished;
41
41
  var onDocumentReplaced = useCallback(function () {
42
42
  if (isShowTip) return;
43
43
  setTipType(TIP_TYPE.HAS_BEEN_REPLACED);
@@ -45,9 +45,9 @@ var RevisionOperations = function RevisionOperations(_ref) {
45
45
  }, [isShowTip]);
46
46
  var hasPublishRevision = useCallback(function () {
47
47
  if (isPublished) return;
48
- setPublished(true);
48
+ handleRevisionPublished(true);
49
49
  toaster.success(t('Revision published'));
50
- }, [isPublished, setPublished, t]);
50
+ }, [isPublished, handleRevisionPublished, t]);
51
51
  var onDocumentRemoved = useCallback(function () {
52
52
  if (isShowTip) return;
53
53
  setTipType(TIP_TYPE.HAS_BEEN_REMOVED);
@@ -126,7 +126,7 @@ var RevisionOperations = function RevisionOperations(_ref) {
126
126
  context.publishRevision().then(function (res) {
127
127
  setShowTip(false);
128
128
  setTipType('');
129
- setPublished(true);
129
+ handleRevisionPublished(true);
130
130
  toaster.success(t('Revision published'));
131
131
  }).catch(function (error) {
132
132
  toaster.danger(t('Error'));
@@ -150,7 +150,7 @@ var RevisionOperations = function RevisionOperations(_ref) {
150
150
  }
151
151
  toaster.danger(t('Error'));
152
152
  });
153
- }, [loadDocument, t, setPublished]);
153
+ }, [loadDocument, t, handleRevisionPublished]);
154
154
 
155
155
  // confirm publish
156
156
  var onSubmit = useCallback(function () {
@@ -181,7 +181,7 @@ var RevisionOperations = function RevisionOperations(_ref) {
181
181
  context.updateSettings({
182
182
  'originFileVersion': origin_file_version
183
183
  });
184
- handleRevisionPublished && handleRevisionPublished(mergeValue);
184
+ handleRevisionMerged && handleRevisionMerged(mergeValue);
185
185
  setShowTip(false);
186
186
  }).catch(function (error) {
187
187
  toaster.danger(t('Error'));
@@ -1,3 +1,3 @@
1
- export { CollaboratorsProvider, useCollaborators } from './use-collaborators';
2
- export { useDocument } from './use-document';
3
- export { ConfigContext, useConfig } from './use-config';
1
+ import { CollaboratorsProvider, useCollaborators } from './use-collaborators';
2
+ import { useDocument } from './use-document';
3
+ export { CollaboratorsProvider, useCollaborators, useDocument };
@@ -82,6 +82,7 @@ export var useDocument = function useDocument() {
82
82
  errorMessage: errorMessage,
83
83
  document: document,
84
84
  loadDocument: loadDocument,
85
- reloadDocument: reloadDocument
85
+ reloadDocument: reloadDocument,
86
+ setErrorMessage: setErrorMessage
86
87
  };
87
88
  };
@@ -78,10 +78,12 @@ var PublishedRevisionViewer = function PublishedRevisionViewer() {
78
78
  }, t(errorMessage)));
79
79
  }
80
80
  return /*#__PURE__*/React.createElement(ErrorBoundary, null, /*#__PURE__*/React.createElement(Layout, null, /*#__PURE__*/React.createElement(Header, null, /*#__PURE__*/React.createElement(DocInfo, {
81
- isEditMode: false
81
+ isEditMode: false,
82
+ isPublished: true
82
83
  }), /*#__PURE__*/React.createElement(DocOperations, {
83
84
  isShowChanges: isShowChanges,
84
85
  changes: changes,
86
+ isPublished: true,
85
87
  handleViewChangesToggle: handleViewChangesToggle
86
88
  })), /*#__PURE__*/React.createElement(Content, null, /*#__PURE__*/React.createElement(PublishedRevisionDiffViewer, {
87
89
  isShowChanges: isShowChanges,
@@ -9,7 +9,7 @@ import context from '../context';
9
9
  import ErrorBoundary from './error-boundary';
10
10
  import { SDocEditor } from '../basic-sdk';
11
11
  import { PublishedRevisionDiffViewer, RevisionDiffViewer } from '../basic-sdk/views';
12
- import { useDocument, ConfigContext } from '../hooks';
12
+ import { useDocument } from '../hooks';
13
13
  import { resetWebTitleAndURL } from '../utils';
14
14
  import '../assets/css/simple-editor.css';
15
15
  var SimpleEditor = function SimpleEditor(_ref) {
@@ -23,7 +23,8 @@ var SimpleEditor = function SimpleEditor(_ref) {
23
23
  isReloading = _useDocument.isReloading,
24
24
  errorMessage = _useDocument.errorMessage,
25
25
  document = _useDocument.document,
26
- reloadDocument = _useDocument.reloadDocument;
26
+ reloadDocument = _useDocument.reloadDocument,
27
+ setErrorMessage = _useDocument.setErrorMessage;
27
28
  var _useState = useState(false),
28
29
  _useState2 = _slicedToArray(_useState, 2),
29
30
  isShowChanges = _useState2[0],
@@ -68,16 +69,33 @@ var SimpleEditor = function SimpleEditor(_ref) {
68
69
  setShowChanges(isShowChanges);
69
70
  // eslint-disable-next-line react-hooks/exhaustive-deps
70
71
  }, [document, editorRef.current, isPublished]);
71
- var handleRevisionPublished = useCallback(function (value) {
72
+ var handleRevisionMerged = useCallback(function (value) {
72
73
  setShowChanges(false);
73
74
  editorRef.current.setSlateValue(value);
74
75
  editorRef.current.updateDocumentVersion(value);
75
76
  }, []);
76
-
77
- // const setPublished = useCallback(() => {
78
-
79
- // }, []);
80
-
77
+ var handleRevisionPublished = useCallback(function () {
78
+ context.getPublishedRevisionContent().then(function (res) {
79
+ var revisionContentString = res.data.content;
80
+ var document = JSON.parse(revisionContentString);
81
+ setRevisionContent(document);
82
+ setPublished(true);
83
+ context.settings['isPublished'] = true;
84
+ }).catch(function (error) {
85
+ // eslint-disable-next-line
86
+ console.log(error);
87
+ var errorMessage = 'Load_doc_content_error';
88
+ if (error && error.response) {
89
+ var _ref2 = error.response.data || {},
90
+ error_type = _ref2.error_type;
91
+ if (error_type === 'content_invalid') {
92
+ errorMessage = 'Sdoc_format_invalid';
93
+ }
94
+ }
95
+ setErrorMessage(errorMessage);
96
+ setPublished(true);
97
+ });
98
+ }, [setErrorMessage]);
81
99
  if (isFirstLoading) {
82
100
  return /*#__PURE__*/React.createElement(Loading, null);
83
101
  }
@@ -88,21 +106,19 @@ var SimpleEditor = function SimpleEditor(_ref) {
88
106
  className: "error-tip"
89
107
  }, t(errorMessage)));
90
108
  }
91
- return /*#__PURE__*/React.createElement(ErrorBoundary, null, /*#__PURE__*/React.createElement(Layout, null, /*#__PURE__*/React.createElement(Header, null, /*#__PURE__*/React.createElement(ConfigContext.Provider, {
92
- value: {
93
- isPublished: isPublished,
94
- setPublished: setPublished
95
- }
96
- }, /*#__PURE__*/React.createElement(DocInfo, {
109
+ return /*#__PURE__*/React.createElement(ErrorBoundary, null, /*#__PURE__*/React.createElement(Layout, null, /*#__PURE__*/React.createElement(Header, null, /*#__PURE__*/React.createElement(DocInfo, {
97
110
  isStarred: isStarred,
98
111
  isDraft: isDraft,
112
+ isPublished: isPublished,
99
113
  isEditMode: isPublished ? false : !isShowChanges
100
114
  }), /*#__PURE__*/React.createElement(DocOperations, {
101
115
  isShowChanges: isShowChanges,
116
+ isPublished: isPublished,
102
117
  changes: changes,
103
118
  handleViewChangesToggle: handleViewChangesToggle,
119
+ handleRevisionMerged: handleRevisionMerged,
104
120
  handleRevisionPublished: handleRevisionPublished
105
- }))), /*#__PURE__*/React.createElement(Content, null, isPublished && /*#__PURE__*/React.createElement(PublishedRevisionDiffViewer, {
121
+ })), /*#__PURE__*/React.createElement(Content, null, isPublished && /*#__PURE__*/React.createElement(PublishedRevisionDiffViewer, {
106
122
  isShowChanges: isShowChanges,
107
123
  revisionContent: revisionContent,
108
124
  didMountCallback: setDiffChanges
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seafile/sdoc-editor",
3
- "version": "0.2.23beta2",
3
+ "version": "0.2.23beta3",
4
4
  "private": false,
5
5
  "description": "This is a sdoc editor",
6
6
  "main": "dist/index.js",
@@ -1,26 +0,0 @@
1
- import React, { useContext } from 'react';
2
- export var ConfigContext = React.createContext(null);
3
-
4
- // export const ConfigProvider = (props) => {
5
- // const initIsPublished = context.getSetting('isPublished');
6
- // const [isPublished, setPublished] = useState(initIsPublished);
7
-
8
- // return (
9
- // <ConfigContext.Provider value={{ isPublished, setPublished }}>
10
- // {props.children}
11
- // </ConfigContext.Provider>
12
- // );
13
- // };
14
-
15
- export var useConfig = function useConfig() {
16
- var context = useContext(ConfigContext);
17
- if (!context) {
18
- throw new Error('\'ConfigContext\' is null');
19
- }
20
- var isPublished = context.isPublished,
21
- setPublished = context.setPublished;
22
- return {
23
- isPublished: isPublished,
24
- setPublished: setPublished
25
- };
26
- };