CAT-199 getLocalItems to getItems
authorKatlyn Beck <kbeck@catalyte.io>
Tue, 19 Mar 2019 23:31:33 +0000 (23:31 +0000)
committerBill Erickson <berickxx@gmail.com>
Thu, 21 Mar 2019 20:04:25 +0000 (16:04 -0400)
- Refactor implementation of search pane and browse search default value
retrieval when searching the catalog.

Signed-off-by: Katlyn Beck <kbeck@catalyte.io>
 Changes to be committed:
modified:   Open-ILS/web/js/ui/default/staff/cat/catalog/app.js

Open-ILS/web/js/ui/default/staff/cat/catalog/app.js

index 19bdc91..fc6441e 100644 (file)
@@ -1940,27 +1940,41 @@ function($scope , $routeParams , $location , $window , $q , egCore , egHolds , e
         // if we're displaying the advanced search form, select
         // whatever default pane the user has chosen via workstation
         // preference
+        var search_promises = [];
         if (url.match(/\/opac\/advanced$/)) {
-            egCore.hatch.getItem('eg.search.adv_pane').then(function(adv_pane_val){
-                if (adv_pane_val) {
-                    url += '?pane=' + encodeURIComponent(adv_pane_val);
+            search_promises.push(
+                egCore.hatch.getItem('eg.search.adv_pane').then(
+                    function(adv_pane) {
+                        $scope.adv_pane = adv_pane;
+                    }
+                )
+            );
+        }
+        // if we're displaying the browse search form,
+        // select whatever browse sort default the user
+        // has chosen via workstation preference
+        $scope.browse_sort_default;
+        search_promises.push(
+                       egCore.hatch.getItem('eg.search.browse_sort_default').then(
+                function(browse_sort_default) {
+                    $scope.browse_sort_default = browse_sort_default;
                 }
+            )
+        );
 
+        if (search_promises.length) {
+            $q.all(search_promises).then(function(success) {
+                if ($scope.adv_pane) {
+                    url += '?pane=' + encodeURIComponent($scope.adv_pane);
+                }
+                if ($scope.adv_pane == 'browse' && $scope.browse_sort_default ) {
+                    url += '&sort=' + encodeURIComponent($scope.browse_sort_default);
+                }
                 $scope.catalog_url = url;
             });
         } else {
             $scope.catalog_url = url;
         }
-        
-        // if we're displaying the browse search form,
-        // select whatever browse sort default the user
-        // has chosen via workstation preference
-        if (url.match(/\?pane=browse/)) {
-            var browse_sort_default = egCore.hatch.getLocalItem('eg.search.browse_sort_default');
-            if (browse_sort_default) {
-                url += '&sort=' + encodeURIComponent(browse_sort_default);
-            }
-        }
     }
 
     function init_parts_url() {