summaryrefslogtreecommitdiffstats
path: root/webapp/components/admin_console/boolean_setting.jsx
blob: 99d508d684e21df2102c6c15612dbdd2571aac7d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
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
};