import PropTypes from 'prop-types'; // Copyright (c) 2016-present 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'; import * as Utils from 'utils/utils.jsx'; export default class BooleanSetting extends React.Component { constructor(props) { super(props); this.handleChange = this.handleChange.bind(this); } handleChange(e) { this.props.onChange(this.props.id, e.target.value === 'true'); } render() { let helpText; if (this.props.disabled && this.props.disabledText) { helpText = (
{this.props.disabledText} {this.props.helpText}
); } else { helpText = this.props.helpText; } return ( ); } } BooleanSetting.defaultProps = { trueText: ( ), falseText: ( ), disabled: false }; BooleanSetting.propTypes = { id: PropTypes.string.isRequired, label: PropTypes.node.isRequired, value: PropTypes.bool.isRequired, onChange: PropTypes.func.isRequired, trueText: PropTypes.node, falseText: PropTypes.node, disabled: PropTypes.bool.isRequired, disabledText: PropTypes.node, helpText: PropTypes.node.isRequired };