itizawa 5 лет назад
Родитель
Сommit
1f35f78db3

+ 2 - 1
src/client/js/components/PageDuplicateModal.jsx

@@ -15,6 +15,7 @@ import PagePathAutoComplete from './PagePathAutoComplete';
 import ApiErrorMessageList from './PageManagement/ApiErrorMessageList';
 import ComparePathsTable from './ComparePathsTable';
 
+const LIMIT_FOR_LIST = 10;
 
 const PageDuplicateModal = (props) => {
   const { t, appContainer, pageContainer } = props;
@@ -68,7 +69,7 @@ const PageDuplicateModal = (props) => {
 
   const getSubordinatedList = useCallback(async() => {
     try {
-      const res = await appContainer.apiv3Get('/pages/subordinated-list', { path });
+      const res = await appContainer.apiv3Get('/pages/subordinated-list', { path, limit: LIMIT_FOR_LIST });
       const { subordinatedPaths } = res.data;
       setSubordinatedPages(subordinatedPaths);
     }

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

@@ -11,6 +11,8 @@ const ErrorV3 = require('../../models/vo/error-apiv3');
 
 const router = express.Router();
 
+const LIMIT_FOR_LIST = 10;
+
 /**
  * @swagger
  *  tags:
@@ -558,10 +560,11 @@ module.exports = (crowi) => {
 
   router.get('/subordinated-list', accessTokenParser, loginRequired, async(req, res) => {
     const { path } = req.query;
+    const limit = parseInt(req.query.limit) || LIMIT_FOR_LIST;
 
     try {
       const pageData = await Page.findByPath(path);
-      const result = await Page.findManageableListWithDescendants(pageData, req.user);
+      const result = await Page.findManageableListWithDescendants(pageData, req.user, { limit });
 
       return res.apiv3({ subordinatedPaths: result });
     }