Trim whitespace from term before searching
[quanweb.git] / js / src / SearchController.js
index 54d76fab8edbf15af907a5af8b3959ff46db7609..94c24d3bd703ae8be4e7175cea47242c84df4d69 100644 (file)
@@ -5,7 +5,8 @@ var SearchController = (function () {
     var my = {},
         booksModel = undefined;
 
-    const terms = ['aut', 'tit', 'ser'];
+    const textFields = ['aut', 'lan', 'ser', 'tit'];
+    const terms = textFields.concat(['lst', 'srt']);
 
     // ==============
     // Public methods
@@ -13,8 +14,8 @@ var SearchController = (function () {
     my.init = function(linkedBooksModel) {
         booksModel = linkedBooksModel;
         
-        for (var idx in terms) {
-            addEnterListener(terms[idx]);
+        for (var idx in textFields) {
+            addEnterListener(textFields[idx]);
         }
     };
     
@@ -28,11 +29,13 @@ var SearchController = (function () {
                 booksModel.ids = jsonValue;
                 booksModel.count = booksModel.ids.length;
                 booksModel.first = (-1);
+
+                const max_pos = Math.max(0, booksModel.count - booksModel.pageSize);
         
                 var elem = Browser.getElementById('slider');
-                elem.max = booksModel.count;
+                elem.max = max_pos;
                 elem = Browser.getElementById('bottom_slider');
-                elem.max = booksModel.count;
+                elem.max = max_pos;
         
                 PagingController.adjustPos(0);
             })
@@ -69,7 +72,7 @@ var SearchController = (function () {
                 continue;
             }
 
-            var value = elem.value;
+            var value = elem.value.trim();
             if (value.length > 0) {
                 if (firstTime) {
                     url += '?';
@@ -78,10 +81,14 @@ var SearchController = (function () {
                 else {
                     url += '&';
                 }
-                url += term + '=' + encodeURIComponent('%' + value + '%');
+                if (textFields.includes(term)) {
+                  url += term + '=' + encodeURIComponent('%' + value + '%');
+                }
+                else {
+                  url += term + '=' + encodeURIComponent('' + value);
+                }
             }
         }
-
         return url;
     }