Ryu Sato 5 лет назад
Родитель
Сommit
030040eee0

+ 11 - 14
src/client/js/components/RevisionCompare.jsx

@@ -1,18 +1,15 @@
-import React, { useMemo, useCallback } from 'react';
+import React from 'react';
 import PropTypes from 'prop-types';
 import { withTranslation } from 'react-i18next';
-
-import { withUnstatedContainers } from './UnstatedUtils';
-import RevisionCompareContainer from '../services/RevisionCompareContainer';
-import RevisionDiff from './PageHistory/RevisionDiff';
-
-import RevisionIdForm from './RevisionCompare/RevisionIdForm';
-
 import { CopyToClipboard } from 'react-copy-to-clipboard';
 import {
   Dropdown, DropdownToggle, DropdownMenu, DropdownItem
 } from 'reactstrap';
 
+import { withUnstatedContainers } from './UnstatedUtils';
+import RevisionCompareContainer from '../services/RevisionCompareContainer';
+import RevisionDiff from './PageHistory/RevisionDiff';
+import RevisionIdForm from './RevisionCompare/RevisionIdForm';
 
 const DropdownItemContents = ({ title, contents }) => (
   <>
@@ -35,7 +32,7 @@ class PageCompare extends React.Component {
     super();
 
     this.state = {
-      dropdownOpen: false
+      dropdownOpen: false,
     }
 
     this.toggleDropdown = this.toggleDropdown.bind(this);
@@ -48,7 +45,7 @@ class PageCompare extends React.Component {
 
   toggleDropdown() {
     this.setState({
-      dropdownOpen: !this.state.dropdownOpen
+      dropdownOpen: !this.state.dropdownOpen,
     });
   }
 
@@ -64,7 +61,7 @@ class PageCompare extends React.Component {
       const { path } = revisionCompareContainer.pageContainer.state;
       const { fromRevision, toRevision } = revisionCompareContainer.state;
 
-      const urlParams = (fromRevision && toRevision ? `?compare=${fromRevision._id}...${toRevision._id}` : "");
+      const urlParams = (fromRevision && toRevision ? `?compare=${fromRevision._id}...${toRevision._id}` : '');
       return encodeSpaces(decodeURI(`${origin}/${path}${urlParams}`));
     }
 
@@ -100,9 +97,9 @@ class PageCompare extends React.Component {
 
         { showDiff &&
           <RevisionDiff
-            revisionDiffOpened={ true }
-            previousRevision={ fromRev }
-            currentRevision={ toRev }
+            revisionDiffOpened
+            previousRevision={fromRev}
+            currentRevision={toRev}
           />
         }
       </div>

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

@@ -15,7 +15,7 @@ class RevisionIdForm extends React.Component {
     const { revisionCompareContainer } = this.props;
     const timeFormat = 'yyyy/MM/dd HH:mm:ss';
 
-    return revisionCompareContainer.state.revisions.map(rev => {
+    return revisionCompareContainer.state.revisions.map((rev) => {
       return { label: `${format(new Date(rev.createdAt), timeFormat)} - ${rev._id}`, value: rev._id };
     });
   }
@@ -25,20 +25,20 @@ class RevisionIdForm extends React.Component {
    * @param {label} label text of inputbox
    */
   renderRevisionSelector(label) {
-    if (["FromRev", "ToRev"].indexOf(label) === -1) {
-      return <></>
+    if (['FromRev', 'ToRev'].indexOf(label) === -1) {
+      return <></>;
     }
-    const forFromRev = (label === "FromRev");
+    const forFromRev = (label === 'FromRev');
 
     const { revisionCompareContainer } = this.props;
     const options = this.revisionOptions();
-    const selectedRevisionId = (forFromRev ? revisionCompareContainer.state.fromRevision?._id : revisionCompareContainer.state.toRevision?._id );
+    const selectedRevisionId = (forFromRev ? revisionCompareContainer.state.fromRevision?._id : revisionCompareContainer.state.toRevision?._id);
     const value = options.find(it => it.value === selectedRevisionId);
     const changeHandler = (forFromRev ? revisionCompareContainer.handleFromRevisionChange : revisionCompareContainer.handleToRevisionChange);
     return (
       <ReactSelect
         options={options}
-        onChange={(selectedOption) => changeHandler(selectedOption.value)}
+        onChange={selectedOption => changeHandler(selectedOption.value)}
         placeholder={label}
         value={value}
       />
@@ -46,8 +46,8 @@ class RevisionIdForm extends React.Component {
   }
 
   render() {
-    const fromRevSelector = this.renderRevisionSelector("FromRev");
-    const toRevSelector = this.renderRevisionSelector("ToRev");
+    const fromRevSelector = this.renderRevisionSelector('FromRev');
+    const toRevSelector = this.renderRevisionSelector('ToRev');
 
     return (
       <div className="container-fluid px-0">

+ 10 - 8
src/client/js/services/RevisionCompareContainer.js

@@ -24,7 +24,7 @@ export default class RevisionCompareContainer extends Container {
       toRevision: null,
 
       revisions: [],
-    }
+    };
 
     this.readyRevisions = this.readyRevisions.bind(this);
     this.fetchPageRevisionBody = this.fetchPageRevisionBody.bind(this);
@@ -60,7 +60,7 @@ export default class RevisionCompareContainer extends Container {
     const { pageId, shareLinkId } = this.pageContainer.state;
     try {
       const res = await this.appContainer.apiv3Get(`/revisions/${revisionId}`, { pageId, shareLinkId });
-      if (res == null || res.data == undefined || res.data.revision == undefined) {
+      if (res == null || res.data === undefined || res.data.revision === undefined) {
         logger.warn(`cannot get revision. revisionId: ${revisionId}`);
         return null;
       }
@@ -93,10 +93,12 @@ export default class RevisionCompareContainer extends Container {
       });
       newRevisions = newRevisions.concat(res.data.docs.map(rev => {
         const { _id, createdAt, path } = rev;
-        return { _id, createdAt, path, body: null };
+        return {
+          _id, createdAt, path, body: null
+        };
       }));
       page++;
-    } while(res.data.hasNextPage && --max > 0);
+    } while (res.data.hasNextPage && --max > 0);
 
     this.setState({ revisions: newRevisions });
   }
@@ -118,13 +120,13 @@ export default class RevisionCompareContainer extends Container {
         compactRevision.body = body;
 
         // cache revision body
-        const newRevisions = this.state.revisions.map(rev => {
+        const newRevisions = this.state.revisions.map((rev) => {
           if (rev._id === revisionId) {
             return { ...rev, body };
           }
           return rev;
         });
-        this.setState( { revisions: newRevisions });
+        this.setState({ revisions: newRevisions });
       }
       return compactRevision;
     }
@@ -137,12 +139,12 @@ export default class RevisionCompareContainer extends Container {
 
   async handleFromRevisionChange(revisionId) {
     const fromRevision = await this.fetchPageRevision(revisionId);
-    this.setState({ fromRevision })
+    this.setState({ fromRevision });
   }
 
   async handleToRevisionChange(revisionId) {
     const toRevision = await this.fetchPageRevision(revisionId);
-    this.setState({ toRevision })
+    this.setState({ toRevision });
   }
 
 }