add display.xul
authorJason Etheridge <jason@esilibrary.com>
Tue, 1 Oct 2013 20:19:15 +0000 (16:19 -0400)
committerJason Etheridge <jason@esilibrary.com>
Tue, 1 Oct 2013 21:07:10 +0000 (17:07 -0400)
Open-ILS/xul/staff_client/server/patron/display.xul

index 65a1a74..4000857 100644 (file)
 <?xml version="1.0"?>
-<!-- Application: Evergreen Staff Client -->
-<!-- Screen: Patron Display -->
-
-<!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
-<!-- STYLESHEETS -->
 <?xml-stylesheet href="chrome://global/skin/" 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 -->
+<?xml-stylesheet href="oils://remote/xul/server/skin/global.css" type="text/css"?>
 <!DOCTYPE window PUBLIC "" ""[
     <!--#include virtual="/opac/locale/${locale}/lang.dtd"-->
 ]>
+<?xul-overlay href="oils://remote/xul/server/OpenILS/util_overlay.xul"?>
 
-<!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
-<!-- OVERLAYS -->
-<?xul-overlay href="/xul/server/OpenILS/util_overlay.xul"?>
-<?xul-overlay href="/xul/server/patron/display_overlay.xul"?>
-
-<window id="patron_display_win" 
-    onload="try { my_init(); font_helper(); persist_helper(); } catch(E) { alert(E); }"
-    onunload="try { my_cleanup(); persist_helper_cleanup(); } catch(E) { alert(E); }"
+<window id="search_win"
+    onload="try { persist_helper(); 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="chrome://open_ils_staff_client/content/main/JSAN.js"/>
+    <script type="text/javascript" src="oils://remote/xul/server/patron/search.js"/>
+    <script type="text/javascript" src="oils://remote/xul/server/patron/patron.js"/>
 
