From e0e96d831bcb284ba0360cbff43c62ff0a6fd75a Mon Sep 17 00:00:00 2001 From: Lebbeous Fogle-Weekley Date: Fri, 5 Oct 2012 18:42:11 -0400 Subject: [PATCH] Acq: When invoice-building with embedded search, allow control of results list Previously, a results list could accumulate under inconsistent conditions. You'd get an accumulating results list if you were pressing enter after successful searches, but your results lists would clear if you actually clicked the Search button. Worse, searches yielding empty result sets would *appear* to clear your result list, but subsequent sucessful searches would restore what was there before. This is the "missing commit" that makes the behavior consistent and togglable. Signed-off-by: Lebbeous Fogle-Weekley Signed-off-by: Kathy Lussier Signed-off-by: Jason Stephenson --- Open-ILS/src/templates/acq/invoice/view.tt2 | 16 +++++++++++----- Open-ILS/src/templates/acq/search/unified.tt2 | 3 +-- Open-ILS/web/js/ui/default/acq/invoice/view.js | 14 ++++++++++++-- Open-ILS/web/js/ui/default/acq/search/unified.js | 16 ++++++++++++---- 4 files changed, 36 insertions(+), 13 deletions(-) diff --git a/Open-ILS/src/templates/acq/invoice/view.tt2 b/Open-ILS/src/templates/acq/invoice/view.tt2 index a54621abf5..31f85818ac 100644 --- a/Open-ILS/src/templates/acq/invoice/view.tt2 +++ b/Open-ILS/src/templates/acq/invoice/view.tt2 @@ -198,8 +198,14 @@ + of the following terms + ( + + ) + +
@@ -244,15 +250,15 @@
- + - [% l('Previous') %] + [% l('Previous') %] - [% l('Next') %] + [% l('Next') %] diff --git a/Open-ILS/src/templates/acq/search/unified.tt2 b/Open-ILS/src/templates/acq/search/unified.tt2 index 0a7259dce4..a37fad2f58 100644 --- a/Open-ILS/src/templates/acq/search/unified.tt2 +++ b/Open-ILS/src/templates/acq/search/unified.tt2 @@ -83,8 +83,7 @@
-
diff --git a/Open-ILS/web/js/ui/default/acq/invoice/view.js b/Open-ILS/web/js/ui/default/acq/invoice/view.js index 6c306dba5c..59d73ceb13 100644 --- a/Open-ILS/web/js/ui/default/acq/invoice/view.js +++ b/Open-ILS/web/js/ui/default/acq/invoice/view.js @@ -250,8 +250,10 @@ function doAttachPo(idx) { ); } -function performSearch(pageDir) { - clearSearchResTable(); +function performSearch(pageDir, clearFirst) { + if (clearFirst) + clearSearchResTable(); + var searchObject = termManager.buildSearchObject(); dojo.cookie('invs', base64Encode(searchObject)); dojo.cookie('invc', dojo.byId("acq-unified-conjunction").getValue()); @@ -331,8 +333,12 @@ function renderUnifiedSearch() { "no_results": { "revealer": function() { } } + }; + resultManager.no_results_popup = true; + resultManager.submitter = smartSearchSubmitter; + var searchObject = dojo.cookie('invs'); console.log('loaded ' + searchObject); if (searchObject) { @@ -1181,6 +1187,10 @@ function createExtraCopies(oncomplete) { } +function smartSearchSubmitter() { + performSearch(0, !dojo.byId('acq-unified-build-progressively').checked); +} + openils.Util.addOnLoad(init); diff --git a/Open-ILS/web/js/ui/default/acq/search/unified.js b/Open-ILS/web/js/ui/default/acq/search/unified.js index 0dfac0a574..a6be3f0937 100644 --- a/Open-ILS/web/js/ui/default/acq/search/unified.js +++ b/Open-ILS/web/js/ui/default/acq/search/unified.js @@ -175,7 +175,7 @@ function TermSelectorFactory(terms) { dojo.connect(wStore[widgetKey], 'onkeyup', function(e) { if(e.keyCode == dojo.keys.ENTER) { - resultManager.go(termManager.buildSearchObject()); + resultManager.submitter(); } } ); @@ -204,7 +204,7 @@ function TermSelectorFactory(terms) { dojo.connect(w.domNode, 'onkeyup', function(e) { if(e.keyCode == dojo.keys.ENTER) { - resultManager.go(termManager.buildSearchObject()); + resultManager.submitter(); } } ); @@ -807,8 +807,12 @@ function ResultManager(liPager, poGrid, plGrid, invGrid) { this.liPager.focusLi(); } - if (!this.count_results) - this.show("no_results"); + if (!this.count_results) { + if (this.no_results_popup) + alert(localeStrings.NO_RESULTS); + else + this.show("no_results"); + } else this.finish(this.result_type); }; @@ -979,6 +983,10 @@ openils.Util.addOnLoad( dijit.byId("acq-unified-inv-grid") ); + resultManager.submitter = function() { + resultManager.go(termManager.buildSearchObject()); + }; + uriManager = new URIManager(); if (uriManager.search_object) { if (!uriManager.half_search) -- 2.43.2