destroy deck contents more frequently with patron search, lest staff keep a tab open...
authorpines <pines@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Sat, 30 Sep 2006 02:19:37 +0000 (02:19 +0000)
committerpines <pines@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Sat, 30 Sep 2006 02:19:37 +0000 (02:19 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@6277 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/xul/staff_client/chrome/content/util/deck.js
Open-ILS/xul/staff_client/server/patron/display.js
Open-ILS/xul/staff_client/server/patron/search_form.js

index 3a8f734..cf173ec 100644 (file)
@@ -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;
index 58924ee..da59c62 100644 (file)
@@ -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,
index 8324eed..edb3724 100644 (file)
@@ -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++) {