Эх сурвалжийг харах

improve search.js readability, handle search event (webkit search clear button)

Igor Wiedler 13 жил өмнө
parent
commit
0afd90fc3c

+ 26 - 25
src/Packagist/WebBundle/Resources/public/js/search.js

@@ -1,38 +1,39 @@
 (function ($) {
-    var doSearch,
+    var form = $('form#search-form'),
+        showResults,
+        doSearch,
         searching = false,
         searchQueued = false;
 
-    doSearch = function () {
-        var form = $('form#search-form');
-
-        $.get(form.attr('action'), form.serialize(), function (page) {
-            var list = $('.package-list'),
-                newList = $(page);
+    showResults = function (page) {
+        var list = $('.package-list'),
+            newList = $(page);
 
-            if (newList.find('.packages li').length) {
-                list.replaceWith(newList);
-                list.show();
-            } else {
-                list.hide();
-            }
-
-            searching = false;
+        if (newList.find('.packages li').length) {
+            list.replaceWith(newList);
+            list.show();
+        } else {
+            list.hide();
+        }
 
-            if (searchQueued) {
-                doSearch();
-                searchQueued = false;
-            }
-        });
+        searching = false;
 
-        searching = true;
+        if (searchQueued) {
+            doSearch();
+            searchQueued = false;
+        }
     };
 
-    $('form#search-form').keyup(function (event) {
+    doSearch = function () {
         if (searching) {
             searchQueued = true;
-        } else {
-            doSearch();
+            return;
         }
-    });
+
+        $.get(form.attr('action'), form.serialize(), showResults);
+
+        searching = true;
+    };
+
+    form.bind('keyup search', doSearch);
 })(jQuery);