fix loading not show after first search

This commit is contained in:
Meeeeow 2017-04-21 11:36:28 +08:00
parent 1ce74482bc
commit 5150ecb973
1 changed files with 9 additions and 11 deletions

View File

@ -9,7 +9,7 @@ $(function() {
var $pkgListing = $('#all-packages') var $pkgListing = $('#all-packages')
var $searchBtn = $('.js-search-btn') var $searchBtn = $('.js-search-btn')
var request var request
var currentResults var lastQuery = ''
var toggle = function(validQuery) { var toggle = function(validQuery) {
$searchResults.toggleClass('show', validQuery) $searchResults.toggleClass('show', validQuery)
@ -20,21 +20,20 @@ $(function() {
} }
$form.bind('submit keyup', function(e) { $form.bind('submit keyup', function(e) {
var q, qBool var query, isValidQuery
e.preventDefault() e.preventDefault()
q = $input.val() query = $input.val()
qBool = (q !== '') isValidQuery = (query !== '')
toggle(qBool) toggle(isValidQuery)
if (!qBool) { if (!isValidQuery) {
if (request && typeof request.abort === 'function') { if (request && typeof request.abort === 'function') {
request.abort() request.abort()
} }
currentResults = null
$searchResults.html('') $searchResults.html('')
return return
} }
@ -43,14 +42,13 @@ $(function() {
request.abort() request.abort()
} }
if (!currentResults) { if (query !== lastQuery) {
lastQuery = query
$searchResults.html( $searchResults.html(
"<img class='search-ajax' src='-/static/ajax.gif' alt='Spinner'/>") "<img class='search-ajax' src='-/static/ajax.gif' alt='Spinner'/>")
} }
request = $.getJSON('-/search/' + q, function( results ) { request = $.getJSON('-/search/' + query, function( results ) {
currentResults = results
if (results.length > 0) { if (results.length > 0) {
var html = '' var html = ''