From: pines Date: Sat, 30 Sep 2006 02:19:37 +0000 (+0000) Subject: destroy deck contents more frequently with patron search, lest staff keep a tab open... X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=6b45a5bc4b73f2d495e0f293fb83f8134b3da778;p=Evergreen.git destroy deck contents more frequently with patron search, lest staff keep a tab open forever git-svn-id: svn://svn.open-ils.org/ILS/trunk@6277 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/Open-ILS/xul/staff_client/chrome/content/util/deck.js b/Open-ILS/xul/staff_client/chrome/content/util/deck.js index 3a8f734645..cf173ec33e 100644 --- a/Open-ILS/xul/staff_client/chrome/content/util/deck.js +++ b/Open-ILS/xul/staff_client/chrome/content/util/deck.js @@ -23,6 +23,18 @@ util.deck = function (id) { util.deck.prototype = { + 'clear' : function() { + while (this.node.lastChild) this.node.removeChild( this.node.lastChild ); + }, + + 'clear_all_except' : function(url) { + var keep_me = this.find_index(url); var remove_me = []; + for (var i = 0; i < this.node.childNodes.length; i++) { + if (i != keep_me) remove_me.push( this.node.childNodes[i] ); + } + for (var i = 0; i < remove_me.length; i++) this.node.removeChild( remove_me[i] ); + }, + 'find_index' : function (url) { var idx = -1; var nodes = this.node.childNodes; diff --git a/Open-ILS/xul/staff_client/server/patron/display.js b/Open-ILS/xul/staff_client/server/patron/display.js index 58924ee961..da59c62ee7 100644 --- a/Open-ILS/xul/staff_client/server/patron/display.js +++ b/Open-ILS/xul/staff_client/server/patron/display.js @@ -435,18 +435,17 @@ patron.display.prototype = { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); obj.summary_window = frame.contentWindow; } else { + obj.render_search_form(params); + } + }, + + 'render_search_form' : function(params) { + var obj = this; if (typeof window.xulG == 'object' && typeof window.xulG.set_tab_name == 'function') { try { window.xulG.set_tab_name('Patron Search'); } catch(E) { alert(E); } } obj.controller.view.PatronNavBar.selectedIndex = 0; - JSAN.use('util.widgets'); - util.widgets.enable_accesskeys_in_node_and_children( - obj.controller.view.PatronNavBar.firstChild - ); - util.widgets.disable_accesskeys_in_node_and_children( - obj.controller.view.PatronNavBar.lastChild - ); obj.controller.view.cmd_patron_retrieve.setAttribute('disabled','true'); obj.controller.view.cmd_search_form.setAttribute('disabled','true'); @@ -464,6 +463,7 @@ patron.display.prototype = { loc, {}, { + 'clear_left_deck' : function() { setTimeout( function() { obj.left_deck.clear_all_except(loc); obj.render_search_form(params); }, 0); }, 'on_submit' : function(query) { obj.controller.view.cmd_patron_retrieve.setAttribute('disabled','true'); var list_frame = obj.right_deck.reset_iframe( @@ -509,7 +509,6 @@ patron.display.prototype = { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); obj.search_window = form_frame.contentWindow; obj._checkout_spawned = true; - } }, '_checkout_spawned' : false, diff --git a/Open-ILS/xul/staff_client/server/patron/search_form.js b/Open-ILS/xul/staff_client/server/patron/search_form.js index 8324eedc8e..edb372416d 100644 --- a/Open-ILS/xul/staff_client/server/patron/search_form.js +++ b/Open-ILS/xul/staff_client/server/patron/search_form.js @@ -33,7 +33,10 @@ patron.search_form.prototype = { ], 'cmd_patron_search_clear' : [ ['command'], - function() { obj.controller.render(); } + function() { + obj.controller.render(); + window.xulG.clear_left_deck(); + } ], 'family_name' : [ ['render'], @@ -207,6 +210,7 @@ patron.search_form.prototype = { }, 'submit' : function() { + window.xulG.clear_left_deck(); var obj = this; var query = ''; for (var i = 0; i < obj.controller.render_list.length; i++) {