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

Fixed inability to single delete empty pages (client side)

Shun Miyazawa 3 лет назад
Родитель
Сommit
edc174e81b
1 измененных файлов с 10 добавлено и 0 удалено
  1. 10 0
      packages/app/src/components/PageDeleteModal.tsx

+ 10 - 0
packages/app/src/components/PageDeleteModal.tsx

@@ -3,6 +3,7 @@ import React, {
 } from 'react';
 
 import { HasObjectId, pagePathUtils } from '@growi/core';
+import { Boolean } from 'aws-sdk/clients/inspector2';
 import { useTranslation } from 'next-i18next';
 import {
   Modal, ModalHeader, ModalBody, ModalFooter,
@@ -76,6 +77,14 @@ const PageDeleteModal: FC = () => {
     return false;
   }, [deleteModalData]);
 
+  const forceDeleteRecursivelyMode = () => {
+    if (deleteModalData != null && deleteModalData.pages != null && deleteModalData.pages.length > 0) {
+      const pages = deleteModalData.pages as IPageToDeleteWithMeta<{isEmpty: boolean}>[];
+      return pages[0].meta?.isEmpty ?? false;
+    }
+    return false;
+  };
+
   const [isDeleteRecursively, setIsDeleteRecursively] = useState(true);
   const [isDeleteCompletely, setIsDeleteCompletely] = useState(forceDeleteCompletelyMode);
   const deleteMode = forceDeleteCompletelyMode || isDeleteCompletely ? 'completely' : 'temporary';
@@ -178,6 +187,7 @@ const PageDeleteModal: FC = () => {
           type="checkbox"
           checked={isDeleteRecursively}
           onChange={changeIsDeleteRecursivelyHandler}
+          disabled={forceDeleteRecursivelyMode()}
           // disabled // Todo: enable this at https://redmine.weseek.co.jp/issues/82222
         />
         <label className="custom-control-label" htmlFor="deleteRecursively">