import React from 'react'; import PropTypes from 'prop-types'; import { withUnstatedContainers } from '../UnstatedUtils'; import RevisionCompareContainer from '../../services/RevisionCompareContainer'; class RevisionIdForm extends React.Component { constructor(props) { super(props); this.state = { }; } /** * render a row (Revision component and RevisionDiff component) * @param {label} label text of inputbox */ renderRevisionSelector(label) { if (["FromRev", "ToRev"].indexOf(label) === -1) { return
} const { revisionCompareContainer } = this.props; const selectedRev = (label === "FromRev" ? revisionCompareContainer.state.fromRevision : revisionCompareContainer.state.toRevision); const changeHandler = (label === "FromRev" ? revisionCompareContainer.handleFromRevisionChange : revisionCompareContainer.handleToRevisionChange); return (
); } render() { const fromRevSelector = this.renderRevisionSelector("FromRev"); const toRevSelector = this.renderRevisionSelector("ToRev"); return (
{ fromRevSelector } { toRevSelector }
); } } /** * Wrapper component for using unstated */ const RevisionIdFormWrapper = withUnstatedContainers(RevisionIdForm, [RevisionCompareContainer]); /** * Properties */ RevisionIdForm.propTypes = { revisionCompareContainer: PropTypes.instanceOf(RevisionCompareContainer).isRequired, }; /** * Properties */ RevisionIdForm.defaultProps = { }; export default RevisionIdFormWrapper;