|
@@ -7,9 +7,7 @@ import {
|
|
|
|
|
|
|
|
import { withTranslation } from 'react-i18next';
|
|
import { withTranslation } from 'react-i18next';
|
|
|
|
|
|
|
|
-import { withUnstatedContainers } from './UnstatedUtils';
|
|
|
|
|
-import AppContainer from '~/client/services/AppContainer';
|
|
|
|
|
-import PageContainer from '~/client/services/PageContainer';
|
|
|
|
|
|
|
+import { apiPost } from '../client/util/apiv1-client';
|
|
|
|
|
|
|
|
import ApiErrorMessageList from './PageManagement/ApiErrorMessageList';
|
|
import ApiErrorMessageList from './PageManagement/ApiErrorMessageList';
|
|
|
|
|
|
|
@@ -28,9 +26,8 @@ const deleteIconAndKey = {
|
|
|
|
|
|
|
|
const PageDeleteModal = (props) => {
|
|
const PageDeleteModal = (props) => {
|
|
|
const {
|
|
const {
|
|
|
- t, appContainer, pageContainer, isOpen, onClose, isDeleteCompletelyModal, path, isAbleToDeleteCompletely,
|
|
|
|
|
|
|
+ t, isOpen, onClose, isDeleteCompletelyModal, pageId, revisionId, path, isAbleToDeleteCompletely,
|
|
|
} = props;
|
|
} = props;
|
|
|
- const { pageId, revisionId } = pageContainer.state;
|
|
|
|
|
const [isDeleteRecursively, setIsDeleteRecursively] = useState(true);
|
|
const [isDeleteRecursively, setIsDeleteRecursively] = useState(true);
|
|
|
const [isDeleteCompletely, setIsDeleteCompletely] = useState(isDeleteCompletelyModal && isAbleToDeleteCompletely);
|
|
const [isDeleteCompletely, setIsDeleteCompletely] = useState(isDeleteCompletelyModal && isAbleToDeleteCompletely);
|
|
|
const deleteMode = isDeleteCompletely ? 'completely' : 'temporary';
|
|
const deleteMode = isDeleteCompletely ? 'completely' : 'temporary';
|
|
@@ -53,14 +50,15 @@ const PageDeleteModal = (props) => {
|
|
|
|
|
|
|
|
try {
|
|
try {
|
|
|
// control flag
|
|
// control flag
|
|
|
- const completely = isDeleteCompletely ? true : null;
|
|
|
|
|
|
|
+ // If is it not true, Request value must be `null`.
|
|
|
const recursively = isDeleteRecursively ? true : null;
|
|
const recursively = isDeleteRecursively ? true : null;
|
|
|
|
|
+ const completely = isDeleteCompletely ? true : null;
|
|
|
|
|
|
|
|
- const response = await appContainer.apiPost('/pages.remove', {
|
|
|
|
|
- recursively,
|
|
|
|
|
- completely,
|
|
|
|
|
|
|
+ const response = await apiPost('/pages.remove', {
|
|
|
page_id: pageId,
|
|
page_id: pageId,
|
|
|
revision_id: revisionId,
|
|
revision_id: revisionId,
|
|
|
|
|
+ recursively,
|
|
|
|
|
+ completely,
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
const trashPagePath = response.page.path;
|
|
const trashPagePath = response.page.path;
|
|
@@ -145,19 +143,14 @@ const PageDeleteModal = (props) => {
|
|
|
);
|
|
);
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-/**
|
|
|
|
|
- * Wrapper component for using unstated
|
|
|
|
|
- */
|
|
|
|
|
-const PageDeleteModalWrapper = withUnstatedContainers(PageDeleteModal, [AppContainer, PageContainer]);
|
|
|
|
|
-
|
|
|
|
|
PageDeleteModal.propTypes = {
|
|
PageDeleteModal.propTypes = {
|
|
|
t: PropTypes.func.isRequired, // i18next
|
|
t: PropTypes.func.isRequired, // i18next
|
|
|
- appContainer: PropTypes.instanceOf(AppContainer).isRequired,
|
|
|
|
|
- pageContainer: PropTypes.instanceOf(PageContainer).isRequired,
|
|
|
|
|
|
|
|
|
|
isOpen: PropTypes.bool.isRequired,
|
|
isOpen: PropTypes.bool.isRequired,
|
|
|
onClose: PropTypes.func.isRequired,
|
|
onClose: PropTypes.func.isRequired,
|
|
|
|
|
|
|
|
|
|
+ pageId: PropTypes.string.isRequired,
|
|
|
|
|
+ revisionId: PropTypes.string.isRequired,
|
|
|
path: PropTypes.string.isRequired,
|
|
path: PropTypes.string.isRequired,
|
|
|
isDeleteCompletelyModal: PropTypes.bool,
|
|
isDeleteCompletelyModal: PropTypes.bool,
|
|
|
isAbleToDeleteCompletely: PropTypes.bool,
|
|
isAbleToDeleteCompletely: PropTypes.bool,
|
|
@@ -167,4 +160,4 @@ PageDeleteModal.defaultProps = {
|
|
|
isDeleteCompletelyModal: false,
|
|
isDeleteCompletelyModal: false,
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-export default withTranslation()(PageDeleteModalWrapper);
|
|
|
|
|
|
|
+export default withTranslation()(PageDeleteModal);
|