ryuichi-e пре 5 година
родитељ
комит
d48bfeaa46
2 измењених фајлова са 27 додато и 10 уклоњено
  1. 12 10
      src/client/js/components/PageRenameModal.jsx
  2. 15 0
      src/client/js/services/PageContainer.js

+ 12 - 10
src/client/js/components/PageRenameModal.jsx

@@ -15,9 +15,11 @@ import ApiErrorMessage from './PageManagement/ApiErrorMessage';
 
 const PageRenameModal = (props) => {
   const {
-    t, appContainer, pageContainer, path,
+    t, appContainer, pageContainer,
   } = props;
 
+  const { path } = pageContainer.state;
+
   const { crowi } = appContainer.config;
 
   const [pageNameInput, setPageNameInput] = useState(path);
@@ -25,8 +27,8 @@ const PageRenameModal = (props) => {
   const [errorMessage, setErrorMessage] = useState(null);
 
   const [isRenameRecursively, SetIsRenameRecursively] = useState(true);
-  const [isRenameRedirect, SetIsRenameRedirect] = useState(false);
-  const [isRenameMetadata, SetIsRenameMetadata] = useState(false);
+  const [isRenameRedirect, SetIsRenameRedirect] = useState(true);
+  const [isRenameMetadata, SetIsRenameMetadata] = useState(true);
 
   function changeIsRenameRecursivelyHandler() {
     SetIsRenameRecursively(!isRenameRecursively);
@@ -45,12 +47,12 @@ const PageRenameModal = (props) => {
       setErrorCode(null);
       setErrorMessage(null);
 
-      const response = await appContainer.apiPost('/pages.rename', {
-        new_path: pageNameInput,
-        create_redirect: isRenameRedirect,
-        remain_metadata: isRenameMetadata,
-        recursively: isRenameRecursively,
-      });
+      const response = await pageContainer.rename(
+        pageNameInput,
+        isRenameRedirect,
+        isRenameMetadata,
+        isRenameRecursively,
+      );
       const { page } = response;
       window.location.href = encodeURI(`${page.path}?rename=${path}`);
     }
@@ -68,7 +70,7 @@ const PageRenameModal = (props) => {
       <ModalBody>
         <div className="form-group">
           <label>{ t('modal_rename.label.Current page name') }</label><br />
-          <code>{path}</code>
+          <code>{ path }</code>
         </div>
         <div className="form-group">
           <label htmlFor="newPageName">{ t('modal_rename.label.New page name') }</label><br />

+ 15 - 0
src/client/js/services/PageContainer.js

@@ -351,6 +351,21 @@ export default class PageContainer extends Container {
     });
   }
 
+  rename(pageNameInput, isRenameRedirect, isRenameMetadata, isRenameRecursively) {
+    const websocketContainer = this.appContainer.getContainer('WebsocketContainer');
+    const recursively = isRenameRecursively ? true : null;
+
+    return this.appContainer.apiPost('/pages.rename', {
+      recursively,
+      page_id: this.state.pageId,
+      revision_id: this.state.revisionId,
+      new_path: pageNameInput,
+      create_redirect: isRenameRedirect,
+      remain_metadata: isRenameMetadata,
+      socketClientId: websocketContainer.getSocketClientId(),
+    });
+  }
+
   showSuccessToastr() {
     toastr.success(undefined, 'Saved successfully', {
       closeButton: true,