// Copyright (c) 2016 Mattermost, Inc. All Rights Reserved. // See License.txt for license information. import React from 'react'; import Client from 'client/web_client.jsx'; import * as Utils from 'utils/utils.jsx'; import {FormattedMessage, FormattedHTMLMessage} from 'react-intl'; export default class LdapTestButton extends React.Component { static get propTypes() { return { disabled: React.PropTypes.bool, submitFunction: React.PropTypes.func, saveNeeded: React.PropTypes.bool }; } constructor(props) { super(props); this.handleLdapTest = this.handleLdapTest.bind(this); this.state = { buisy: false, fail: null, success: false }; } handleLdapTest(e) { e.preventDefault(); this.setState({ buisy: true, fail: null, success: false }); const doRequest = () => { //eslint-disable-line func-style Client.ldapTest( () => { this.setState({ buisy: false, success: true }); }, (err) => { this.setState({ buisy: false, fail: err.message }); } ); }; // If we need to run the save function then run it with our request function as callback if (this.props.saveNeeded) { this.props.submitFunction(doRequest); } else { doRequest(); } } render() { let message = null; if (this.state.fail) { message = (