Просмотр исходного кода

refs #80335: Detach page control from page container
- Detach deletePage from pageContainer
- Changed not to refer to pageId in pageContainer state

NEEDLEMAN3\tatsu 4 лет назад
Родитель
Сommit
1c1df3d81f

+ 3 - 3
packages/app/src/client/services/PageContainer.js

@@ -529,7 +529,7 @@ export default class PageContainer extends Container {
     return res;
   }
 
-  deletePage(isRecursively, isCompletely) {
+  deletePage(isRecursively, isCompletely, pageId, revisionId) {
     const socketIoContainer = this.appContainer.getContainer('SocketIoContainer');
 
     // control flag
@@ -539,8 +539,8 @@ export default class PageContainer extends Container {
     return this.appContainer.apiPost('/pages.remove', {
       recursively,
       completely,
-      page_id: this.state.pageId,
-      revision_id: this.state.revisionId,
+      page_id: pageId,
+      revision_id: revisionId,
     });
 
   }

+ 3 - 1
packages/app/src/components/Page/PageManagement.jsx

@@ -22,7 +22,7 @@ const PageManagement = (props) => {
   const {
     t, appContainer, pageContainer, isCompactMode,
   } = props;
-  const { path, isDeletable, isAbleToDeleteCompletely } = pageContainer.state;
+  const { path, pageId, revisionId, isDeletable, isAbleToDeleteCompletely } = pageContainer.state;
 
   const { currentUser } = appContainer;
   const isTopPagePath = isTopPage(path);
@@ -179,6 +179,8 @@ const PageManagement = (props) => {
           isOpen={isPageDeleteModalShown}
           onClose={closePageDeleteModalHandler}
           path={path}
+          pageId={pageId}
+          revisionId={revisionId}
           isAbleToDeleteCompletely={isAbleToDeleteCompletely}
         />
         <PagePresentationModal

+ 3 - 1
packages/app/src/components/Page/TrashPageAlert.jsx

@@ -15,7 +15,7 @@ import PageDeleteModal from '../PageDeleteModal';
 const TrashPageAlert = (props) => {
   const { t, pageContainer } = props;
   const {
-    path, isDeleted, lastUpdateUsername, updatedAt, deletedUserName, deletedAt, isAbleToDeleteCompletely,
+    pageId, revisionId, path, isDeleted, lastUpdateUsername, updatedAt, deletedUserName, deletedAt, isAbleToDeleteCompletely,
   } = pageContainer.state;
   const [isEmptyTrashModalShown, setIsEmptyTrashModalShown] = useState(false);
   const [isPutbackPageModalShown, setIsPutbackPageModalShown] = useState(false);
@@ -98,6 +98,8 @@ const TrashPageAlert = (props) => {
           isOpen={isPageDeleteModalShown}
           onClose={opclosePageDeleteModalHandler}
           path={path}
+          pageId={pageId}
+          revisionId={revisionId}
           isDeleteCompletelyModal
           isAbleToDeleteCompletely={isAbleToDeleteCompletely}
         />

+ 4 - 2
packages/app/src/components/PageDeleteModal.jsx

@@ -27,7 +27,7 @@ const deleteIconAndKey = {
 
 const PageDeleteModal = (props) => {
   const {
-    t, pageContainer, isOpen, onClose, isDeleteCompletelyModal, path, isAbleToDeleteCompletely,
+    t, pageContainer, isOpen, onClose, isDeleteCompletelyModal, path, pageId, revisionId, isAbleToDeleteCompletely,
   } = props;
   const [isDeleteRecursively, setIsDeleteRecursively] = useState(true);
   const [isDeleteCompletely, setIsDeleteCompletely] = useState(isDeleteCompletelyModal && isAbleToDeleteCompletely);
@@ -50,7 +50,7 @@ const PageDeleteModal = (props) => {
     setErrs(null);
 
     try {
-      const response = await pageContainer.deletePage(isDeleteRecursively, isDeleteCompletely);
+      const response = await pageContainer.deletePage(isDeleteRecursively, isDeleteCompletely, pageId, revisionId);
       const trashPagePath = response.page.path;
       window.location.href = encodeURI(trashPagePath);
     }
@@ -146,6 +146,8 @@ PageDeleteModal.propTypes = {
   onClose: PropTypes.func.isRequired,
 
   path: PropTypes.string.isRequired,
+  pageId: PropTypes.string.isRequired,
+  revisionId: PropTypes.string.isRequired,
   isDeleteCompletelyModal: PropTypes.bool,
   isAbleToDeleteCompletely: PropTypes.bool,
 };