VRFS-389 perform search only after user pauses typing for 1 second

This commit is contained in:
Brian Smith 2013-07-13 00:15:47 -04:00
parent 5fe41c482a
commit 2b6e98fc4a
1 changed files with 27 additions and 17 deletions

View File

@ -327,29 +327,39 @@
initializeActions(payload, type);
}
// TODO: optimize so we're not hitting server on each keyup once > 2 characters are entered
var delay = (function(){
var timer = 0;
return function(callback, ms) {
clearTimeout(timer);
timer = setTimeout(callback, ms);
};
})();
function events() {
$('#search-input').keyup(function(evt) {
// ENTER KEY
if (evt.which === 13) {
return hideSearchResults();
}
delay(function() {
// ENTER KEY
if (evt.which === 13) {
return hideSearchResults();
}
// ESCAPE KEY
if (evt.which === 27) {
return hideSearchResults();
}
// ESCAPE KEY
if (evt.which === 27) {
return hideSearchResults();
}
var query = $(this).val();
var query = $('#search-input').val();
logger.debug("query=" + query);
if (query === '') {
return hideSearchResults();
}
if (query === '') {
return hideSearchResults();
}
if (query.length > 2) {
emptySearchResults();
search(query);
}
if (query.length > 2) {
emptySearchResults();
search(query);
}
}, 1000);
});
$('#sidebar-search-expand').click(function(evt) {