mirror of
https://github.com/nasa/openmct.git
synced 2025-01-20 03:36:44 +00:00
[Search] Empty search resets results
When there is no input into the search bar no results are displayed/displayed results are removed. This is because the search providers were changed to return empty arrays for empty search strings.
This commit is contained in:
parent
b16af5fe3e
commit
b0e7dca985
@ -272,9 +272,9 @@ ul.tree {
|
||||
* at runtime from the About dialog for additional information.
|
||||
*****************************************************************************/
|
||||
/* line 27, ../sass/search/_search.scss */
|
||||
.search .searchbar {
|
||||
.search .search-input {
|
||||
width: 100%;
|
||||
margin-top: 20px; }
|
||||
margin-top: 10px; }
|
||||
/* line 32, ../sass/search/_search.scss */
|
||||
.search .results {
|
||||
margin-top: 10px; }
|
||||
|
@ -24,9 +24,9 @@
|
||||
$iconWidth: 20px;
|
||||
$leftMargin: 6px;
|
||||
|
||||
.searchbar {
|
||||
.search-input {
|
||||
width: 100%;
|
||||
margin-top: 20px;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.results {
|
||||
|
@ -23,7 +23,7 @@
|
||||
ng-controller="SearchController as controller">
|
||||
<!-- Search bar input -->
|
||||
<div>
|
||||
<input class="searchbar"
|
||||
<input class="search-input"
|
||||
id="searchbarinput"
|
||||
type="text"
|
||||
value=""
|
||||
|
@ -159,24 +159,31 @@ define(
|
||||
// Get the user input
|
||||
searchTerm = document.getElementById(inputID).value;
|
||||
|
||||
// Process search term
|
||||
searchTerm = processSearchTerm(searchTerm);
|
||||
|
||||
// Create the query to elasticsearch
|
||||
esQuery = ROOT + "/_search/?q=" + searchTerm +
|
||||
"&size=" + maxResults;
|
||||
if (timeout) {
|
||||
esQuery += "&timeout=" + timeout;
|
||||
// If the user input is empty, we want to have no search results.
|
||||
if (searchTerm !== '') {
|
||||
// Process search term
|
||||
searchTerm = processSearchTerm(searchTerm);
|
||||
|
||||
// Create the query to elasticsearch
|
||||
esQuery = ROOT + "/_search/?q=" + searchTerm +
|
||||
"&size=" + maxResults;
|
||||
if (timeout) {
|
||||
esQuery += "&timeout=" + timeout;
|
||||
}
|
||||
|
||||
// Get the data...
|
||||
return $http({
|
||||
method: "GET",
|
||||
url: esQuery
|
||||
}).then(function (rawResults) {
|
||||
// ...then process the data
|
||||
return processResults(rawResults, timestamp);
|
||||
});
|
||||
} else {
|
||||
latestResults = [];
|
||||
lastSearchTimestamp = timestamp;
|
||||
return latestResults;
|
||||
}
|
||||
|
||||
// Get the data...
|
||||
return $http({
|
||||
method: "GET",
|
||||
url: esQuery
|
||||
}).then(function (rawResults) {
|
||||
// ...then process the data
|
||||
return processResults(rawResults, timestamp);
|
||||
});
|
||||
}
|
||||
|
||||
return {
|
||||
|
@ -135,12 +135,16 @@
|
||||
terms = convertToTerms(input),
|
||||
timesToLoop = Math.min(indexedItems.length, data.maxNumber);
|
||||
|
||||
for (var i = 0; i < timesToLoop; i++) {
|
||||
var score = scoreItem(indexedItems[i], input, terms);
|
||||
if (score > 0) {
|
||||
results[indexedItems[i].id] = {
|
||||
score: score
|
||||
};
|
||||
|
||||
// If the user input is empty, we want to have no search results.
|
||||
if (input !== '') {
|
||||
for (var i = 0; i < timesToLoop; i++) {
|
||||
var score = scoreItem(indexedItems[i], input, terms);
|
||||
if (score > 0) {
|
||||
results[indexedItems[i].id] = {
|
||||
score: score
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user