zahmis 5 лет назад
Родитель
Сommit
126cbd6eb6

+ 5 - 3
src/client/js/components/Page/PageManagement.jsx

@@ -14,7 +14,9 @@ import CreateTemplateModal from '../CreateTemplateModal';
 
 const PageManagement = (props) => {
   const { t, appContainer, pageContainer } = props;
-  const { path, isDeletable, isAbleToDeleteCompletely } = pageContainer.state;
+  const {
+    path, isDeletable, isAbleToDeleteCompletely,
+  } = pageContainer.state;
 
   const { currentUser } = appContainer;
   const isTopPagePath = isTopPage(path);
@@ -22,7 +24,7 @@ const PageManagement = (props) => {
   const [isPageDuplicateModalShown, setIsPageDuplicateModalShown] = useState(false);
   const [isPageTemplateModalShown, setIsPageTempleteModalShown] = useState(false);
   const [isPageDeleteModalShown, setIsPageDeleteModalShown] = useState(false);
-  const [duplicateModalPaths, setDuplicateModalPaths] = useState(false);
+  const [duplicateModalPaths, setDuplicateModalPaths] = useState([]);
   const [duplicateError, setDuplicateError] = useState(null);
 
   function openPageRenameModalHandler() {
@@ -37,7 +39,7 @@ const PageManagement = (props) => {
     setIsPageDuplicateModalShown(true);
     try {
       const res = await appContainer.apiv3Get('/pages/duplicate', { path });
-      setDuplicateModalPaths(res.data.duplicatePaths);
+      setDuplicateModalPaths(res.data.resultPaths);
     }
     catch (err) {
       setDuplicateError(t('modal_duplicate.label.Fail to get subordinated pages'));

+ 8 - 4
src/client/js/components/PageDuplicateModal.jsx

@@ -14,8 +14,12 @@ import PageContainer from '../services/PageContainer';
 import PagePathAutoComplete from './PagePathAutoComplete';
 import ApiErrorMessage from './PageManagement/ApiErrorMessage';
 
+
 const PageDuplicateModal = (props) => {
-  const { t, appContainer, pageContainer } = props;
+  const {
+    t, appContainer, pageContainer,
+  } = props;
+
 
   const config = appContainer.getConfig();
   const isReachable = config.isSearchServiceReachable;
@@ -28,8 +32,6 @@ const PageDuplicateModal = (props) => {
 
   const [isDuplicateRecursively, setIsDuplicateRecursively] = useState(true);
 
-  const duplicatedNewPaths = ['/hoge', '/hoge/hoge', '/test/test/test'];
-
   /**
    * change pageNameInput for PagePathAutoComplete
    * @param {string} value
@@ -109,7 +111,9 @@ const PageDuplicateModal = (props) => {
           </label>
           <div>
             <ul>
-              {isDuplicateRecursively && duplicatedNewPaths.map(duplicatedNewPath => <li>{duplicatedNewPath}</li>)}
+              {isDuplicateRecursively && props.pageDuplicateModalPaths.map(
+                duplicatedNewPath => <li key={duplicatedNewPath}>{duplicatedNewPath}</li>,
+)}
             </ul>
           </div>
           <div> {props.duplicateError} </div>

+ 7 - 4
src/server/routes/apiv3/pages.js

@@ -7,6 +7,7 @@ const express = require('express');
 
 const router = express.Router();
 
+
 /**
  * @swagger
  *  tags:
@@ -91,11 +92,13 @@ module.exports = (crowi) => {
     // const duplicatePaths = pages.map(element => element.path);
     // console.log(duplicatePaths);
     // console.log(req.user);
+    const pageData = await Page.findByPath(path);
+
+    const result = await Page.findManageableListWithDescendants(pageData, req.user);
+
+    const resultPaths = result.map(element => element.path);
 
-    const result = await Page.findManageableListWithDescendants(req.page, req.user);
-    console.log(result);
-    console.log(path);
-    return res.apiv3({});
+    return res.apiv3({ resultPaths });
   });
 
   return router;