Ryu Sato пре 5 година
родитељ
комит
869ff9e285

+ 2 - 0
src/client/js/components/RevisionCompare.jsx

@@ -104,6 +104,8 @@ const PageCompareWrapper = withUnstatedContainers(PageCompare, [RevisionCompareC
 PageCompare.propTypes = {
   t: PropTypes.func.isRequired, // i18next
   revisionCompareContainer: PropTypes.instanceOf(RevisionCompareContainer).isRequired,
+
+  revisions: PropTypes.array,
 };
 
 export default withTranslation()(PageCompareWrapper);

+ 1 - 1
src/client/js/components/RevisionCompare/RevisionIdForm.jsx

@@ -13,8 +13,8 @@ const RevisionIdForm = (props) => {
    * create an Option array for AsyncSelect from the revision list
    */
   const revisionOptions = () => {
-    const { revisions } = props.pageHistoryContainer.state;
     const timeFormat = 'yyyy/MM/dd HH:mm:ss';
+    const { revisions } = props.pageHistoryContainer.state;
 
     return revisions.map((rev) => {
       return { label: `${format(new Date(rev.createdAt), timeFormat)} - ${rev._id}`, value: rev._id };

+ 0 - 82
src/client/js/services/RevisionCompareContainer.js

@@ -22,14 +22,9 @@ export default class RevisionCompareContainer extends Container {
 
       fromRevision: null,
       toRevision: null,
-
-      revisions: [],
     };
 
-    this.readyRevisions = this.readyRevisions.bind(this);
     this.fetchPageRevisionBody = this.fetchPageRevisionBody.bind(this);
-    this.fetchAllPageRevisions = this.fetchAllPageRevisions.bind(this);
-    this.fetchPageRevision = this.fetchPageRevision.bind(this);
     this.handleFromRevisionChange = this.handleFromRevisionChange.bind(this);
     this.handleToRevisionChange = this.handleToRevisionChange.bind(this);
   }
@@ -41,17 +36,6 @@ export default class RevisionCompareContainer extends Container {
     return 'RevisionCompareContainer';
   }
 
-  async readyRevisions() {
-    await this.fetchAllPageRevisions();
-
-    const latestRevisionId = this.state.revisions[0]._id;
-    const { compareRevisionIds } = this.pageContainer.state;
-    const fromRevisionIdParam = compareRevisionIds[0] || latestRevisionId;
-    const toRevisionIdParam = compareRevisionIds[1] || latestRevisionId;
-    await this.handleFromRevisionChange(fromRevisionIdParam);
-    await this.handleToRevisionChange(toRevisionIdParam);
-  }
-
   /**
    * Fetch page revision body by revision_id in argument
    * @param {string} revisionId
@@ -73,72 +57,6 @@ export default class RevisionCompareContainer extends Container {
     }
   }
 
-  /**
-   * Fetch all page revisions
-   *
-   * Each revision to be saved contains only "_id" and "createdAt", and "body" is initialized to null.
-   * ex. [{_id: "5ff03fded799ebc858a09266", body: null, creat…}, {_id: "5ff03fbed799ebc858a09262", body: null, creat…}]
-   */
-  async fetchAllPageRevisions() {
-    const { pageId, shareLinkId } = this.pageContainer.state;
-
-    // fetch all page revisions that are sorted update day time descending
-    let max = 1000; // Maximum number of loops to avoid infinite loops.
-    let newRevisions = [];
-    let page = 1;
-    let res = null;
-    /* eslint-disable no-await-in-loop */
-    do {
-      res = await this.appContainer.apiv3Get('/revisions/list', {
-        pageId, shareLinkId, page,
-      });
-      newRevisions = newRevisions.concat(res.data.docs.map((rev) => {
-        const { _id, createdAt, path } = rev;
-        return {
-          _id, createdAt, path, body: null,
-        };
-      }));
-      page++;
-    } while (res.data.hasNextPage && --max > 0);
-    /* eslint-disable no-await-in-loop */
-
-    this.setState({ revisions: newRevisions });
-  }
-
-  /**
-   * Fetch specified page revision
-   * If revision's body is empty, it will be completed.
-   * @param {string} revisionId
-   * @return {revision} revision
-   */
-  async fetchPageRevision(revisionId) {
-    try {
-      const compactRevision = this.state.revisions.find(rev => rev._id === revisionId);
-      if (this.state.revisions.find(rev => rev._id === revisionId) === undefined) {
-        return null;
-      }
-      if (compactRevision.body == null) {
-        const body = await this.fetchPageRevisionBody(revisionId);
-        compactRevision.body = body;
-
-        // cache revision body
-        const newRevisions = this.state.revisions.map((rev) => {
-          if (rev._id === revisionId) {
-            return { ...rev, body };
-          }
-          return rev;
-        });
-        this.setState({ revisions: newRevisions });
-      }
-      return compactRevision;
-    }
-    catch (err) {
-      toastError(err);
-      this.setState({ errorMessage: err.message });
-      logger.error(err);
-    }
-  }
-
   async handleFromRevisionChange(revision) {
     this.setState({ fromRevision: revision });
   }