diff options
Diffstat (limited to 'webapp/components/admin_console/boolean_setting.jsx')
-rw-r--r-- | webapp/components/admin_console/boolean_setting.jsx | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/webapp/components/admin_console/boolean_setting.jsx b/webapp/components/admin_console/boolean_setting.jsx new file mode 100644 index 000000000..99d508d68 --- /dev/null +++ b/webapp/components/admin_console/boolean_setting.jsx @@ -0,0 +1,62 @@ +// Copyright (c) 2016 Mattermost, Inc. All Rights Reserved. +// See License.txt for license information. + +import React from 'react'; + +import Setting from './setting.jsx'; + +import {FormattedMessage} from 'react-intl'; + +export default class BooleanSetting extends React.Component { + render() { + return ( + <Setting label={this.props.label}> + <label className='radio-inline'> + <input + type='radio' + value='true' + checked={this.props.currentValue} + onChange={this.props.handleChange} + disabled={this.props.isDisabled} + /> + {this.props.trueText} + </label> + <label className='radio-inline'> + <input + type='radio' + value='false' + checked={!this.props.currentValue} + onChange={this.props.handleChange} + disabled={this.props.isDisabled} + /> + {this.props.falseText} + </label> + {this.props.helpText} + </Setting> + ); + } +} +BooleanSetting.defaultProps = { + trueText: ( + <FormattedMessage + id='admin.ldap.true' + defaultMessage='true' + /> + ), + falseText: ( + <FormattedMessage + id='admin.ldap.false' + defaultMessage='false' + /> + ) +}; + +BooleanSetting.propTypes = { + label: React.PropTypes.node.isRequired, + currentValue: React.PropTypes.bool.isRequired, + trueText: React.PropTypes.node, + falseText: React.PropTypes.node, + isDisabled: React.PropTypes.bool.isRequired, + handleChange: React.PropTypes.func.isRequired, + helpText: React.PropTypes.node.isRequired +}; |