|
|
@@ -1,5 +1,5 @@
|
|
|
import React, {
|
|
|
- useState, FC, useMemo, useCallback,
|
|
|
+ useState, FC, useMemo,
|
|
|
} from 'react';
|
|
|
|
|
|
import { useTranslation } from 'react-i18next';
|
|
|
@@ -45,7 +45,6 @@ const PageDeleteModal: FC = () => {
|
|
|
const { data: deleteModalData, close: closeDeleteModal } = usePageDeleteModal();
|
|
|
|
|
|
const isOpened = deleteModalData?.isOpened ?? false;
|
|
|
- const emptyTrash = deleteModalData?.opts?.emptyTrash ?? false;
|
|
|
|
|
|
const notOperatablePages: IPageToDeleteWithMeta[] = (deleteModalData?.pages ?? [])
|
|
|
.filter(p => !isIPageInfoForEntity(p.meta));
|
|
|
@@ -126,7 +125,6 @@ const PageDeleteModal: FC = () => {
|
|
|
if (onDeleted != null) {
|
|
|
onDeleted(data.paths, data.isRecursively, data.isCompletely);
|
|
|
}
|
|
|
-
|
|
|
closeDeleteModal();
|
|
|
}
|
|
|
catch (err) {
|
|
|
@@ -212,10 +210,6 @@ const PageDeleteModal: FC = () => {
|
|
|
);
|
|
|
}
|
|
|
|
|
|
- const renderCompletelyDeleteAlert = useMemo(() => {
|
|
|
- return <p className="form-text mt-0">{t('modal_delete.empty_trash_alert')}</p>;
|
|
|
- }, [t]);
|
|
|
-
|
|
|
const renderPagePathsToDelete = () => {
|
|
|
const pages = injectedPages != null && injectedPages.length > 0 ? injectedPages : deleteModalData?.pages;
|
|
|
|
|
|
@@ -230,28 +224,11 @@ const PageDeleteModal: FC = () => {
|
|
|
return <></>;
|
|
|
};
|
|
|
|
|
|
- const renderDeleteModalOptions = useCallback(() => {
|
|
|
- if (emptyTrash) {
|
|
|
- return renderCompletelyDeleteAlert;
|
|
|
- }
|
|
|
-
|
|
|
- if (!isDeletable) {
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
- return (
|
|
|
- <>
|
|
|
- {renderDeleteRecursivelyForm()}
|
|
|
- {!forceDeleteCompletelyMode && renderDeleteCompletelyForm()}
|
|
|
- </>
|
|
|
- );
|
|
|
- }, [t, deleteModalData, isDeleteCompletely, isDeleteRecursively]);
|
|
|
-
|
|
|
return (
|
|
|
<Modal size="lg" isOpen={isOpened} toggle={closeDeleteModal} data-testid="page-delete-modal" className="grw-create-page">
|
|
|
<ModalHeader tag="h4" toggle={closeDeleteModal} className={`bg-${deleteIconAndKey[deleteMode].color} text-light`}>
|
|
|
<i className={`icon-fw icon-${deleteIconAndKey[deleteMode].icon}`}></i>
|
|
|
- { emptyTrash ? t('modal_delete.empty_trash') : t(`modal_delete.delete_${deleteIconAndKey[deleteMode].translationKey}`) }
|
|
|
+ { t(`modal_delete.delete_${deleteIconAndKey[deleteMode].translationKey}`) }
|
|
|
</ModalHeader>
|
|
|
<ModalBody>
|
|
|
<div className="form-group grw-scrollable-modal-body pb-1">
|
|
|
@@ -259,7 +236,8 @@ const PageDeleteModal: FC = () => {
|
|
|
{/* Todo: change the way to show path on modal when too many pages are selected */}
|
|
|
{renderPagePathsToDelete()}
|
|
|
</div>
|
|
|
- {renderDeleteModalOptions()}
|
|
|
+ { isDeletable && renderDeleteRecursivelyForm()}
|
|
|
+ { isDeletable && !forceDeleteCompletelyMode && renderDeleteCompletelyForm() }
|
|
|
</ModalBody>
|
|
|
<ModalFooter>
|
|
|
<ApiErrorMessageList errs={errs} />
|
|
|
@@ -270,7 +248,7 @@ const PageDeleteModal: FC = () => {
|
|
|
onClick={deleteButtonHandler}
|
|
|
>
|
|
|
<i className={`mr-1 icon-${deleteIconAndKey[deleteMode].icon}`} aria-hidden="true"></i>
|
|
|
- { emptyTrash ? t('modal_delete.empty_trash_button') : t(`modal_delete.delete_${deleteIconAndKey[deleteMode].translationKey}`) }
|
|
|
+ { t(`modal_delete.delete_${deleteIconAndKey[deleteMode].translationKey}`) }
|
|
|
</button>
|
|
|
</ModalFooter>
|
|
|
</Modal>
|