import React, { useState } from 'react'; import PropTypes from 'prop-types'; import { Modal, ModalHeader, ModalBody, ModalFooter, } from 'reactstrap'; import { withTranslation } from 'react-i18next'; import { apiPost } from '~/client/util/apiv1-client'; import ApiErrorMessageList from './PageManagement/ApiErrorMessageList'; const PutBackPageModal = (props) => { const { t, isOpen, onClose, pageId, path, } = props; const [errs, setErrs] = useState(null); const [isPutbackRecursively, setIsPutbackRecursively] = useState(true); function changeIsPutbackRecursivelyHandler() { setIsPutbackRecursively(!isPutbackRecursively); } async function putbackPage() { setErrs(null); try { // control flag // If is it not true, Request value must be `null`. const recursively = isPutbackRecursively ? true : null; const response = await apiPost('/pages.revertRemove', { page_id: pageId, recursively, }); const putbackPagePath = response.page.path; window.location.href = encodeURI(putbackPagePath); } catch (err) { setErrs(err); } } async function putbackPageButtonHandler() { putbackPage(); } return ( { t('modal_putback.label.Put Back Page') }

{path}

{ path }{ t('modal_putback.help.recursively') }

); }; PutBackPageModal.propTypes = { t: PropTypes.func.isRequired, // i18next isOpen: PropTypes.bool.isRequired, onClose: PropTypes.func.isRequired, pageId: PropTypes.string.isRequired, path: PropTypes.string.isRequired, }; export default withTranslation()(PutBackPageModal);