|
|
@@ -1,4 +1,4 @@
|
|
|
-import React, { Suspense, useState } from 'react';
|
|
|
+import React, { Suspense } from 'react';
|
|
|
import PropTypes from 'prop-types';
|
|
|
import loggerFactory from '@alias/logger';
|
|
|
|
|
|
@@ -7,14 +7,8 @@ import { toastError } from '../util/apiNotification';
|
|
|
|
|
|
import PageRevisionList from './PageHistory/PageRevisionList';
|
|
|
|
|
|
-import AppContainer from '../services/AppContainer';
|
|
|
-import PageContainer from '../services/PageContainer';
|
|
|
import PageHistroyContainer from '../services/PageHistoryContainer';
|
|
|
|
|
|
-import fetchProfileData from './FakeApi';
|
|
|
-
|
|
|
-const resource = fetchProfileData();
|
|
|
-
|
|
|
const logger = loggerFactory('growi:PageHistory');
|
|
|
|
|
|
// set dummy value tile for using suspense
|
|
|
@@ -34,78 +28,24 @@ function AppSettingsPage(props) {
|
|
|
);
|
|
|
}
|
|
|
function PageHistory(props) {
|
|
|
- const { pageContainer, pageHistoryContainer } = props;
|
|
|
- const { shareLinkId, pageId } = pageContainer.state;
|
|
|
+ const { pageHistoryContainer } = props;
|
|
|
|
|
|
if (!isLoaded) {
|
|
|
throw new Promise(async() => {
|
|
|
try {
|
|
|
- await props.pageHistoryContainer.retrieveRevisions({ pageId, shareLinkId });
|
|
|
+ await props.pageHistoryContainer.retrieveRevisions();
|
|
|
}
|
|
|
catch (err) {
|
|
|
toastError(err);
|
|
|
pageHistoryContainer.setState({ retrieveError: err.message });
|
|
|
logger.error(err);
|
|
|
}
|
|
|
- isLoaded = true;
|
|
|
+ finally {
|
|
|
+ isLoaded = true;
|
|
|
+ }
|
|
|
});
|
|
|
}
|
|
|
|
|
|
- function fetchPageRevisionBody(revision) {
|
|
|
- const { appContainer, pageContainer } = props;
|
|
|
- const { pageId, shareLinkId } = pageContainer.state;
|
|
|
-
|
|
|
- if (revision.body) {
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
- appContainer.apiGet('/revisions.get', { page_id: pageId, revision_id: revision._id, share_link_id: shareLinkId })
|
|
|
- .then((res) => {
|
|
|
- if (res.ok) {
|
|
|
- this.setState({
|
|
|
- revisions: this.state.revisions.map((rev) => {
|
|
|
- // comparing ObjectId
|
|
|
- // eslint-disable-next-line eqeqeq
|
|
|
- if (rev._id == res.revision._id) {
|
|
|
- return res.revision;
|
|
|
- }
|
|
|
-
|
|
|
- return rev;
|
|
|
- }),
|
|
|
- });
|
|
|
- }
|
|
|
- })
|
|
|
- .catch((err) => {
|
|
|
-
|
|
|
- });
|
|
|
- }
|
|
|
-
|
|
|
- // function getPreviousRevision(currentRevision) {
|
|
|
- // let cursor = null;
|
|
|
- // for (const revision of revisions) {
|
|
|
- // // comparing ObjectId
|
|
|
- // // eslint-disable-next-line eqeqeq
|
|
|
- // if (cursor && cursor._id == currentRevision._id) {
|
|
|
- // cursor = revision;
|
|
|
- // break;
|
|
|
- // }
|
|
|
-
|
|
|
- // cursor = revision;
|
|
|
- // }
|
|
|
-
|
|
|
- // return cursor;
|
|
|
- // }
|
|
|
-
|
|
|
- // function onDiffOpenClicked(revision) {
|
|
|
- // const revisionId = revision._id;
|
|
|
-
|
|
|
- // diffOpened[revisionId] = !(diffOpened[revisionId]);
|
|
|
- // setDiffOpened(diffOpened);
|
|
|
-
|
|
|
- // fetchPageRevisionBody(revision);
|
|
|
- // fetchPageRevisionBody(getPreviousRevision(revision));
|
|
|
- // }
|
|
|
-
|
|
|
return (
|
|
|
<div className="mt-4">
|
|
|
{pageHistoryContainer.state.errorMessage && (
|
|
|
@@ -124,12 +64,9 @@ function PageHistory(props) {
|
|
|
|
|
|
}
|
|
|
|
|
|
-const RenderPageHistoryWrapper = withUnstatedContainers(PageHistory, [AppContainer, PageContainer, PageHistroyContainer]);
|
|
|
-
|
|
|
+const RenderPageHistoryWrapper = withUnstatedContainers(PageHistory, [PageHistroyContainer]);
|
|
|
|
|
|
PageHistory.propTypes = {
|
|
|
- appContainer: PropTypes.instanceOf(AppContainer).isRequired,
|
|
|
- pageContainer: PropTypes.instanceOf(PageContainer).isRequired,
|
|
|
pageHistoryContainer: PropTypes.instanceOf(PageHistroyContainer).isRequired,
|
|
|
};
|
|
|
|