|
|
@@ -7,9 +7,11 @@ import {
|
|
|
Modal, ModalHeader, ModalBody, ModalFooter,
|
|
|
} from 'reactstrap';
|
|
|
|
|
|
+
|
|
|
import { withTranslation } from 'react-i18next';
|
|
|
|
|
|
import { debounce } from 'throttle-debounce';
|
|
|
+import { usePageRenameModalStatus, usePageRenameModalOpened } from '~/stores/ui';
|
|
|
import { withUnstatedContainers } from './UnstatedUtils';
|
|
|
import { toastError } from '~/client/util/apiNotification';
|
|
|
|
|
|
@@ -24,10 +26,14 @@ import DuplicatedPathsTable from './DuplicatedPathsTable';
|
|
|
|
|
|
const PageRenameModal = (props) => {
|
|
|
const {
|
|
|
- t, appContainer, path, pageId, revisionId,
|
|
|
+ t, appContainer,
|
|
|
} = props;
|
|
|
|
|
|
const { crowi } = appContainer.config;
|
|
|
+ const { data: isOpened } = usePageRenameModalOpened();
|
|
|
+ const { data: pagesDataToRename, close: closeRenameModal } = usePageRenameModalStatus();
|
|
|
+
|
|
|
+ const { path, revisionId, pageId } = pagesDataToRename;
|
|
|
|
|
|
const [pageNameInput, setPageNameInput] = useState(path);
|
|
|
|
|
|
@@ -41,6 +47,7 @@ const PageRenameModal = (props) => {
|
|
|
const [subordinatedError] = useState(null);
|
|
|
const [isRenameRecursivelyWithoutExistPath, setIsRenameRecursivelyWithoutExistPath] = useState(true);
|
|
|
|
|
|
+
|
|
|
function changeIsRenameRecursivelyHandler() {
|
|
|
SetIsRenameRecursively(!isRenameRecursively);
|
|
|
}
|
|
|
@@ -70,10 +77,10 @@ const PageRenameModal = (props) => {
|
|
|
}, [path, t]);
|
|
|
|
|
|
useEffect(() => {
|
|
|
- if (props.isOpen) {
|
|
|
+ if (isOpened) {
|
|
|
updateSubordinatedList();
|
|
|
}
|
|
|
- }, [props.isOpen, updateSubordinatedList]);
|
|
|
+ }, [isOpened, updateSubordinatedList]);
|
|
|
|
|
|
|
|
|
const checkExistPaths = async(newParentPath) => {
|
|
|
@@ -137,8 +144,8 @@ const PageRenameModal = (props) => {
|
|
|
}
|
|
|
|
|
|
return (
|
|
|
- <Modal size="lg" isOpen={props.isOpen} toggle={props.onClose} autoFocus={false}>
|
|
|
- <ModalHeader tag="h4" toggle={props.onClose} className="bg-primary text-light">
|
|
|
+ <Modal size="lg" isOpen={isOpened} toggle={closeRenameModal} autoFocus={false}>
|
|
|
+ <ModalHeader tag="h4" toggle={closeRenameModal} className="bg-primary text-light">
|
|
|
{ t('modal_rename.label.Move/Rename page') }
|
|
|
</ModalHeader>
|
|
|
<ModalBody>
|
|
|
@@ -253,12 +260,12 @@ PageRenameModal.propTypes = {
|
|
|
t: PropTypes.func.isRequired, // i18next
|
|
|
appContainer: PropTypes.instanceOf(AppContainer).isRequired,
|
|
|
|
|
|
- isOpen: PropTypes.bool.isRequired,
|
|
|
- onClose: PropTypes.func.isRequired,
|
|
|
+ // isOpen: PropTypes.bool.isRequired,
|
|
|
+ // onClose: PropTypes.func.isRequired,
|
|
|
|
|
|
- pageId: PropTypes.string.isRequired,
|
|
|
- revisionId: PropTypes.string.isRequired,
|
|
|
- path: PropTypes.string.isRequired,
|
|
|
+ // pageId: PropTypes.string.isRequired,
|
|
|
+ // revisionId: PropTypes.string.isRequired,
|
|
|
+ // path: PropTypes.string.isRequired,
|
|
|
};
|
|
|
|
|
|
export default withTranslation()(PageRenameModalWrapper);
|