Move #descending/#available to front of query
authorBill Erickson <berickxx@gmail.com>
Mon, 6 Nov 2017 16:00:21 +0000 (11:00 -0500)
committerBill Erickson <berickxx@gmail.com>
Fri, 10 Nov 2017 15:00:43 +0000 (10:00 -0500)
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Open-ILS/web/js/ui/default/staff/cat/staffcat/app.js

index e8058a5..b5e20b1 100644 (file)
@@ -188,9 +188,9 @@ function($q , egCore , egBibDisplay) {
             var str = '';
             if (!query) return str;
 
-            if (idx > 0) str += ' ' + joiner;
+            if (idx > 0) str += ' ' + joiner + ' ';
 
-            str += ' (';
+            str += '(';
             if (type) str += type + ':';
 
             function strip_quotes(query) {return query.replace(/"/g, ''); }
@@ -225,7 +225,17 @@ function($q , egCore , egBibDisplay) {
         compile_search_query : function(params) {
             var str = '';
 
+            if (params.available) str += ' #available';
+
+            if (params.sort) {
+                // e.g. title, title.descending
+                var parts = params.sort.split(/\./);
+                if (parts[1]) str += ' #descending';
+                str += ' sort(' + parts[0] + ')';
+            }
+
             var qcount = params.query.length;
+            str += ' ';
             if (qcount > 1) str += '(';
             angular.forEach(params.query, function(q, idx) {
                 str += service.compile_one_query_set(params, idx);
@@ -236,20 +246,12 @@ function($q , egCore , egBibDisplay) {
                 str += ' format(' + params.format + ')';
             }
 
-            str += ' site(' + service.context_org.shortname() + ')';
-
-            if (params.available) str += ' #available';
             if (params.global) {
                 str += ' depth(' + 
                     egCore.org.root().ou_type().depth() + ')';
             }
 
-            if (params.sort) {
-                // e.g. title, title.descending
-                var parts = params.sort.split(/\./);
-                str += ' sort(' + parts[0] + ')';
-                if (parts[1]) str += ' #descending';
-            }
+            str += ' site(' + service.context_org.shortname() + ')';
 
             angular.forEach(service.ccvm_list_keys, function(field) {
                 if (params[field]) { // comma-separated string