FIX: never perform searches that bypass validation

we must perform another isValidSearchTerm check when we are about to
perform search cause the call is debounced
This commit is contained in:
Sam 2016-05-02 11:53:47 +10:00
parent d25dc126f7
commit a5b0445e02
1 changed files with 14 additions and 7 deletions

View File

@ -34,15 +34,22 @@ const SearchHelper = {
const searchContext = contextEnabled ? widget.searchContext() : null;
const fullSearchUrl = widget.fullSearchUrl();
this._activeSearch = searchForTerm(term, { typeFilter, searchContext, fullSearchUrl });
this._activeSearch.then(content => {
state.noResults = content.resultTypes.length === 0;
state.results = content;
}).finally(() => {
if (!isValidSearchTerm(term)) {
state.noResults = true;
state.results = [];
state.loading = false;
widget.scheduleRerender();
this._activeSearch = null;
});
} else {
this._activeSearch = searchForTerm(term, { typeFilter, searchContext, fullSearchUrl });
this._activeSearch.then(content => {
state.noResults = content.resultTypes.length === 0;
state.results = content;
}).finally(() => {
state.loading = false;
widget.scheduleRerender();
this._activeSearch = null;
});
}
}
};