UNPKG

core-resource-app-test

Version:

App that contains assets and scripts for the core apps

52 lines (43 loc) 1.42 kB
import React from 'react'; import SelectField from 'material-ui/SelectField/SelectField'; import MenuItem from 'material-ui/MenuItem/MenuItem'; import Translate from '../i18n/Translate.mixin'; export default React.createClass({ propTypes: { value: React.PropTypes.string, locales: React.PropTypes.arrayOf(React.PropTypes.shape({ name: React.PropTypes.string.isRequired, locale: React.PropTypes.string.isRequired, })).isRequired, onChange: React.PropTypes.func.isRequired, }, mixins: [Translate], render() { const localeMenuItems = [{ payload: '', text: '' }] .concat(this.props.locales) .map((locale, index) => ( <MenuItem key={index} primaryText={locale.name} value={locale.locale} /> )); return ( <SelectField fullWidth {...this.props} value={this.state && this.state.locale} hintText={this.getTranslation('select_locale')} onChange={this._localeChange} > {localeMenuItems} </SelectField> ); }, _localeChange(event, index, locale) { this.setState({ locale, }); this.props.onChange(locale, event); }, });