]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/xul/staff_client/server/main/data.xul
backporting from staff-client-experiment: entry points for some of these extensions...
[working/Evergreen.git] / Open-ILS / xul / staff_client / server / main / data.xul
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- Application: Evergreen Staff Client -->
3 <!-- Screen: Main, Authentication Window -->
4 <!--
5  vim:noet:sw=4:ts=4:
6 -->
7
8 <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
9 <!-- PRESENTATION -->
10 <?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
11 <!-- xulrunner 1.9 doesn't like this mixing of chrome and remote
12 <?xml-stylesheet href="chrome://open_ils_staff_client/skin/global.css" type="text/css"?>
13 <?xml-stylesheet href="chrome://open_ils_staff_client/skin/auth.css" type="text/css"?>
14 -->
15 <!-- Load these just to cache them -->
16 <?xml-stylesheet href="/xul/server/skin/global.css" type="text/css"?>
17 <?xml-stylesheet href="/xul/server/skin/cat.css" type="text/css"?>
18 <?xml-stylesheet href="/xul/server/skin/circ.css" type="text/css"?>
19 <?xml-stylesheet href="/xul/server/skin/patron_display.css" type="text/css"?>
20 <?xml-stylesheet href="/xul/server/skin/patron_summary.css" type="text/css"?>
21 <?xml-stylesheet href="/xul/server/skin/simple_auth.css" type="text/css"?>
22
23
24 <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
25 <!-- LOCALIZATION -->
26 <!DOCTYPE window PUBLIC "" ""[
27         <!--#include virtual="/opac/locale/${locale}/lang.dtd"-->
28 ]>
29
30 <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
31 <!-- OVERLAYS -->
32 <?xul-overlay href="/xul/server/OpenILS/util_overlay.xul"?>
33
34 <window id="data_win" 
35         onload="try { data_init(); } catch(E) { alert(E); }"
36         title="&staff.auth.title;"
37         xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
38
39
40         <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
41         <!-- BEHAVIOR -->
42         <script type="text/javascript">var myPackageDir = 'open_ils_staff_client'; var IAMXUL = true; var g = {};</script>
43         <scripts id="openils_util_scripts"/>
44
45         <script type="text/javascript" src="/xul/server/main/JSAN.js"/>
46         <script>
47         <![CDATA[
48
49                 function data_init() {
50
51                         netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
52
53                         if (typeof JSAN == 'undefined') {
54                                 throw(document.getElementById("commonStrings").getString('common.jsan.missing'));
55                         }
56                         /////////////////////////////////////////////////////////////////////////////
57
58                         JSAN.errorLevel = "die"; // none, warn, or die
59                         JSAN.addRepository('/xul/server/');
60
61                         function cache_me(msg,how) {
62                                 try {
63                                         switch(how) {
64                                                 case 'jsan' : JSAN.use(msg); break;
65                                                 case 'http' :
66                                                         var x = new XMLHttpRequest();
67                                                         x.open("GET",msg,true);
68                                                         x.send(null);
69                                                 break;
70                                         }
71                                         dump(msg + '\n');
72                                         var x = document.getElementById('data_progress');
73                                         if (x) {
74                                                 x.appendChild( document.createTextNode( msg + ' ') );
75                                         }
76                                 } catch(E) {
77                                         dump(msg + '\n' + E);
78                                 }
79                         }
80
81                         // load these just so they'll get cached
82                         //cache_me('/xul/server//util/exec.js','http');
83                         //cache_me('/xul/server//util/barcode.js','http');  
84                         //cache_me('/xul/server//util/controller.js','http');  
85                         //cache_me('/xul/server//util/deck.js','http');  
86                         //cache_me('/xul/server//util/fm_utils.js','http');  
87                         //cache_me('/xul/server//util/list.js','http');  
88                         //cache_me('/xul/server//util/network.js','http'); 
89                         //cache_me('/xul/server//util/sound.js','http'); 
90                         //cache_me('/xul/server//util/widgets.js','http');  
91                         //cache_me('/xul/server//util/browser.js','http');  
92                         //cache_me('/xul/server//util/error.js','http');  
93                         //cache_me('/xul/server//util/file.js','http'); 
94                         //cache_me('/xul/server//util/functional.js','http');  
95                         //cache_me('/xul/server//util/money.js','http');  
96                         //cache_me('/xul/server//util/print.js','http');  
97                         //cache_me('/xul/server//util/text.js','http'); 
98                         //cache_me('/xul/server//util/window.js','http'); 
99
100                         cache_me('/xul/server/util/fancy_prompt.xul','http');
101                         //cache_me('/xul/server/util/browser.xul','http');
102                         //cache_me('/xul/server/util/rbrowser.xul','http');
103
104                         //cache_me('/xul/server//patron/display.js','http');  
105                         //cache_me('/xul/server//patron/bills.js','http');  
106                         //cache_me('/xul/server//patron/holds.js','http');  
107                         //cache_me('/xul/server//patron/items.js','http'); 
108                         //cache_me('/xul/server//patron/search_form.js','http');  
109                         //cache_me('/xul/server//patron/search_result.js','http');  
110                         //cache_me('/xul/server//patron/summary.js','http'); 
111                         //cache_me('/xul/server//patron/util.js','http'); 
112
113                         //cache_me('/xul/server/patron/display.xul','http');  
114                         //cache_me('/xul/server/patron/display_overlay.xul','http');  
115                         //cache_me('/xul/server/patron/bills.xul','http');  
116                         //cache_me('/xul/server/patron/bills_overlay.xul','http');  
117                         //cache_me('/xul/server/patron/holds.xul','http');  
118                         //cache_me('/xul/server/patron/holds_overlay.xul','http');  
119                         //cache_me('/xul/server/patron/items.xul','http'); 
120                         //cache_me('/xul/server/patron/items_overlay.xul','http'); 
121                         //cache_me('/xul/server/patron/search_form.xul','http');  
122                         //cache_me('/xul/server/patron/search_form_overlay.xul','http');  
123                         //cache_me('/xul/server/patron/search_result.xul','http');  
124                         //cache_me('/xul/server/patron/search_result_overlay.xul','http');  
125                         //cache_me('/xul/server/patron/summary.xul','http'); 
126                         //cache_me('/xul/server/patron/summary_overlay.xul','http'); 
127                         //cache_me('/xul/server/patron/barcode_entry.xul','http');
128
129                         //cache_me('/xul/server/patron/ue.xhtml','http');
130                         //cache_me('/xul/server/admin/adminlib.js','http');
131                         //cache_me('/xul/server/admin/admin.css','http');
132                         //cache_me('/xul/server/patron/ue_config.js','http');
133                         //cache_me('/xul/server/patron/ue_ui.js','http');
134                         //cache_me('/xul/server/patron/ue.js','http');
135                         //cache_me('/opac/common/js//config.js','http');
136                         //cache_me('/opac/common/js/Cookie.js','http');
137                         //cache_me('/opac/common/js/Cookies.js','http');
138                         //cache_me('/opac/common/js/opac_utils.js','http');
139                         //cache_me('/opac/common/js/init.js','http');
140                         //cache_me('/opac/common/js/jscalendar/calendar-brown.css','http');
141                         //cache_me('/opac/common/js/jscalendar/calendar.js','http');
142                         //cache_me('/opac/common/js/jscalendar/lang/calendar-en.js','http');
143                         //cache_me('/opac/common/js/jscalendar/calendar-setup.js','http');
144                         //cache_me('/opac/common/js/jscalendar/img.gif','http');
145
146                         //cache_me('/xul/server/skin/media/images/stop_sign.png','http');
147                         //cache_me('/xul/server/skin/media/images/bad_barcode.png','http');
148                         //cache_me('/xul/server/skin/media/images/grinder.gif','http');     
149                         //cache_me('/xul/server/skin/media/images/patron_left_arrow.png','http');
150                         //cache_me('/xul/server/skin/media/images/skull.png','http');
151                         //cache_me('/xul/server/skin/media/images/tools.png','http');
152                         //cache_me('/xul/server/skin/media/images/up_arrow.gif','http');
153                         //cache_me('/xul/server/skin/media/images/book_question.png','http');
154                         //cache_me('/xul/server/skin/media/images/down_arrow.gif','http');
155                         //cache_me('/xul/server/skin/media/images/icon_delete.gif','http');
156                         //cache_me('/xul/server/skin/media/images/patron_right_arrow.png','http');
157                         //cache_me('/xul/server/skin/media/images/turtle.gif','http');
158                         //cache_me('/xul/server/skin/media/audio/bonus.wav','http');
159                         //cache_me('/xul/server/skin/media/audio/question.wav','http');
160                         //cache_me('/xul/server/skin/media/audio/redalert.wav','http');
161                         //cache_me('/xul/server/skin/media/audio/toggled.wav','http');
162
163                         //cache_me('/xul/server//circ/checkin.js','http');  
164                         //cache_me('/xul/server//circ/checkout.js','http');  
165                         //cache_me('/xul/server//circ/copy_status.js','http'); 
166                         //cache_me('/xul/server//circ/hold_capture.js','http'); 
167                         //cache_me('/xul/server//circ/in_house_use.js','http');  
168                         //cache_me('/xul/server//circ/util.js','http'); 
169
170                         //cache_me('/xul/server/circ/checkout_overlay.xul','http');
171                         //cache_me('/xul/server/circ/checkout.xul','http');
172                         //cache_me('/xul/server/circ/checkin_overlay.xul','http');
173                         //cache_me('/xul/server/circ/checkin.xul','http');
174                         //cache_me('/xul/server/circ/circ_brief.xul','http');
175                         //cache_me('/xul/server/circ/circ_summary.xul','http');
176                         //cache_me('/xul/server/circ/copy_status.xul','http');
177                         //cache_me('/xul/server/circ/copy_status_overlay.xul','http');
178
179                         // ----
180
181             JSAN.use('util.error'); 
182             g.error = new util.error();
183                         JSAN.use('OpenILS.data');
184                         g.data = new OpenILS.data()
185
186                         g.data.session = {};
187                         g.data.session.key = xulG.auth.session.key;
188                         g.data.session.authtime = xulG.auth.session.authtime;
189                         g.data.stash('session');
190             g.data.on_error = function(E) {
191                 try {
192                     g.error.standard_unexpected_error_alert('Error during login sequence.  The client will logout after this dialog.',E);
193                     setTimeout(
194                         function() {
195                             try {
196                                 xulG.auth.logoff();
197                             } catch(E3) {
198                                 alert(E3);
199                             }
200                         }, 0
201                     );
202                 } catch(E2) {
203                     alert(E2);
204                     try { xulG.auth.logoff(); } catch(E4) { alert(E4); };
205                 }
206                 return false;
207             }
208                         g.data.on_complete = function () {
209
210                 try {
211
212                     g.data.stash('list','hash','tree','temp');
213
214                     g.data._debug_stash();
215
216                     document.getElementById('iframe').setAttribute(
217                         'src',
218                         urls.XUL_OFFLINE_GENERATE_WIDGETS       
219                     );
220
221                     document.getElementById('caption').setAttribute('label', document.getElementById('commonStrings').getString('staff.main.data.loaded'));
222
223                     g.open_menu();
224
225                 } catch(E) {
226                     alert(E);
227                 }
228                         }
229
230             g.open_menu = function() {
231                 try {
232                                 netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
233                     var mframe = xulG.window.open(urls.XUL_MENU_FRAME
234                         + '?server='+window.escape(xulG.url),
235                         'main'+xulG.window.window_name_increment(),'chrome,resizable'
236                     );
237                     mframe.xulG = xulG; // This is the xulG from main.js, with auth, url, and window
238                 } catch(E) {
239                     alert(E);
240                 }
241             }
242
243                         g.data.init();
244         
245                         g.data.init_observer_functions();
246
247                 }
248         ]]>
249         </script>
250
251         <groupbox id="data_groupbox" flex="1" class="my_overflow"> 
252                 <caption id="caption" label="&staff.main.data.loading;"/> 
253                 <description id="data_progress"/>
254                 <iframe id="iframe" />
255         </groupbox>
256
257 </window>
258