// Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved.
// See License.txt for license information.
import React from 'react';
import PropTypes from 'prop-types';
import BackstageHeader from 'components/backstage/components/backstage_header.jsx';
import {FormattedMessage} from 'react-intl';
import FormError from 'components/form_error.jsx';
import {browserHistory, Link} from 'react-router/es6';
import SpinnerButton from 'components/spinner_button.jsx';
export default class AddOAuthApp extends React.PureComponent {
static propTypes = {
/**
* The team data
*/
team: PropTypes.object,
/**
* The request state for addOAuthApp action. Contains status and error
*/
addOAuthAppRequest: PropTypes.object.isRequired,
actions: PropTypes.shape({
/**
* The function to call to add new OAuthApp
*/
addOAuthApp: PropTypes.func.isRequired
}).isRequired
}
constructor(props) {
super(props);
this.image = new Image();
this.image.onload = this.imageLoaded;
this.state = {
name: '',
description: '',
homepage: '',
icon_url: '',
callbackUrls: '',
is_trusted: false,
has_icon: false,
saving: false,
serverError: '',
clientError: null
};
}
imageLoaded = () => {
this.setState({
has_icon: true,
icon_url: this.refs.icon_url.value
});
}
handleSubmit = (e) => {
e.preventDefault();
if (this.state.saving) {
return;
}
this.setState({
saving: true,
serverError: '',
clientError: ''
});
if (!this.state.name) {
this.setState({
saving: false,
clientError: (