Steven 4 лет назад
Родитель
Сommit
7947bbac46

+ 7 - 3
packages/app/src/components/PageEditor.jsx

@@ -163,7 +163,9 @@ class PageEditor extends React.Component {
    * @param {any} file
    * @param {any} file
    */
    */
   async onUpload(file) {
   async onUpload(file) {
-    const { appContainer, pageContainer, editorContainer } = this.props;
+    const {
+      appContainer, pageContainer, mutateGrant,
+    } = this.props;
 
 
     try {
     try {
       let res = await appContainer.apiGet('/attachments.limit', {
       let res = await appContainer.apiGet('/attachments.limit', {
@@ -199,7 +201,7 @@ class PageEditor extends React.Component {
       if (res.pageCreated) {
       if (res.pageCreated) {
         logger.info('Page is created', res.page._id);
         logger.info('Page is created', res.page._id);
         pageContainer.updateStateAfterSave(res.page, res.tags, res.revision, this.props.editorMode);
         pageContainer.updateStateAfterSave(res.page, res.tags, res.revision, this.props.editorMode);
-        editorContainer.setState({ grant: res.page.grant });
+        mutateGrant(res.page.grant);
       }
       }
     }
     }
     catch (e) {
     catch (e) {
@@ -370,7 +372,7 @@ const PageEditorWrapper = (props) => {
   const { data: editorMode } = useEditorMode();
   const { data: editorMode } = useEditorMode();
   const { data: isSlackEnabled } = useIsSlackEnabled();
   const { data: isSlackEnabled } = useIsSlackEnabled();
   const { data: slackChannels } = useSlackChannels();
   const { data: slackChannels } = useSlackChannels();
-  const { data: grant } = useGrant();
+  const { data: grant, mutate: mutateGrant } = useGrant();
   const { data: grantGroupId } = useGrantGroupId();
   const { data: grantGroupId } = useGrantGroupId();
   const { data: grantGroupName } = useGrantGroupName();
   const { data: grantGroupName } = useGrantGroupName();
 
 
@@ -388,6 +390,7 @@ const PageEditorWrapper = (props) => {
       grant={grant}
       grant={grant}
       grantGroupId={grantGroupId}
       grantGroupId={grantGroupId}
       grantGroupName={grantGroupName}
       grantGroupName={grantGroupName}
+      mutateGrant={mutateGrant}
     />
     />
   );
   );
 };
 };
@@ -406,6 +409,7 @@ PageEditor.propTypes = {
   grant: PropTypes.number.isRequired,
   grant: PropTypes.number.isRequired,
   grantGroupId: PropTypes.string,
   grantGroupId: PropTypes.string,
   grantGroupName: PropTypes.string,
   grantGroupName: PropTypes.string,
+  mutateGrant: PropTypes.func,
 };
 };
 
 
 export default PageEditorWrapper;
 export default PageEditorWrapper;

+ 1 - 1
packages/app/src/components/PageEditorByHackmd.jsx

@@ -175,7 +175,7 @@ class PageEditorByHackmd extends React.Component {
     const {
     const {
       isSlackEnabled, slackChannels, pageContainer, editorContainer, grant, grantGroupId, grantGroupName,
       isSlackEnabled, slackChannels, pageContainer, editorContainer, grant, grantGroupId, grantGroupName,
     } = this.props;
     } = this.props;
-    const optionsToSave = getOptionsToSave(isSlackEnabled, slackChannels, useGrant, useGrantGroupId, useGrantGroupName, editorContainer);
+    const optionsToSave = getOptionsToSave(isSlackEnabled, slackChannels, grant, grantGroupId, grantGroupName, editorContainer);
 
 
     try {
     try {
       // disable unsaved warning
       // disable unsaved warning