// Copyright (c) 2016 Mattermost, Inc. All Rights Reserved.
// See License.txt for license information.
import React from 'react';
import * as Utils from 'utils/utils.jsx';
import {FormattedMessage} from 'react-intl';
export default class InstalledCommand extends React.Component {
static get propTypes() {
return {
command: React.PropTypes.object.isRequired,
onRegenToken: React.PropTypes.func.isRequired,
onDelete: React.PropTypes.func.isRequired,
filter: React.PropTypes.string
};
}
constructor(props) {
super(props);
this.handleRegenToken = this.handleRegenToken.bind(this);
this.handleDelete = this.handleDelete.bind(this);
this.matchesFilter = this.matchesFilter.bind(this);
}
handleRegenToken(e) {
e.preventDefault();
this.props.onRegenToken(this.props.command);
}
handleDelete(e) {
e.preventDefault();
this.props.onDelete(this.props.command);
}
matchesFilter(command, filter) {
if (!filter) {
return true;
}
return command.display_name.toLowerCase().indexOf(filter) !== -1 ||
command.description.toLowerCase().indexOf(filter) !== -1 ||
command.trigger.toLowerCase().indexOf(filter) !== -1;
}
render() {
const command = this.props.command;
if (!this.matchesFilter(command, this.props.filter)) {
return null;
}
let name;
if (command.display_name) {
name = command.display_name;
} else {
name = (