From da746d7dd1148f3bdf673a3fabd6fc146acfa89d Mon Sep 17 00:00:00 2001 From: Victoria Lewis Date: Wed, 21 Oct 2015 09:56:28 -0700 Subject: [PATCH] Advanced Pane selection in place. Needs refactor of switch in admin workstation app.js KMAIN 1876 LP 1437112 --- .../src/templates/opac/parts/advanced/expert.tt2 | 1 + .../src/templates/opac/parts/advanced/numeric.tt2 | 3 +- .../src/templates/opac/parts/advanced/search.tt2 | 4 +- .../staff/admin/workstation/t_search_prefs.tt2 | 22 +++++--- .../js/ui/default/staff/admin/workstation/app.js | 64 ++++++++++++++++++++-- .../web/js/ui/default/staff/cat/catalog/app.js | 5 ++ 6 files changed, 85 insertions(+), 14 deletions(-) diff --git a/Open-ILS/src/templates/opac/parts/advanced/expert.tt2 b/Open-ILS/src/templates/opac/parts/advanced/expert.tt2 index 85e2ca2c29..489a8b0c6f 100644 --- a/Open-ILS/src/templates/opac/parts/advanced/expert.tt2 +++ b/Open-ILS/src/templates/opac/parts/advanced/expert.tt2 @@ -1,4 +1,5 @@
+
[% l("Expert Search") %]
diff --git a/Open-ILS/src/templates/opac/parts/advanced/numeric.tt2 b/Open-ILS/src/templates/opac/parts/advanced/numeric.tt2 index 4644600568..e720a58b32 100644 --- a/Open-ILS/src/templates/opac/parts/advanced/numeric.tt2 +++ b/Open-ILS/src/templates/opac/parts/advanced/numeric.tt2 @@ -1,4 +1,6 @@ + +
[% l("Numeric Search") %]
@@ -13,7 +15,6 @@ -
[%- lib_select_id="numeric_search_library" -%] diff --git a/Open-ILS/src/templates/opac/parts/advanced/search.tt2 b/Open-ILS/src/templates/opac/parts/advanced/search.tt2 index 1bc79fc411..460d079ea8 100644 --- a/Open-ILS/src/templates/opac/parts/advanced/search.tt2 +++ b/Open-ILS/src/templates/opac/parts/advanced/search.tt2 @@ -2,6 +2,8 @@ PROCESS "opac/parts/misc_util.tt2"; PROCESS get_library; %] + + diff --git a/Open-ILS/web/js/ui/default/staff/admin/workstation/app.js b/Open-ILS/web/js/ui/default/staff/admin/workstation/app.js index 9a2c48d8fd..cbbabd1c06 100644 --- a/Open-ILS/web/js/ui/default/staff/admin/workstation/app.js +++ b/Open-ILS/web/js/ui/default/staff/admin/workstation/app.js @@ -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) } } diff --git a/Open-ILS/web/js/ui/default/staff/cat/catalog/app.js b/Open-ILS/web/js/ui/default/staff/cat/catalog/app.js index b327adc7ed..85b04adbc9 100644 --- a/Open-ILS/web/js/ui/default/staff/cat/catalog/app.js +++ b/Open-ILS/web/js/ui/default/staff/cat/catalog/app.js @@ -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) { -- 2.11.0