|
@@ -1,22 +1,26 @@
|
|
|
-import React, { useState, FC, useMemo } from 'react';
|
|
|
|
|
|
|
+import React, {
|
|
|
|
|
+ useState, FC, useMemo,
|
|
|
|
|
+} from 'react';
|
|
|
|
|
+
|
|
|
|
|
+import { useTranslation } from 'react-i18next';
|
|
|
import {
|
|
import {
|
|
|
Modal, ModalHeader, ModalBody, ModalFooter,
|
|
Modal, ModalHeader, ModalBody, ModalFooter,
|
|
|
} from 'reactstrap';
|
|
} from 'reactstrap';
|
|
|
-import { useTranslation } from 'react-i18next';
|
|
|
|
|
|
|
|
|
|
import { apiPost } from '~/client/util/apiv1-client';
|
|
import { apiPost } from '~/client/util/apiv1-client';
|
|
|
import { apiv3Post } from '~/client/util/apiv3-client';
|
|
import { apiv3Post } from '~/client/util/apiv3-client';
|
|
|
-import { usePageDeleteModal } from '~/stores/modal';
|
|
|
|
|
-import loggerFactory from '~/utils/logger';
|
|
|
|
|
-
|
|
|
|
|
|
|
+import { HasObjectId } from '~/interfaces/has-object-id';
|
|
|
import {
|
|
import {
|
|
|
IDeleteSinglePageApiv1Result, IDeleteManyPageApiv3Result, IPageToDeleteWithMeta, IDataWithMeta, isIPageInfoForEntity, IPageInfoForEntity,
|
|
IDeleteSinglePageApiv1Result, IDeleteManyPageApiv3Result, IPageToDeleteWithMeta, IDataWithMeta, isIPageInfoForEntity, IPageInfoForEntity,
|
|
|
} from '~/interfaces/page';
|
|
} from '~/interfaces/page';
|
|
|
-import { HasObjectId } from '~/interfaces/has-object-id';
|
|
|
|
|
|
|
+import { usePageDeleteModal } from '~/stores/modal';
|
|
|
|
|
+import { useSWRxPageInfoForList } from '~/stores/page';
|
|
|
|
|
+import loggerFactory from '~/utils/logger';
|
|
|
|
|
+
|
|
|
|
|
|
|
|
import ApiErrorMessageList from './PageManagement/ApiErrorMessageList';
|
|
import ApiErrorMessageList from './PageManagement/ApiErrorMessageList';
|
|
|
|
|
+
|
|
|
import { isTrashPage } from '^/../core/src/utils/page-path-utils';
|
|
import { isTrashPage } from '^/../core/src/utils/page-path-utils';
|
|
|
-import { useSWRxPageInfoForList } from '~/stores/page';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const logger = loggerFactory('growi:cli:PageDeleteModal');
|
|
const logger = loggerFactory('growi:cli:PageDeleteModal');
|
|
@@ -121,7 +125,6 @@ const PageDeleteModal: FC = () => {
|
|
|
if (onDeleted != null) {
|
|
if (onDeleted != null) {
|
|
|
onDeleted(data.paths, data.isRecursively, data.isCompletely);
|
|
onDeleted(data.paths, data.isRecursively, data.isCompletely);
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
closeDeleteModal();
|
|
closeDeleteModal();
|
|
|
}
|
|
}
|
|
|
catch (err) {
|
|
catch (err) {
|
|
@@ -231,7 +234,6 @@ const PageDeleteModal: FC = () => {
|
|
|
<div className="form-group grw-scrollable-modal-body pb-1">
|
|
<div className="form-group grw-scrollable-modal-body pb-1">
|
|
|
<label>{ t('modal_delete.deleting_page') }:</label><br />
|
|
<label>{ t('modal_delete.deleting_page') }:</label><br />
|
|
|
{/* Todo: change the way to show path on modal when too many pages are selected */}
|
|
{/* Todo: change the way to show path on modal when too many pages are selected */}
|
|
|
- {/* https://redmine.weseek.co.jp/issues/82787 */}
|
|
|
|
|
{renderPagePathsToDelete()}
|
|
{renderPagePathsToDelete()}
|
|
|
</div>
|
|
</div>
|
|
|
{ isDeletable && renderDeleteRecursivelyForm()}
|
|
{ isDeletable && renderDeleteRecursivelyForm()}
|
|
@@ -245,7 +247,7 @@ const PageDeleteModal: FC = () => {
|
|
|
disabled={!isDeletable}
|
|
disabled={!isDeletable}
|
|
|
onClick={deleteButtonHandler}
|
|
onClick={deleteButtonHandler}
|
|
|
>
|
|
>
|
|
|
- <i className={`icon-${deleteIconAndKey[deleteMode].icon}`} aria-hidden="true"></i>
|
|
|
|
|
|
|
+ <i className={`mr-1 icon-${deleteIconAndKey[deleteMode].icon}`} aria-hidden="true"></i>
|
|
|
{ t(`modal_delete.delete_${deleteIconAndKey[deleteMode].translationKey}`) }
|
|
{ t(`modal_delete.delete_${deleteIconAndKey[deleteMode].translationKey}`) }
|
|
|
</button>
|
|
</button>
|
|
|
</ModalFooter>
|
|
</ModalFooter>
|