import React from 'react'; import PropTypes from 'prop-types'; import { withUnstatedContainers } from '../UnstatedUtils'; import { withLoadingSppiner } from '../SuspenseUtils'; import RevisionComparerContainer from '../../services/RevisionComparerContainer'; const RevisionSelector = (props) => { const { revision, hasDiff, revisionComparerContainer } = props; const { sourceRevision, targetRevision } = revisionComparerContainer.state; if (!hasDiff) { return <>; } return (
revisionComparerContainer.setState({ sourceRevision: revision })} />
revisionComparerContainer.setState({ targetRevision: revision })} disabled={revisionComparerContainer.state.compareWithLatest} />
); }; const RevisionSelectorWrapper = withUnstatedContainers(withLoadingSppiner(RevisionSelector), [RevisionComparerContainer]); RevisionSelector.propTypes = { revisionComparerContainer: PropTypes.instanceOf(RevisionComparerContainer).isRequired, revision: PropTypes.object, hasDiff: PropTypes.bool.isRequired, }; export default RevisionSelectorWrapper;