import React, { useCallback } from 'react'; import PropTypes from 'prop-types'; import loggerFactory from '~/utils/logger'; import { withUnstatedContainers } from './UnstatedUtils'; import { toastError } from '~/client/util/apiNotification'; import { withLoadingSppiner } from './SuspenseUtils'; import PageRevisionTable from './PageHistory/PageRevisionTable'; import PageHistroyContainer from '~/client/services/PageHistoryContainer'; import PaginationWrapper from './PaginationWrapper'; import RevisionComparer from './RevisionComparer/RevisionComparer'; import RevisionComparerContainer from '~/client/services/RevisionComparerContainer'; const logger = loggerFactory('growi:PageHistory'); function PageHistory(props) { const { pageHistoryContainer, revisionComparerContainer } = props; const { getPreviousRevision } = pageHistoryContainer; const { activePage, totalPages, pagingLimit, revisions, diffOpened, } = pageHistoryContainer.state; const handlePage = useCallback(async(selectedPage) => { try { await props.pageHistoryContainer.retrieveRevisions(selectedPage); } catch (err) { toastError(err); props.pageHistoryContainer.setState({ errorMessage: err.message }); logger.error(err); } }, [props.pageHistoryContainer]); if (pageHistoryContainer.state.errorMessage != null) { return (