Advanced Pane selection in place. Needs refactor of switch in admin workstation...
authorVictoria Lewis <vlewis@catalystitservices.com>
Wed, 21 Oct 2015 16:56:28 +0000 (09:56 -0700)
committerVictoria Lewis <vlewis@catalystitservices.com>
Wed, 21 Oct 2015 16:56:28 +0000 (09:56 -0700)
Open-ILS/src/templates/opac/parts/advanced/expert.tt2
Open-ILS/src/templates/opac/parts/advanced/numeric.tt2
Open-ILS/src/templates/opac/parts/advanced/search.tt2
Open-ILS/src/templates/staff/admin/workstation/t_search_prefs.tt2
Open-ILS/web/js/ui/default/staff/admin/workstation/app.js
Open-ILS/web/js/ui/default/staff/cat/catalog/app.js

index 85e2ca2..489a8b0 100644 (file)
@@ -1,4 +1,5 @@
 <form action="[% ctx.opac_root %]/results" method="get">
+    <meta http-equiv="Set-Cookie" content="pplib=[%CGI.param('plib')%];path=/">
     <div class="header_middle">[% l("Expert Search") %]</div>
     <input type="hidden" name="_special" value="1" />
     <table class="expert-search">
index 4644600..e720a58 100644 (file)
@@ -1,4 +1,6 @@
 <form action="[% ctx.opac_root %]/results" method="get">
+
+    <meta http-equiv="Set-Cookie" content="pplib=[%CGI.param('plib')%];path=/">
     <div class="header_middle">[% l("Numeric Search") %]</div>
     <input type="hidden" name="contains" value="contains" />
     <input type="hidden" name="_special" value="1" />
@@ -13,7 +15,6 @@
                     <option value="identifier|tcn">[% l('TCN') %]</option>
                     <option value="item_barcode">[% l('Item Barcode') %]</option>
                 </select>
-       
                 <input type="text" name="query" size="16" autofocus placeholder='[% l("Identifier") %]' />
            <br/>
             [%- lib_select_id="numeric_search_library" -%]
index 1bc79fc..460d079 100644 (file)
@@ -2,6 +2,8 @@
     PROCESS "opac/parts/misc_util.tt2";
     PROCESS get_library;
 %]
+
+<meta http-equiv="Set-Cookie" content="pplib=[%CGI.param('plib')%]; path=/">
 <form action="[% ctx.opac_root %]/results" method="get">
 <div id='adv_global_search' class='data_grid data_grid_center'>
     <div id='adv_search_rows'>
@@ -62,8 +64,6 @@
                 <strong><label for="[% adv_chunk.id %]">
                   [% adv_chunk.adv_label %] </label></strong><br />
 
-        <meta http-equiv="Set-Cookie" content="pplib=[%CGI.param('plib')%];
-                        path=/">
 [%
         IF adv_chunk.adv_special;
             SWITCH adv_chunk.adv_special;
index e6a7a04..b70845e 100644 (file)
             <h3>Default Advanced Search Pane</h3>
             <p>Advanced search has secondary panes for Numeric and MARC Expert searching. You
             can change which one is loaded by default when opening a new catalog window here.</p>
-            <div class="input-group">
-                <div class="input-group-btn" dropdown>
-                    <select class="btn btn-default dropdown-toggle">
-                        <option>[% l('Select Pane') %]</option>
-                        </select>
-                    </div><!-- /btn-group -->
-                </div><!-- /input-group -->
+
+            <div class="btn-group " dropdown>
+                <button type="button" class="btn btn-default dropdown-toggle" ng-model ="selectedPane">
+                    <span style="padding-right: 5px;">{{getPrefDefaultSelectedPane}}</span> 
+                    <span class="caret"></span>
+                </button>
+                <ul class="dropdown-menu">
+                    <li ng-repeat="pane in paneList" value= "{{pane}}" >
+                        <a href ng-click="prefPaneDefaultChanged(pane)" >
+                            {{pane}}
+                        </a>
+                    </li>
+                </ul>
+            </div>
+
             </div><!-- col -->
         </div><!-- row -->
 
index 9a2c48d..cbbabd1 100644 (file)
@@ -192,6 +192,9 @@ function($scope , $window , $location, egCore, egOrg, egConfirmDialog, egAuth) {
         }
     });
 