-    <script type="text/javascript" src="/xul/server/main/JSAN.js"/>
-    <script type="text/javascript" src="/xul/server/patron/display.js"/>
-    <script>
-    <![CDATA[
-        function $(id) { return document.getElementById(id); }
-    
-        function my_init() {
-            try {
-                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'),
-                    'show' : xul_param('show')
-                } );
-
-            //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 my_cleanup() {
-            try {
-                g.patron.cleanup();
-            } 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 {
-                        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_cmds">
+
+        <command id="cmd_swap_view" />
+        <command id="cmd_submit" />
+        <command id="cmd_merge" />
+        <command id="cmd_retrieve" />
+        <command id="cmd_sel_clip" />
+        <command id="cmd_save_columns" />
+        <command id="cmd_search_print" />
+        <command id="cmd_clear" />
+
+        <command id="cmd_reload" />
+        <command id="cmd_bills" />
+        <command id="cmd_bill_history" />
+        <command id="cmd_checkout" />
+        <command id="cmd_edit" />
+        <command id="cmd_events" />
+        <command id="cmd_group" />
+        <command id="cmd_holds" />
+        <command id="cmd_items_out" />
+        <command id="cmd_messages" />
+        <command id="cmd_notes" />
+        <command id="cmd_perms" />
+        <command id="cmd_reservation" />
+        <command id="cmd_reservation_pickup" />
+        <command id="cmd_reservation_return" />
+        <command id="cmd_requests" />
+        <command id="cmd_statcats" />
+        <command id="cmd_surveys" />
+        <command id="cmd_test_password" />
+        <command id="cmd_delete" />
 
-    <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_triggered_events" />
-        <command id="cmd_patron_info_stats" />
-        <command id="cmd_patron_info_surveys" />
-        <command id="cmd_patron_info_acq_requests" />
-        <command id="cmd_patron_info_groups" />
-        <command id="cmd_patron_other" />
-        <command id="cmd_patron_alert" />
-        <command id="cmd_patron_reservation" />
-        <command id="cmd_patron_reservation_pickup" />
-        <command id="cmd_patron_reservation_return" />
-        <command id="cmd_patron_exit" />
-        <command id="cmd_patron_retrieve" />
-        <command id="cmd_patron_merge" />
-        <command id="cmd_patron_toggle_summary" />
-        <command id="cmd_patron_delete" />
-        <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" />
+    <deck id="uber_deck" flex="1">
+    <!-- FIXME: this should really be two different XUL files, but for now,
+        to allow testing with stock staff clients, I'm squishing them together
+    -->
+
+    <label value="Loading..."/>
+
+    <vbox flex="1">
+
+    <deck id="deck" flex="1">
+    <groupbox id="psgf_gb">
+        <caption id="psgf_gbc" label='&staff.patron_search_form.caption;' />
+        <hbox>
+            <hbox>
+                <label control="inactive"
+                    accesskey="&staff.patron.search_form_overlay.inactive.accesskey;"
+                    value="&staff.patron.search_form_overlay.inactive.value;"/>
+                <checkbox id="inactive" group="_" tabindex="40" oils_persist="checked"/>
+            </hbox>
+            <hbox>
+                <label control="search_ou_menu"
+                    value="&staff.patron.search_form_overlay.search_range_menu.value;"/>
+                <hbox id="search_ou" group="_" tabindex="41" oils_persist="value"/>
+            </hbox>
+            <hbox>
+                <label control="search_profile_menu"
+                    value="&staff.patron_search_form.profile.label;"/>
+                <hbox id="profile" group="_" tabindex="42" oils_persist="value"/>
+            </hbox>
+        </hbox>
+        <hbox>
+            <!-- group 0 = user  group 1 = address  group 2 = phone, ident -->
+            <grid id="psg">
+                <columns id="psc">
+                    <column id="psc1"/>
+                    <column id="psc2" flex="1"/>
+                    <column id="psc3"/>
+                    <column id="psc4" flex="1"/>
+                    <column id="psc5"/>
+                    <column id="psc6" flex="1"/>
+                    <column id="psc7"/>
+                    <column id="psc8" flex="1"/>
+                </columns>
+                <rows id="psr">
+                    <row id="psr1">
+                        <label id="psl6c" control="card" style="font-weight: bold"
+                            value="&staff.patron_search_form.card.label;"
+                            accesskey="&staff.patron_search_form.card.accesskey;"/>
+                        <textbox id="card" group="0" context="clipboard" tabindex="10"/>
+                        <label id="psl1" control="family_name"
+                            value="&staff.patron_search_form.family_name.label;"
+                            accesskey="a"
+                            oldaccesskey="&staff.patron_search_form.family_name.accesskey;"/>
+                        <textbox id="family_name" group="0" context="clipboard" tabindex="14"/>
+                        <label id="psl7" control="street1"
+                            value="&staff.patron_search_form.street1.label;"
+                            accesskey="&staff.patron_search_form.street1.accesskey;"/>
+                        <textbox id="street1" group="1" context="clipboard" tabindex="18"/>
+                        <label id="psl5" control="phone"
+                            value="&staff.patron_search_form.phone.label;"
+                            accesskey="&staff.patron_search_form.phone.accesskey;"/>
+                        <textbox id="phone" group="2" context="clipboard" tabindex="22"/>
+                    </row>
+                    <row id="psr2">
+                        <label id="psl6b" control="usrname"
+                            value="&staff.patron_search_form.usrname.label;"
+                            accesskey="&staff.patron_search_form.usrname.accesskey;"/>
+                        <textbox id="usrname" group="0" context="clipboard" tabindex="11"/>
+                        <label id="psl2" control="first_given_name"
+                            value="&staff.patron_search_form.first_given_name.label;"
+                            accesskey="&staff.patron_search_form.first_given_name.accesskey;"/>
+                        <textbox id="first_given_name" group="0" context="clipboard" tabindex="15"/>
+                        <label id="psl8" control="street2"
+                            value="&staff.patron_search_form.street2.label;"
+                            accesskey="&staff.patron_search_form.street2.accesskey;"/>
+                        <textbox id="street2" group="1" context="clipboard" tabindex="19"/>
+                        <label id="psl4" control="email"
+                            value="&staff.patron_search_form.email.label;"
+                            accesskey="&staff.patron_search_form.email.accesskey;"/>
+                        <textbox id="email" group="0" context="clipboard" tabindex="23"/>
+                    </row>
+                    <row id="psr3">
+                        <label id="psl6" control="ident"
+                            value="&staff.patron_search_form.ident.label;"
+                            accesskey="&staff.patron_search_form.ident.accesskey;"/>
+                        <textbox id="ident" group="2" context="clipboard" tabindex="12"/>
+                        <label id="psl3" control="second_given_name"
+                            value="&staff.patron_search_form.second_given_name.label;"
+                            accesskey="&staff.patron_search_form.second_given_name.accesskey;"/>
+                        <textbox id="second_given_name" group="0" context="clipboard" tabindex="16"/>
+                        <label id="psl9" control="city"
+                            value="&staff.patron_search_form.city.label;"
+                            accesskey="&staff.patron_search_form.city.accesskey;"/>
+                        <textbox id="city" group="1" context="clipboard" tabindex="20"/>
+                        <label id="psl10" control="state"
+                            value="&staff.patron_search_form.state.label;"
+                            accesskey="&staff.patron_search_form.state.accesskey;"/>
+                        <textbox id="state" group="1" context="clipboard" tabindex="24"/>
+                    </row>
+                    <row id="psr14">
+                        <spacer/>
+                        <spacer/>
+                        <label id="psl14" control="alias"
+                            value="&staff.patron_search_form.alias.label;"
+                            accesskey="&staff.patron_search_form.alias.accesskey;"/>
+                        <textbox id="alias" group="0" context="clipboard" tabindex="17"/>
+                        <label id="psl11" control="post_code"
+                            value="&staff.patron_search_form.post_code.label;"
+                            accesskey="&staff.patron_search_form.post_code.accesskey;"/>
+                        <textbox id="post_code" group="1" context="clipboard" tabindex="21"/>
+                    </row>
+                </rows>
+            </grid>
+            <vbox>
+                <button id="search" flex="1" label="&staff.patron_search_form.search.label;"
+                    accesskey="&staff.patron_search_form.search.accesskey;"
+                    command="cmd_submit" tabindex="30"/>
+                <button id="clear" label="&staff.patron_search_form.clear.label;"
+                    accesskey="&staff.patron_search_form.clear.accesskey;"
+                    command="cmd_clear" tabindex="31"/>
+            </vbox>
+        </hbox>
+    </groupbox>
+    <iframe id="iframe" flex="1"/>
+    </deck>
+    <splitter collapse="before" resizebefore="flex" resizeafter="flex" oils_persist="state hidden" oils_persist_peers="deck search_bottom_pane"><grippy/></splitter>
+    <groupbox id="search_bottom_pane" oils_persist="height" flex="1">
+        <caption label="Patrons"/>
+        <tree id="patron_list" flex="1" enableColumnDrag="true" seltype="multiple"/>
+        <hbox>
+            <hbox id="patron_list_actions"/>
+            <hbox id="retrieve_settings">
+                <button type="menu"
+                    label="Retrieve Settings"
+                    accesskey="t">
+                    <menupopup>
+                        <menuitem type="checkbox" id="auto"
+                            oils_persist="checked"
+                            accesskey="M"
+                            label="Auto-Retrieve Single Match"/>
+                        <menuitem type="checkbox" id="auto_via_barcode"
+                            oils_persist="checked"
+                            accesskey="B"
+                            checked="true"
+                            label="Auto-Retrieve Single Match via Barcode"/>
+                        <menuitem type="checkbox" id="replace_tab"
+                            oils_persist="checked"
+                            accesskey="T"
+                            label="Replace Tab on Retrieve"/>
+                        <menuitem type="checkbox" id="replace_tab_via_barcode"
+                            oils_persist="checked"
+                            accesskey="B"
+                            checked="true"
+                            label="Replace Tab on Retrieve via Barcode"/>
+                        <menuitem type="checkbox" id="retrieve_library_card"
+                            oils_persist="checked"
+                            accesskey="C"
+                            label="Retrieve Library Card with search results"/>
+                        <menuitem type="checkbox" id="retrieve_mailing_address"
+                            oils_persist="checked"
+                            accesskey="M"
+                            label="Retrieve Mailing Address with search results"/>
+                        <menuitem type="checkbox" id="retrieve_billing_address"
+                            oils_persist="checked"
+                            accesskey="B"
+                            label="Retrieve Billing Address with search results"/>
+                    </menupopup>
+                </button>
+            </hbox>
+            <spacer flex="1"/>
+            <button id="swap_btn"
+                label="Toggle View"
+                accesskey="V"
+                command="cmd_swap_view"/>
+            <button id="pnb1b2"
+                label="&staff.patron.display_overlay.merge_patrons.label;"
+                accesskey="&staff.patron.display_overlay.merge_patrons.accesskey;"
+                command="cmd_merge"/>
+            <button id="pnb1b1"
+                label="&staff.patron.display_overlay.retrieve_patron.label;"
+                accesskey="&staff.patron.display_overlay.retrieve_patron.accesskey;"
+                command="cmd_retrieve"/>
+        </hbox>
+    </groupbox>
+
+    </vbox>
+
+    <vbox flex="1">
+        <hbox id="top_pane" flex="1" oils_persist="height">
+            <iframe id="iframe1" flex="1" oils_persist="height"/>
+        </hbox>
+        <splitter collapse="before" resizebefore="flex" resizeafter="flex" oils_persist="state hidden" oils_persist_peers="top_pane bottom_pane"><grippy/></splitter>
+        <hbox id="bottom_pane" flex="1" oils_persist="height">
+            <vbox id="button_box" oils_persist="height width" class="my_overflow">
+                <button id="reload"
+                    label="Reload"
+                    accesskey="R"
+                    command="cmd_reload"/>
+                <label value=" "/>
+                <vbox id="main_button_group">
+                    <button id="bills"
+                        label="Bills"
+                        accesskey="B"
+                        command="cmd_bills"/>
+                    <button id="booking" type="menu"
+                        label="Booking"
+                        accesskey="k">
+                        <menupopup>
+                            <menuitem command="cmd_reservation"
+                                label="&staff.main.menu.booking.reservation.label_alt;"
+                                acceskey="&staff.main.menu.booking.reservation.accesskey;"/>
+                            <menuitem command="cmd_reservation_pickup"
+                                label="&staff.main.menu.booking.reservation_pickup.label;"
+                                acceskey="&staff.main.menu.booking.reservation_pickup.accesskey;"/>
+                            <menuitem command="cmd_reservation_return"
+                                label="&staff.main.menu.booking.reservation_return.label;"
+                                acceskey="&staff.main.menu.booking.reservation_return.accesskey;"/>
+                        </menupopup>
+                    </button>
+                    <button id="checkout"
+                        label="Check Out"
+                        accesskey="C"
+                        command="cmd_checkout"/>
+                    <button id="edit"
+                        label="Edit"
+                        accesskey="E"
+                        command="cmd_edit"/>
+                    <button id="events"
+                        label="Events"
+                        accesskey="v"
+                        command="cmd_events"/>
+                    <button id="group"
+                        label="Group"
+                        accesskey="G"
+                        command="cmd_group"/>
+                    <button id="holds"
+                        label="Holds"
+                        accesskey="H"
+                        command="cmd_holds"/>
+                    <button id="items_out"
+                        label="Items Out"
+                        accesskey="I"
+                        command="cmd_items_out"/>
+                    <button id="messages"
+                        label="Messages"
+                        accesskey="M"
+                        command="cmd_messages"/>
+                    <button id="notes"
+                        label="Notes"
+                        accesskey="N"
+                        command="cmd_notes"/>
+                    <button id="perms"
+                        label="Permissions"
+                        accesskey="P"
+                        command="cmd_perms"/>
+                    <button id="requests"
+                        label="Requests"
+                        accesskey="q"
+                        command="cmd_requests"/>
+                    <button id="statcats"
+                        label="StatCats"
+                        accesskey="S"
+                        command="cmd_statcats"/>
+                    <button id="surveys"
+                        label="Surveys"
+                        accesskey="y"
+                        command="cmd_surveys"/>
+                    <button id="test_password"
+                        label="Test Password"
+                        accesskey="T"
+                        command="cmd_test_password"/>
+                </vbox>
+                <label value=" "/>
+                <button id="delete"
+                    label="Delete"
+                    accesskey=""
+                    command="cmd_delete"/>
+            </vbox>
+            <splitter collapse="before"
+                oils_persist="state hidden"
+                oils_persist_peers="button_box iframe2">
+                <grippy/>
+            </splitter>
+        </hbox>
+    </vbox>
+
+    </deck>
 
 </window>