import React from 'react'; import PropTypes from 'prop-types'; import UserDate from '../Common/UserDate'; import UserPicture from '../User/UserPicture'; export default class Revision extends React.Component { constructor(props) { super(props); this._onDiffOpenClicked = this._onDiffOpenClicked.bind(this); } componentDidMount() { } _onDiffOpenClicked() { this.props.onDiffOpenClicked(this.props.revision); } renderSimplifiedNodiff(revision) { const author = revision.author; let pic = ''; if (typeof author === 'object') { pic = ; } return (
{pic}
(No diff)
); } renderFull(revision) { const author = revision.author; let pic = ''; if (typeof author === 'object') { pic = ; } const iconClass = this.props.revisionDiffOpened ? 'caret caret-opened' : 'caret'; return (
{pic}
{author.username}

{ !this.props.hasDiff && No diff } { this.props.hasDiff && View diff } Go to this version

); } render() { const revision = this.props.revision; if (this.props.isCompactNodiffRevisions && !this.props.hasDiff) { return this.renderSimplifiedNodiff(revision); } else { return this.renderFull(revision); } } } Revision.propTypes = { revision: PropTypes.object, revisionDiffOpened: PropTypes.bool.isRequired, hasDiff: PropTypes.bool.isRequired, isCompactNodiffRevisions: PropTypes.bool.isRequired, onDiffOpenClicked: PropTypes.func.isRequired, };