Merge pull request #2087 from hmhealey/plt1758

PLT-1758 Changed CommandProvider to only set the matched pretext if it actuall…
Этот коммит содержится в:
Corey Hulen
2016-02-05 07:42:42 -08:00
родитель 5f1257bb89 e6a7594d70
Коммит 9b8761df8d
3 изменённых файлов: 13 добавлений и 12 удалений

Просмотреть файл

@@ -2,7 +2,6 @@
// 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() {
@@ -38,8 +37,6 @@ CommandSuggestion.propTypes = {
export default class CommandProvider {
handlePretextChanged(suggestionId, pretext) {
if (pretext.startsWith('/')) {
SuggestionStore.setMatchedPretext(suggestionId, pretext);
AsyncClient.getSuggestedCommands(pretext, suggestionId, CommandSuggestion);
}
}

Просмотреть файл

@@ -223,7 +223,9 @@ class SuggestionStore extends EventEmitter {
this.emitSuggestionsChanged(id);
break;
case ActionTypes.SUGGESTION_RECEIVED_SUGGESTIONS:
if (other.matchedPretext === this.getMatchedPretext(id)) {
if (this.getMatchedPretext(id) === '') {
this.setMatchedPretext(id, other.matchedPretext);
// ensure the matched pretext hasn't changed so that we don't receive suggestions for outdated pretext
this.addSuggestions(id, other.terms, other.items, other.component);

Просмотреть файл

@@ -789,14 +789,16 @@ export function getSuggestedCommands(command, suggestionId, component) {
// pull out the suggested commands from the returned data
const terms = matches.map((suggestion) => suggestion.suggestion);
AppDispatcher.handleServerAction({
type: ActionTypes.SUGGESTION_RECEIVED_SUGGESTIONS,
id: suggestionId,
matchedPretext: command,
terms,
items: matches,
component
});
if (terms.length > 0) {
AppDispatcher.handleServerAction({
type: ActionTypes.SUGGESTION_RECEIVED_SUGGESTIONS,
id: suggestionId,
matchedPretext: command,
terms,
items: matches,
component
});
}
},
(err) => {
dispatchError(err, 'getCommandSuggestions');