+    $scope.paneList = ['Advanced', 'Numeric', 'Expert'];
+    var preferredPane;
+
     egCore.hatch.getItem('eg.pref.lib.default')
     .then(function(prefDef) {
         if (prefDef == undefined) {
@@ -204,6 +207,32 @@ function($scope , $window , $location, egCore, egOrg, egConfirmDialog, egAuth) {
         $scope.getPrefDefaultSelectedName = getSelectedName($scope.selectedPrefOrg.shortname);
     });
 
+    egCore.hatch.getItem('eg.adv.pane.default')
+    .then(function(prefPane) {
+        if (prefPane == undefined) {
+           egCore.hatch.setItem(
+            'eg.adv.pane.default', 'advanced');
+            preferredPane =  'Advanced';
+            prefPane = 'advanced';
+        }
+        //This lets our dropdown auto-select our default pane.
+        switch(prefPane) {
+            case 'advanced':
+                $scope.selectedPane  = 'Advanced';
+                break;
+            case 'numeric':
+                $scope.selectedPane  = 'Numeric';
+                break;
+            case 'expert':
+                $scope.selectedPane = 'Expert'
+                break;
+            default:
+                $scope.selectedPane  = 'Advanced';
+        }
+        $scope.getPrefDefaultSelectedPane = getSelectedName($scope.selectedPane);
+    });
+
+
     egCore.hatch.getItem('eg.search.lib.default')
     .then(function(def) {
         if (def == undefined) {
@@ -224,13 +253,19 @@ function($scope , $window , $location, egCore, egOrg, egConfirmDialog, egAuth) {
 
     $scope.prefOrgDefaultChanged = function(org) {
         $scope.selectedPrefOrg = org;
-        $scope.getPrefDefaultSelectedName = getSelectedName($scope.selectedPrefOrg.shortname);
+        $scope.getPrefDefaultSelectedName = $scope.selectedPrefOrg.shortname;
+        if ($scope.onchange) $scope.onchange($scope.getPrefDefaultSelectedName);
+    }
+
+    $scope.prefPaneDefaultChanged = function(pane) {
+        $scope.selectedPane = pane;
+        $scope.getPrefDefaultSelectedPane = $scope.selectedPane;
         if ($scope.onchange) $scope.onchange($scope.getPrefDefaultSelectedName);
     }
 
     var getSelectedName = function(prefOrg) {
         if (prefOrg) {
-            return prefOrg
+            return prefOrg;
         } else {
            return $scope.orgList[0].shortname;
         }
@@ -243,13 +278,15 @@ function($scope , $window , $location, egCore, egOrg, egConfirmDialog, egAuth) {
         if($scope.selectedPrefOrg.shortname ){
             setDefaultPrefLib();
         }
+        if($scope.selectedPane ){
+            setDefaultPrefPane();
+        }
     }
 
     function setDefaultSearchLib() {
         if($scope.selectedOrg){
             egCore.hatch.setItem(
                 'eg.search.lib.default', ($scope.selectedOrg))
-            //.then(function() { $scope.defaultSearchLib = $scope.selected.Org });
        }
     }
 
@@ -257,7 +294,26 @@ function($scope , $window , $location, egCore, egOrg, egConfirmDialog, egAuth) {
         if($scope.selectedPrefOrg ) {
             egCore.hatch.setItem(
                 'eg.pref.lib.default',  $scope.selectedPrefOrg)
-            //.then(function() { $scope.defaultPrefLib = $scope.selectedPrefOrg });
+        }
+    }
+
+    function setDefaultPrefPane() {
+        if($scope.selectedPane) {
+             switch($scope.selectedPane) {
+            case 'Advanced':
+                preferredPane = 'advanced';
+                break;
+            case 'Numeric':
+                preferredPane = 'numeric';
+                break;
+            case 'Expert':
+                preferredPane = 'expert';
+                break;
+            default:
+                preferredPane = 'advanced';
+        }
+            egCore.hatch.setItem(
+                'eg.adv.pane.default',  preferredPane)
         }
     }
 
index b327adc..85b04ad 100644 (file)
@@ -264,6 +264,7 @@ function($scope , $routeParams , $location , $q , egCore , egHolds,
         var url = $location.absUrl().replace(/\/staff.*/, '/opac/advanced');
         var default_search_library = egCore.hatch.getLocalItem('eg.search.lib.default');
         var preferred_search_library = egCore.hatch.getLocalItem('eg.pref.lib.default');
+        var default_adv_pane = egCore.hatch.getLocalItem('eg.adv.pane.default');
 
         if (default_search_library.id) {
           url += '?locg=' + default_search_library.id;
@@ -273,6 +274,10 @@ function($scope , $routeParams , $location , $q , egCore , egHolds,
           url += '&plib=' + preferred_search_library.id;
         }
 
+        if (default_adv_pane) {
+          url += '&pane=' + default_adv_pane;
+        }
+
         // A record ID in the path indicates a request for the record-
         // specific page.
         if ($routeParams.record_id) {