2017-01-26 21:07:22 -08:00
|
|
|
import React, { PropTypes } from 'react';
|
|
|
|
import { HelpBlock, FormGroup, FormControl } from 'react-bootstrap';
|
2017-03-13 16:17:07 -07:00
|
|
|
import { getValidationState, DOMOnlyProps } from '../../utils/form';
|
2017-01-26 21:07:22 -08:00
|
|
|
|
2017-01-12 06:54:43 +00:00
|
|
|
const propTypes = {
|
|
|
|
placeholder: PropTypes.string,
|
|
|
|
solution: PropTypes.object
|
|
|
|
};
|
|
|
|
|
2017-01-26 21:07:22 -08:00
|
|
|
export default function SolutionInput({ solution, placeholder }) {
|
|
|
|
const validationState = getValidationState(solution);
|
|
|
|
return (
|
|
|
|
<FormGroup
|
|
|
|
controlId='solution'
|
|
|
|
validationState={ validationState }
|
|
|
|
>
|
|
|
|
<FormControl
|
|
|
|
name='solution'
|
|
|
|
placeholder={ placeholder }
|
|
|
|
type='url'
|
|
|
|
{ ...DOMOnlyProps(solution) }
|
|
|
|
/>
|
|
|
|
{
|
|
|
|
validationState === 'error' ?
|
|
|
|
<HelpBlock>Make sure you provide a proper URL.</HelpBlock> :
|
|
|
|
null
|
|
|
|
}
|
|
|
|
</FormGroup>
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
2017-01-12 06:54:43 +00:00
|
|
|
SolutionInput.displayName = 'SolutionInput';
|
|
|
|
SolutionInput.propTypes = propTypes;
|