mirror of
https://github.com/mattermost/mattermost.git
synced 2025-02-25 18:55:24 -06:00
47 lines
1.3 KiB
JavaScript
47 lines
1.3 KiB
JavaScript
// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved.
|
|
// See License.txt for license information.
|
|
|
|
import * as AsyncClient from '../../utils/async_client.jsx';
|
|
import SuggestionStore from '../../stores/suggestion_store.jsx';
|
|
|
|
class CommandSuggestion extends React.Component {
|
|
render() {
|
|
const {item, isSelection, onClick} = this.props;
|
|
|
|
let className = 'command-name';
|
|
if (isSelection) {
|
|
className += ' suggestion--selected';
|
|
}
|
|
|
|
return (
|
|
<div
|
|
className={className}
|
|
onClick={onClick}
|
|
>
|
|
<div className='command__title'>
|
|
<string>{item.suggestion}</string>
|
|
</div>
|
|
<div className='command__desc'>
|
|
{item.description}
|
|
</div>
|
|
</div>
|
|
);
|
|
}
|
|
}
|
|
|
|
CommandSuggestion.propTypes = {
|
|
item: React.PropTypes.object.isRequired,
|
|
isSelection: React.PropTypes.bool,
|
|
onClick: React.PropTypes.func
|
|
};
|
|
|
|
export default class CommandProvider {
|
|
handlePretextChanged(suggestionId, pretext) {
|
|
if (pretext.startsWith('/')) {
|
|
SuggestionStore.setMatchedPretext(suggestionId, pretext);
|
|
|
|
AsyncClient.getSuggestedCommands(pretext, suggestionId, CommandSuggestion);
|
|
}
|
|
}
|
|
}
|