trying to get the splitter in the patron displays to persist their positions again...
authorphasefx <phasefx@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 5 Mar 2009 07:17:15 +0000 (07:17 +0000)
committerphasefx <phasefx@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 5 Mar 2009 07:17:15 +0000 (07:17 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@12415 dcc99617-32d9-48b4-a31d-7c20da2025e4

14 files changed:
Open-ILS/web/opac/locale/en-US/lang.dtd
Open-ILS/xul/staff_client/chrome/content/main/constants.js
Open-ILS/xul/staff_client/chrome/content/main/menu.js
Open-ILS/xul/staff_client/server/admin/offline_manage_xacts.js
Open-ILS/xul/staff_client/server/cat/bib_brief.xul
Open-ILS/xul/staff_client/server/circ/checkin.js
Open-ILS/xul/staff_client/server/circ/util.js
Open-ILS/xul/staff_client/server/main/verify_credentials.js
Open-ILS/xul/staff_client/server/patron/display.js
Open-ILS/xul/staff_client/server/patron/display_horiz.xul [new file with mode: 0644]
Open-ILS/xul/staff_client/server/patron/display_horiz_overlay.xul [new file with mode: 0644]
Open-ILS/xul/staff_client/server/patron/display_overlay.xul
Open-ILS/xul/staff_client/server/patron/holds.js
Open-ILS/xul/staff_client/server/patron/info_group.xul

index 065767f..4a9f878 100644 (file)
 <!ENTITY staff.patron_display.items_claimed_returned.label 'Items Claimed Returned:'>
 <!ENTITY staff.patron_display.library_card.label 'Library Card:'>
 <!ENTITY staff.patron_display.verify_password.label 'Test Password'>
-<!ENTITY staff.patron_display.verify_password.accesskey 'T'>
+<!ENTITY staff.patron_display.verify_password.accesskey 'P'>
+<!ENTITY staff.patron_display.toggle_summary.label 'Toggle Summary'>
+<!ENTITY staff.patron_display.toggle_summary.accesskey 'T'>
 <!ENTITY staff.patron_display.mailing.city.label 'Mailing City:'>
 <!ENTITY staff.patron_display.mailing.post_code.label 'Mailing ZIP:'>
 <!ENTITY staff.patron_display.mailing.state.label 'Mailing State:'>
index c8eff26..c1b9fd6 100644 (file)
@@ -295,6 +295,7 @@ const urls = {
        'XUL_PATRON_BILL_HISTORY' : '/xul/server/patron/bill_history.xul',
        'XUL_PATRON_BILL_WIZARD' : '/xul/server/patron/bill_wizard.xul',
        'XUL_PATRON_DISPLAY' : '/xul/server/patron/display.xul',
+       'XUL_PATRON_HORIZ_DISPLAY' : '/xul/server/patron/display_horiz.xul',
        'XUL_PATRON_EDIT' : '/xul/server/patron/ue.xhtml',
        'XUL_USER_PERM_EDITOR' : '/xul/server/patron/user_edit.xhtml',
        'XUL_PATRON_HOLDS' : '/xul/server/patron/holds.xul',
index f24e3d6..304efc7 100644 (file)
@@ -197,8 +197,7 @@ main.menu.prototype = {
                        'cmd_patron_search' : [
                                ['oncommand'],
                                function() {
-                                       obj.data.stash_retrieve();
-                                       obj.set_tab(obj.url_prefix(urls.XUL_PATRON_DISPLAY),{},{});
+                    obj.set_patron_tab();
                                }
                        ],
                        'cmd_search_opac' : [
@@ -970,7 +969,18 @@ main.menu.prototype = {
             }
         }
     },
-
+    'set_patron_tab' : function(params,content_params) {
+        var obj = this;
+        var horizontal_interface = String( obj.data.hash.aous['ui.circ.patron_summary.horizontal'] ) == 'true';
+        var url = obj.url_prefix( horizontal_interface ? urls.XUL_PATRON_HORIZ_DISPLAY : urls.XUL_PATRON_DISPLAY );
+        obj.set_tab(url,params ? params : {},content_params ? content_params : {});
+    },
+    'new_patron_tab' : function(params,content_params) {
+        var obj = this;
+        var horizontal_interface = String( obj.data.hash.aous['ui.circ.patron_summary.horizontal'] ) == 'true';
+        var url = obj.url_prefix( horizontal_interface ? urls.XUL_PATRON_HORIZ_DISPLAY : urls.XUL_PATRON_DISPLAY );
+        obj.new_tab(url,params ? params : {},content_params ? content_params : {});
+    },
        'set_tab' : function(url,params,content_params) {
                var obj = this;
                if (!url) url = '/xul/server/';
@@ -986,6 +996,8 @@ main.menu.prototype = {
 
                content_params.new_tab = function(a,b,c) { return obj.new_tab(a,b,c); };
                content_params.set_tab = function(a,b,c) { return obj.set_tab(a,b,c); };
+               content_params.new_patron_tab = function(a,b) { return obj.new_patron_tab(a,b); };
+               content_params.set_patron_tab = function(a,b) { return obj.set_patron_tab(a,b); };
                content_params.set_tab_name = function(name) { tab.setAttribute('label',(idx + 1) + ' ' + name); };
                content_params.open_chrome_window = function(a,b,c) { return xulG.window.open(a,b,c); };
                content_params.url_prefix = function(url) { return obj.url_prefix(url); };
index 395fcca..8bc0e3e 100644 (file)
@@ -866,10 +866,8 @@ admin.offline_manage_xacts.prototype = {
                        for (var barcode in patrons) {
                                if (typeof window.xulG == 'object' && typeof window.xulG.new_tab == 'function') {
                                        try {
-                                               var url = urls.XUL_PATRON_DISPLAY;
-                                                       //+ '?barcode=' + window.escape( error.command.patron_barcode );
-                                               window.xulG.new_tab(
-                                                       url, {}, { 'barcode' : barcode }
+                                               window.xulG.new_patron_tab(
+                                                       {}, { 'barcode' : barcode }
                                                );
                                        } catch(E) {
                                                alert(E);
index 509a123..f5ab122 100644 (file)
@@ -188,10 +188,8 @@ vim: noet:sw=4:ts=4:
 
                function spawn_patron(span) {
             try {
-                var loc = urls.XUL_PATRON_DISPLAY; // + '?barcode=' + window.escape(barcode);
-
-                if (typeof window.xulG == 'object' && typeof window.xulG.set_tab == 'function') {
-                    window.xulG.set_tab( loc, {}, { 'id' : span.getAttribute('au_id') } );
+                if (typeof window.xulG == 'object' && typeof window.xulG.set_patron_tab == 'function') {
+                    window.xulG.set_patron_tab( {}, { 'id' : span.getAttribute('au_id') } );
                 } else {
                                        copy_to_clipboard( span.textContent );
                                }
index dd96475..4a84d66 100644 (file)
@@ -143,7 +143,7 @@ circ.checkin.prototype = {
                                                                }
                                                        }
                                                        for (var i in patrons) {
-                                                               xulG.new_tab(urls.XUL_PATRON_DISPLAY,{},{'id' : i});
+                                                               xulG.new_patron_tab({},{'id' : i});
                                                        }
                                                }
                                        ],
index 21672b1..fd554a1 100644 (file)
@@ -72,8 +72,7 @@ circ.util.show_copy_details = function(copy_id) {
                for (var j = 0; j < patrons.length; j++) {
                        if (typeof window.xulG == 'object' && typeof window.xulG.new_tab == 'function') {
                                try {
-                                       var url = urls.XUL_PATRON_DISPLAY; // + '?id=' + window.escape( patrons[j] );
-                                       window.xulG.new_tab( url, {}, { 'id' : patrons[j] } );
+                                       window.xulG.new_patron_tab( {}, { 'id' : patrons[j] } );
                                } catch(E) {
                                        obj.error.standard_unexpected_error_alert(document.getElementById('circStrings').getString('staff.circ.utils.retrieve_patron.failure'), E);
                                }
@@ -104,8 +103,7 @@ circ.util.show_last_few_circs = function(selection_list) {
                        for (var j = 0; j < patrons.length; j++) {
                                if (typeof window.xulG == 'object' && typeof window.xulG.new_tab == 'function') {
                                        try {
-                                               var url = urls.XUL_PATRON_DISPLAY; // + '?id=' + window.escape( patrons[j] );
-                                               window.xulG.new_tab( url, {}, { 'id' : patrons[j] } );
+                                               window.xulG.new_patron_tab( {}, { 'id' : patrons[j] } );
                                        } catch(E) {
                                                obj.error.standard_unexpected_error_alert(document.getElementById('circStrings').getString('staff.circ.utils.retrieve_patron.failure') ,E);
                                        }
index e11a41e..72c768b 100644 (file)
@@ -94,8 +94,7 @@ function verify_init() {
                     alert (req.desc);
                     document.getElementById('name_prompt').focus();
                 } else {
-                    var url = xulG.url_prefix( urls.XUL_PATRON_DISPLAY ); 
-                    xulG.set_tab( url, {}, { 'id' : req } );
+                    xulG.set_patron_tab( {}, { 'id' : req } );
                 }
             },
             false
index e58ead9..32fad47 100644 (file)
@@ -27,9 +27,9 @@ patron.display.prototype = {
                JSAN.use('OpenILS.data'); this.OpenILS = {}; 
                obj.OpenILS.data = new OpenILS.data(); obj.OpenILS.data.init({'via':'stash'});
                
-               var horizontal_interface = String( obj.OpenILS.data.hash.aous['ui.circ.patron_summary.horizontal'] ) == 'true';
-               document.getElementById('ui.circ.patron_summary.horizontal').setAttribute('orient', horizontal_interface ? 'vertical' : 'horizontal');
-               document.getElementById('pdms1').setAttribute('orient', horizontal_interface ? 'vertical' : 'horizontal');
+               //var horizontal_interface = String( obj.OpenILS.data.hash.aous['ui.circ.patron_summary.horizontal'] ) == 'true';
+               //document.getElementById('ui.circ.patron_summary.horizontal').setAttribute('orient', horizontal_interface ? 'vertical' : 'horizontal');
+               //document.getElementById('pdms1').setAttribute('orient', horizontal_interface ? 'vertical' : 'horizontal');
                
                JSAN.use('util.deck'); 
                obj.right_deck = new util.deck('patron_right_deck');
@@ -91,9 +91,8 @@ patron.display.prototype = {
                                                        if (typeof window.xulG == 'object' && typeof window.xulG.new_tab == 'function') {
                                                                for (var i = 0; i < obj.retrieve_ids.length; i++) {     
                                                                        try {
-                                                                               var url = urls.XUL_PATRON_DISPLAY; //+ '?id=' + window.escape( obj.retrieve_ids[i] );
-                                                                               window.xulG.new_tab(
-                                                                                       url, {}, { 'id' : obj.retrieve_ids[i] }
+                                                                               window.xulG.new_patron_tab(
+                                                                                       {}, { 'id' : obj.retrieve_ids[i] }
                                                                                );
                                                                        } catch(E) {
                                                                                alert(E);
@@ -201,9 +200,7 @@ patron.display.prototype = {
                                                                function spawn_search(s) {
                                                                        obj.error.sdump('D_TRACE', $("commonStrings").getFormattedString('staff.patron.display.cmd_patron_edit.edit_search', [js2JSON(s)]) ); 
                                                                        obj.OpenILS.data.stash_retrieve();
-                                                                       var loc = xulG.url_prefix(urls.XUL_PATRON_DISPLAY);
-                                                                       //loc += '?doit=1&query=' + window.escape(js2JSON(s));
-                                                                       xulG.new_tab( loc, {}, { 'doit' : 1, 'query' : s } );
+                                                                       xulG.new_patron_tab( {}, { 'doit' : 1, 'query' : s } );
                                                                }
 
                                                                function spawn_editor(p) {
diff --git a/Open-ILS/xul/staff_client/server/patron/display_horiz.xul b/Open-ILS/xul/staff_client/server/patron/display_horiz.xul
new file mode 100644 (file)
index 0000000..a6f5e9c
--- /dev/null
@@ -0,0 +1,116 @@
+<?xml version="1.0"?>
+<!-- Application: Evergreen Staff Client -->
+<!-- Screen: Patron Display -->
+
+<!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
+<!-- STYLESHEETS -->
+<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
+<?xml-stylesheet href="chrome://open_ils_staff_client/skin/global.css" type="text/css"?>
+<?xml-stylesheet href="/xul/server/skin/global.css" type="text/css"?>
+<?xml-stylesheet href="/xul/server/skin/patron_display.css" type="text/css"?>
+
+<!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
+<!-- LOCALIZATION -->
+<!DOCTYPE window PUBLIC "" ""[
+       <!--#include virtual="/opac/locale/${locale}/lang.dtd"-->
+]>
+
+<!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
+<!-- OVERLAYS -->
+<?xul-overlay href="/xul/server/OpenILS/util_overlay.xul"?>
+<?xul-overlay href="/xul/server/patron/display_horiz_overlay.xul"?>
+
+<window id="patron_display_win" 
+       onload="try { my_init(); font_helper(); } catch(E) { alert(E); }"
+       xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
+
+       <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
+       <!-- BEHAVIOR -->
+       <script type="text/javascript">
+               var myPackageDir = 'open_ils_staff_client'; var IAMXUL = true; var g = {};
+       </script>
+       <scripts id="openils_util_scripts"/>
+
+       <script type="text/javascript" src="/xul/server/main/JSAN.js"/>
+       <script>
+       <![CDATA[
+               function $(id) { return document.getElementById(id); }
+       
+               function my_init() {
+                       try {
+                               netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
+                               if (typeof JSAN == 'undefined') { throw( $("commonStrings").getString('common.jsan.missing') ); }
+                               JSAN.errorLevel = "die"; // none, warn, or die
+                               JSAN.addRepository('/xul/server/');
+                               JSAN.use('util.error'); g.error = new util.error();
+                               g.error.sdump('D_TRACE','my_init() for patron_display.xul');
+
+                               JSAN.use('patron.display'); g.patron = new patron.display();
+                               g.patron.init( { 
+                                       'barcode' : xul_param('barcode'),
+                                       'id' : xul_param('id'),
+                                       'query' : xul_param('query'),
+                                       'doit' : xul_param('doit')
+                               } );
+
+                       //document.documentElement.style.setProperty('font-size-adjust','1','important');
+
+                       } catch(E) {
+                               var err_msg = $("commonStrings").getFormattedString('common.exception', ['patron/display.xul', E]);
+                               try { g.error.sdump('D_ERROR',err_msg); } catch(E) { dump(err_msg); }
+                               alert(err_msg);
+                       }
+               }
+
+               function default_focus() {
+                       setTimeout(
+                               function() {
+                                       try {
+                                               netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
+                                               var node = g.patron.right_deck.node.selectedPanel;
+                                               if (node && get_contentWindow(node) && typeof get_contentWindow(node).default_focus == 'function') {
+                                                       get_contentWindow(node).default_focus();
+                                               } else {
+                                                       var node = g.patron.left_deck.node.selectedPanel;
+                                                       if (node && get_contentWindow(node) && typeof get_contentWindow(node).default_focus == 'function') {
+                                                               get_contentWindow(node).default_focus();
+                                                       }
+                                               }
+                                       } catch(E) {
+                                               g.error.sdump('D_ERROR','default_focus(): ' + js2JSON(E));
+                                       }
+                               }, 0
+                       );
+               }
+
+       ]]>
+       </script>
+
+       <messagecatalog id="patronStrings" src="/xul/server/locale/<!--#echo var='locale'-->/patron.properties"/>
+
+       <commandset id="patron_display_cmds">
+               <command id="cmd_patron_refresh" />
+               <command id="cmd_patron_checkout" />
+               <command id="cmd_patron_items" />
+               <command id="cmd_patron_holds" />
+               <command id="cmd_patron_bills" />
+               <command id="cmd_patron_edit" />
+               <command id="cmd_patron_info_notes" />
+               <command id="cmd_patron_info_stats" />
+               <command id="cmd_patron_info_surveys" />
+               <command id="cmd_patron_info_groups" />
+               <command id="cmd_patron_other" />
+               <command id="cmd_patron_alert" />
+               <command id="cmd_patron_exit" />
+               <command id="cmd_patron_retrieve" />
+               <command id="cmd_patron_merge" />
+               <command id="cmd_search_form" />
+               <command id="cmd_verify_credentials" />
+               <command id="cmd_perm_editor" />
+               <command id="cmd_standing_penalties" />
+       </commandset>
+
+       <box id="patron_display_main" class="my_overflow" />
+
+</window>
+
diff --git a/Open-ILS/xul/staff_client/server/patron/display_horiz_overlay.xul b/Open-ILS/xul/staff_client/server/patron/display_horiz_overlay.xul
new file mode 100644 (file)
index 0000000..7a4d2c2
--- /dev/null
@@ -0,0 +1,132 @@
+<?xml version="1.0"?>
+<!DOCTYPE overlay PUBLIC "" ""[
+       <!--#include virtual="/opac/locale/${locale}/lang.dtd"-->
+]>
+<overlay id="patron_display_overlay" 
+       xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
+
+<script>dump('loading patron/display_overlay.xul\n');</script>
+
+<commandset id="patron_display_cmds" />
+
+<box id="patron_display_main" flex="1" orient="vertical">
+<vbox id="pdm2" flex="1">
+       <hbox id="pdm2hb1">
+               <hbox>
+                       <label id="patron_name" class="patronNameLarge" tooltiptext="&staff.patron_display.name.label;" value="&staff.patron.display_overlay.none_selected.value;" flex="1"/>
+               </hbox>
+               <deck id="PatronNavBar" flex="1" class="my_overflow" />
+       </hbox>
+       <hbox id="pdm2hb1a">
+               <label class="hideme barred_indicator" value="&staff.patron.display_overlay.barred.value;"/>
+               <label class="hideme expired_indicator" value="&staff.patron.display_overlay.expired.value;"/>
+               <label class="hideme inactive_indicator" value="&staff.patron.display_overlay.inactive.value;"/>
+               <label class="hideme juvenile_indicator" value="&staff.patron.display_overlay.juvenile.value;"/>
+               <label class="hideme alert_indicator" value="&staff.patron.display_overlay.alert.value;"/>
+               <label class="hideme note_indicator" value="&staff.patron.display_overlay.see_notes.value;"/>
+               <label class="hideme max_bills_indicator" value="&staff.patron.display_overlay.max_bills.value;"/>
+               <label class="hideme max_overdues_indicator" value="&staff.patron.display_overlay.max_overdues.value;"/>
+               <label class="hideme bills_indicator" value="&staff.patron.display_overlay.has_bills.value;"/>
+               <label class="hideme overdues_indicator" value="&staff.patron.display_overlay.has_overdues.value;"/>
+               <label class="hideme invalid_dob_indicator" value="&staff.patron.display_overlay.invalid_dob.value;"/>
+               <label class="hideme invalid_address_indicator" value="&staff.patron.display_overlay.invalid_address.value;"/>
+       </hbox>
+       <vbox id="PatronNotNavBar" flex="1" class="my_bg">
+        <vbox id="pdm3y" flex="1" persist="height"> 
+            <deck id="patron_left_deck"/>
+        </vbox>
+        <splitter id="pdms1y" orient="vertical" collapse="before" persist="state hidden"><grippy id="pdmsg1"/></splitter>
+        <vbox id="pdm4y" flex="8" persist="height">
+            <deck id="patron_right_deck"/>
+        </vbox>
+       </vbox>
+</vbox>
+</box>
+
+<deck id="patron_right_deck" flex="1">
+</deck>
+
+<deck id="patron_left_deck" flex="1">
+</deck>
+
+<deck id="PatronNavBar">
+       <hbox id="PatronNavBar0" flex="1"/>
+       <hbox id="PatronNavBar1" flex="1"/>
+</deck>
+
+<hbox id="PatronNavBar1" flex="1">
+    <vbox flex="1">
+        <hbox flex="1">
+            <spacer flex="1"/>
+            <arrowscrollbox id="PatronNavBarScrollbox" orient="horizontal" flex="1">
+                <spacer flex="1"/>
+                <grid>
+                    <columns>
+                        <column/>
+                        <column/>
+                        <column/>
+                        <column/>
+                        <column/>
+                        <column/>
+                        <column/>
+                        <column/>
+                    </columns>
+                    <rows>
+                        <row>
+                            <button id="PatronNavBar_refresh" command="cmd_patron_refresh" class="nav"
+                                label="&staff.patron_navbar.refresh;" accesskey="&staff.patron_navbar.refresh.accesskey;"/>
+                            <button id="PatronNavBar_checkout" command="cmd_patron_checkout" class="nav"
+                                label="&staff.patron_navbar.checkout;" accesskey="&staff.patron_navbar.checkout.accesskey;"/>
+                            <button id="PatronNavBar_items" command="cmd_patron_items" class="nav"
+                                label="&staff.patron_navbar.items;" accesskey="&staff.patron_navbar.items.accesskey;"/>
+                            <button id="PatronNavBar_holds" command="cmd_patron_holds" class="nav"
+                                label="&staff.patron_navbar.holds;" accesskey="&staff.patron_navbar.holds.accesskey;"/>
+                            <button id="PatronNavBar_bills" command="cmd_patron_bills" class="nav"
+                                label="&staff.patron_navbar.bills;" accesskey="&staff.patron_navbar.bills.accesskey;"/>
+                            <button id="PatronNavBar_edit" command="cmd_patron_edit" class="nav"
+                                label="&staff.patron_navbar.edit;" accesskey="&staff.patron_navbar.edit.accesskey;"/>
+                            <button id="PatronNavBar_messages" label="&staff.patron_navbar.actions.menu.standing_penalties.label;" accesskey="&staff.patron_navbar.actions.menu.standing_penalties.accesskey;" command="cmd_standing_penalties" class="nav"/>
+                            <button id="PatronNavBar_other" command="cmd_patron_other" class="nav" label="&staff.patron_navbar.other;" accesskey="&staff.patron_navbar.other.accesskey;" type="menu">
+                                <menupopup>
+                                    <menuitem label="&staff.patron_navbar.alert;" accesskey="&staff.patron_navbar.alert.accesskey;" command="cmd_patron_alert"/>
+                                    <menuitem label="&staff.patron.info.notes.label;" accesskey="&staff.patron.info.notes.accesskey;" command="cmd_patron_info_notes"/>
+                                    <menuitem label="&staff.patron.info.stat_cats.label;" accesskey="&staff.patron.info.stat_cats.accesskey;" command="cmd_patron_info_stats"/>
+                                    <menuitem label="&staff.patron.info.surveys.label;" accesskey="&staff.patron.info.surveys.accesskey;" command="cmd_patron_info_surveys"/>
+                                    <menuitem label="&staff.patron.info.group.label;" accesskey="&staff.patron.info.group.accesskey;" command="cmd_patron_info_groups"/>
+                                    <menuitem label="&staff.patron_display.verify_password.label;" accesskey="&staff.patron_display.verify_password.accesskey;" command="cmd_verify_credentials"/>
+                                    <menuitem label="&staff.main.menu.admin.user_edit.label;" accesskey="&staff.main.menu.admin.user_edit.accesskey;" command="cmd_perm_editor"/>
+                                    <menuitem label="&staff.patron.display_overlay.exit.label;" accesskey="&staff.patron.display_overlay.exit.accesskey;" command="cmd_patron_exit"/>
+                                    <menuitem label="&staff.patron_display.toggle_summary.label;" accesskey="&staff.patron_display.toggle_summary.label;" oncommand="document.getElementById('patron_left_deck').hidden = ! document.getElementById('patron_left_deck').hidden;"/>
+                                </menupopup>
+                            </button>
+                        </row>
+                        <row>
+                            <label id="under_refresh"/>
+                            <label id="under_checkout"/>
+                            <label id="under_items"/>
+                            <label id="under_holds"/>
+                            <label id="under_bills"/>
+                            <label id="under_edit"/>
+                            <label id="under_info"/>
+                            <label id="under_edit"/>
+                        </row>
+                    </rows>
+                </grid>
+            </arrowscrollbox>
+        </hbox>
+    </vbox>
+</hbox>
+
+<hbox id="PatronNavBar0" flex="1">
+    <vbox flex="1">
+        <hbox flex="1">
+               <spacer flex="1"/>
+               <button id="pnb1b2" label="&staff.patron.display_overlay.merge_patrons.label;" accesskey="&staff.patron.display_overlay.merge_patrons.accesskey;" command="cmd_patron_merge"/>
+               <button id="pnb1b0" label="&staff.patron.display_overlay.search_form.label;" accesskey="&staff.patron.display_overlay.search_form.accesskey;" command="cmd_search_form"/>
+               <button id="pnb1b1" label="&staff.patron.display_overlay.retrieve_patron.label;" accesskey="&staff.patron.display_overlay.retrieve_patron.accesskey;" command="cmd_patron_retrieve"/>
+        </hbox>
+        <label value=" "/>
+    </vbox>
+</hbox>
+
+</overlay>
index 594a2e3..5a6595e 100644 (file)
                <label class="hideme invalid_address_indicator" value="&staff.patron.display_overlay.invalid_address.value;"/>
        </hbox>
        <hbox id="PatronNotNavBar" flex="1" class="my_bg">
-               <box id="ui.circ.patron_summary.horizontal" orient="horizontal" flex="1">
-                       <vbox id="pdm3" flex="1"> 
-                               <deck id="patron_left_deck"/>
-                       </vbox>
-                       <splitter id="pdms1" orient="horizontal" collapse="before" persist="state hidden"><grippy id="pdmsg1"/></splitter>
-                       <vbox id="pdm4" flex="9">
-                               <deck id="patron_right_deck"/>
-                       </vbox>
-                </box> 
+        <vbox id="pdm3z" flex="1" persist="width"> 
+            <deck id="patron_left_deck"/>
+        </vbox>
+        <splitter id="pdms1z" orient="horizontal" collapse="before" persist="state hidden"><grippy id="pdmsg1"/></splitter>
+        <vbox id="pdm4z" flex="3" persist="width">
+            <deck id="patron_right_deck"/>
+        </vbox>
        </hbox>
 </vbox>
 </box>
@@ -98,6 +96,7 @@
                                     <menuitem label="&staff.patron_display.verify_password.label;" accesskey="&staff.patron_display.verify_password.accesskey;" command="cmd_verify_credentials"/>
                                     <menuitem label="&staff.main.menu.admin.user_edit.label;" accesskey="&staff.main.menu.admin.user_edit.accesskey;" command="cmd_perm_editor"/>
                                     <menuitem label="&staff.patron.display_overlay.exit.label;" accesskey="&staff.patron.display_overlay.exit.accesskey;" command="cmd_patron_exit"/>
+                                    <menuitem label="&staff.patron_display.toggle_summary.label;" accesskey="&staff.patron_display.toggle_summary.label;" oncommand="document.getElementById('patron_left_deck').hidden = ! document.getElementById('patron_left_deck').hidden;"/>
                                 </menupopup>
                             </button>
                         </row>
index 4feb5fb..6324fcd 100644 (file)
@@ -824,8 +824,7 @@ patron.holds.prototype = {
                                                                for (var i = 0; i < obj.retrieve_ids.length; i++) {
                                                                        var patron_id = obj.retrieve_ids[i].usr;
                                                                        if (seen[patron_id]) continue; seen[patron_id] = true;
-                                                                       xulG.new_tab(
-                                                                               xulG.url_prefix(urls.XUL_PATRON_DISPLAY), // + '?id=' + patron_id, 
+                                                                       xulG.new_patron_tab(
                                                                                {}, 
                                                                                { 'id' : patron_id }
                                                                        );
index 356b346..9b2081c 100644 (file)
                                if (typeof window.xulG == 'object' && typeof window.xulG.new_tab == 'function') {
                                        for (var i = 0; i < g.sel_list.length; i++) {   
                                                try {
-                                                       var url = urls.XUL_PATRON_DISPLAY// + '?id=' + window.escape( g.sel_list[i] );
-                                                       window.xulG.new_tab(
-                                                               url, 
+                                                       window.xulG.new_patron_tab(
                                                                { 'tab_name' : $("patronStrings").getString('staff.patron.info_group.retrieve_patron.tab_name') }, 
                                                                { 
                                                                        'id' : g.sel_list[i],
                 var result = patron.util.merge(g.sel_list);
                 if (result) {
                     if (result != g.patron_id && g.sel_list.indexOf( g.patron_id ) != -1) {
-                        xulG.set_tab(
-                            urls.XUL_PATRON_DISPLAY,
+                        xulG.set_patron_tab(
                             { 'tab_name' : $("patronStrings").getString('staff.patron.info_group.retrieve_patron.tab_name') }, 
                             {
-                                'id' : result,
-                                'url_prefix' : xulG.url_prefix,
-                                'new_tab' : xulG.new_tab,
-                                'set_tab' : xulG.set_tab
+                                'id' : result
                             } 
                         );
                     } else {
                function spawn_search(s) {
                        try {
                                g.error.sdump('D_TRACE', 'Editor would like to search for: ' + js2JSON(s) ); 
-                               var loc = xulG.url_prefix(urls.XUL_PATRON_DISPLAY);
-                                       //loc += '?doit=1&query=' + window.escape(js2JSON(s));
-                               if (typeof window.xulG == 'object' && typeof window.xulG.new_tab == 'function') 
-                                       xulG.new_tab( loc, {}, {'doit':1,'query':s} );
+                               if (typeof window.xulG == 'object' && typeof window.xulG.new_patron_tab == 'function') 
+                                       xulG.new_patron_tab( {}, {'doit':1,'query':s} );
                        } catch(E) {
                                g.error.standard_unexpected_error_alert($("patronStrings").getString('staff.patron.info_group.spwan_search'),E);
                        }