]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/xul/staff_client/chrome/content/util/rbrowser.xul
throw print functionality into an oncommand attribute, since onload event fires multi...
[working/Evergreen.git] / Open-ILS / xul / staff_client / chrome / content / util / rbrowser.xul
1 <?xml version="1.0"?>
2 <!-- Application: Evergreen Staff Client -->
3 <!-- Screen: Patron Display -->
4
5 <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
6 <!-- STYLESHEETS -->
7 <?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
8 <?xml-stylesheet href="chrome://open_ils_staff_client/skin/global.css" type="text/css"?>
9 <?xml-stylesheet href="/xul/server/skin/global.css" type="text/css"?>
10
11 <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
12 <!-- LOCALIZATION -->
13 <!DOCTYPE window SYSTEM "chrome://open_ils_staff_client/locale/lang.dtd">
14
15 <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
16 <!-- OVERLAYS -->
17 <?xul-overlay href="/xul/server/OpenILS/util_overlay.xul"?>
18
19 <window id="util_browser_win" 
20         onload="try { my_init(); font_helper(); } catch(E) { alert(E); }"
21         xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
22
23         <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
24         <!-- BEHAVIOR -->
25         <script type="text/javascript">
26                 var myPackageDir = 'open_ils_staff_client'; var IAMXUL = true; var g = {};
27                 netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
28         </script>
29         <scripts id="openils_util_scripts"/>
30
31         <script type="text/javascript" src="/xul/server/main/JSAN.js"/>
32         <script>
33         <![CDATA[
34
35                 function my_init() {
36                         try {
37                                 netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
38                                 if (typeof JSAN == 'undefined') { throw( "The JSAN library object is missing."); }
39                                 JSAN.errorLevel = "die"; // none, warn, or die
40                                 JSAN.addRepository('/xul/server/');
41                                 JSAN.use('util.error'); g.error = new util.error();
42                                 g.error.sdump('D_TRACE','my_init() for util_browser.xul');
43
44                                 g.cgi = new CGI();
45                                 var name = g.cgi.param('tab_name') || g.cgi.param('name') || null;
46                                 if (!name) {
47                                         if (typeof window.xulG == 'object') {
48                                                 name = window.xulG.name || window.xulG.tab_name || null;
49                                         }
50                                 }
51                                 var url; try { url = g.cgi.param('url') || xulG.url } catch(E) { dump(E + '\n'); };
52                                 if (!url) url = urls.browser;
53
54                                 if (!g.browser) {
55                                         JSAN.use('util.browser'); g.browser = new util.browser();
56                                 }
57
58                                 var push_xulG = true;
59                                 if (g.cgi.param('no_xulG') || (typeof xulG == 'object' ? xulG.no_xulG : false)) push_xulG = false;
60
61                                 var alt_print = false;
62                                 if (g.cgi.param('alternate_print') || (typeof xulG == 'object' ? xulG.alternate_print : false)) alt_print = true;
63
64                                 var p = { 
65                                         'url' : url,
66                                         'push_xulG' : push_xulG,
67                                         'alt_print' : alt_print,
68                                 } 
69                                 if (typeof window.xulG == 'object' && typeof window.xulG.passthru_content_params == 'object') {
70                                         p.passthru_content_params = window.xulG.passthru_content_params;
71                                 }
72                                 if (typeof window.xulG == 'object' && typeof window.xulG.on_url_load == 'function') {
73                                         p.on_url_load = window.xulG.on_url_load;
74                                 }
75
76                                 g.browser.init( p );
77
78                                 if (typeof window.xulG == 'object' && typeof window.xulG.set_tab_name == 'function') {
79                                         if (name) try { window.xulG.set_tab_name(name); } catch(E) { alert(E); }
80                                 }
81                                 if (g.cgi.param('show_nav_buttons')||(typeof window.xulG == 'object' && window.xulG.show_nav_buttons)) {
82                                         document.getElementById('back').hidden = false;
83                                         document.getElementById('forward').hidden = false;
84                                 }
85                                 if (g.cgi.param('show_print_button')||(typeof window.xulG == 'object' && window.xulG.show_print_button)) {
86                                         document.getElementById('browser_print').hidden = false;
87                                 }
88
89                                 if (g.cgi.param('title')) {
90                                         try { document.title = g.cgi.param('title'); } catch(E) {}
91                                         try { window.title = g.cgi.param('title'); } catch(E) {}
92                                 }
93
94                         } catch(E) {
95                                 var err_msg = "!! This software has encountered an error.  Please tell your friendly " +
96                                         "system administrator or software developer the following:\n" + E + '\n';
97                                 try { g.error.sdump('D_ERROR',err_msg); } catch(E) { dump(err_msg); }
98                                 alert(err_msg);
99                         }
100                 }
101
102         ]]>
103         </script>
104
105         <commandset id="util_browser_cmds">
106                 <command id="cmd_broken" />
107                 <command id="cmd_print" />
108                 <command id="cmd_back" />
109                 <command id="cmd_forward" />
110         </commandset>
111
112         <vbox flex="1">
113                 <hbox>
114                         <button id="back" label="Go Back" command="cmd_back" accesskey="b" disabled="true" hidden="true"/>
115                         <button id="forward" label="Go Forward" command="cmd_forward" accesskey="d" disabled="true" hidden="true"/>
116                         <spacer flex="1"/>
117                         <button id="browser_print" label="Print Page" oldcommand="cmd_print" hidden="true"
118                                 oncommand="netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect'); if (g.browser.alt_print) { JSAN.use('util.print'); var p = new util.print(); p.NSPrint(g.browser.get_content(),false,{}); } else { g.browser.get_content().print(); }"
119                         />
120
121                 </hbox>
122                 <browser id="browser_browser" flex="1" type="content"/>
123         </vbox>
124
125 </window>
126