import React from 'react'; import PropTypes from 'prop-types'; import { withTranslation } from 'react-i18next'; import RevisionComparerContainer from '~/client/services/RevisionComparerContainer'; import Revision from './Revision'; class PageRevisionTable extends React.Component { /** * render a row (Revision component and RevisionDiff component) * @param {Revison} revision * @param {Revision} previousRevision * @param {boolean} hasDiff whether revision has difference to previousRevision * @param {boolean} isContiguousNodiff true if the current 'hasDiff' and one of previous row is both false */ renderRow(revisions, index, previousRevision, hasDiff, isContiguousNodiff) { const { revisionComparerContainer, t } = this.props; const revision = revisions[index]; const latestRevision = revisions[0]; const oldestRevision = revisions[revision.length - 1]; const revisionId = revision._id; const { sourceRevision, targetRevision } = revisionComparerContainer.state; const handleCompareLatestRevisionButton = () => { revisionComparerContainer.setState({ sourceRevision: revision }); revisionComparerContainer.setState({ targetRevision: latestRevision }); }; const handleComparePreviousRevisionButton = () => { revisionComparerContainer.setState({ sourceRevision: previousRevision }); revisionComparerContainer.setState({ targetRevision: revision }); }; return (
| { t('page_history.revision') } | { t('page_history.comparing_source') } | { t('page_history.comparing_target') } |
|---|