38 lines
814 B
JavaScript
Raw Normal View History

2016-10-13 19:31:29 +02:00
/**
*
* LocaleToggle
*
*/
import PropTypes from 'prop-types';
2016-10-13 19:31:29 +02:00
import ToggleOption from 'components/ToggleOption';
2016-10-13 19:31:29 +02:00
import styles from './styles.scss';
2017-08-18 17:02:33 +02:00
function Toggle(props) { // eslint-disable-line react/prefer-stateless-function
2016-10-13 19:31:29 +02:00
let content = (<option>--</option>);
// If we have items, render them
if (props.values) {
content = props.values.map((value) => (
<ToggleOption key={value} value={value} message={props.messages[value]} />
2016-10-13 19:31:29 +02:00
));
}
return (
<select onChange={props.onToggle} className={styles.toggle} defaultValue={props.value}>
2016-10-13 19:31:29 +02:00
{content}
</select>
);
}
Toggle.propTypes = {
messages: PropTypes.object.isRequired,
onToggle: PropTypes.func.isRequired,
value: PropTypes.string.isRequired,
values: PropTypes.array.isRequired,
2016-10-13 19:31:29 +02:00
};
export default Toggle;