]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/xul/staff_client/chrome/content/evergreen/legacy/_browse.xul
more mapping for legacy cat interfaces
[Evergreen.git] / Open-ILS / xul / staff_client / chrome / content / evergreen / legacy / _browse.xul
1 <?xml version="1.0"?>
2 <!-- Application: Evergreen Staff Client -->
3 <!-- Screen: Cataloger's Search Result Screen -->
4
5 <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
6 <!-- PRESENTATION -->
7 <?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
8 <?xml-stylesheet href="chrome://evergreen/skin/evergreen.css" type="text/css"?>
9
10 <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
11 <!-- LOCALIZATION -->
12 <!DOCTYPE window SYSTEM "chrome://evergreen/locale/lang.dtd">
13
14 <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
15 <!-- OVERLAYS -->
16 <?xul-overlay href="chrome://evergreen/content/OpenILS/util_overlay.xul"?>
17 <?xul-overlay href="chrome://evergreen/content/legacy/browse_list_overlay.xul"?>
18
19 <window id="browse_list_win"
20         orient="vertical" style="overflow: scroll" 
21         onload="try { my_pre_init(); } catch(E) { alert(E); }"
22         xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
23
24         <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
25         <!-- BEHAVIOR -->
26         <script type="text/javascript">var myPackageDir = 'evergreen'; var IAMXUL = true; var g = {};</script>
27         <scripts id="openils_util_scripts"/>
28         <script type="text/javascript" src="chrome://evergreen/content/main/JSAN.js"/>
29         <script type="text/javascript">
30         <![CDATA[
31
32                 var parentWindow = {};
33                 var params = {};
34                 var mw = {};
35                 var find_this_id;
36
37                 var org_shortname2id = {};
38                 var my_treerow;
39                 var browse_meter_per = 0;
40                 var orgs_with_copies = [];
41                 var orgs_with_copies_hash = {};
42
43                 function my_pre_init() {
44                         try {
45                                 netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
46                                 if (typeof JSAN == 'undefined') { throw( "The JSAN library object is missing."); }
47                                 JSAN.errorLevel = "die"; // none, warn, or die
48                                 JSAN.addRepository('..');
49                                 JSAN.use('util.error'); g.error = new util.error();
50                                 g.error.sdump('D_TRACE','my_pre_init() for legacy/_browse.xul');
51
52                                 mw.G = {};
53                                 mw.G.main_test_variable = 'Hello World';
54                                 g.cgi = new CGI();
55                                 mw.G.auth_ses = [ g.cgi.param('session') ];
56                                 mw.sdump = function(a,b) { g.error.sdump(a,b); }
57
58                                 find_this_id = g.cgi.param('docid');
59
60                                 JSAN.use('util.network');
61                                 g.network = new util.network();
62
63                                 JSAN.use('OpenILS.data');
64                                 g.data = new OpenILS.data(); g.data.init({'via':'stash'});
65                                 mw.G.my_orgs = g.data.list.my_aou;
66                                 mw.G.my_orgs_hash = g.data.hash.my_aou;
67                                 mw.G.org_tree = g.data.tree.aou;
68                                 mw.G.user_ou = g.data.list.au[0];
69                                 mw.G.aout_list = g.data.list.aout;
70                                 mw.G.aout_hash = g.data.hash.aout;
71                                 mw.G.ccs_list = g.data.list.ccs;
72                                 mw.G.ccs_hash = g.data.hash.ccs;
73
74                                 my_init();
75         
76                         } catch(E) {
77                                 var err_msg = "!! This software has encountered an error.  Please tell your friendly " +
78                                         "system administrator or software developer the following:\nlegacy/_browse.xul\n" + E + '\n';
79                                 try { g.error.sdump('D_ERROR',err_msg); } catch(E) { dump(err_msg); }
80                                 alert(err_msg);
81                         }
82                 }
83
84                 function timer_init() {
85                         return '';
86                 }
87
88                 function timer_elapsed() {
89                         return '';
90                 }
91
92                 function handle_error(err) {
93                         try { alert(js2JSON(err)); } catch(E) { alert(err); }
94                 }
95
96                 function user_request(a,b,c,d) {
97                         return [ g.network.request(a,b,c,d) ];
98                 }
99
100                 function user_async_request(a,b,c,d) {
101                         return [ g.network.request(a,b,c,d) ];
102                 }
103
104                 var counter = {};
105
106                 function counter_init(id) {
107                         counter[id] = 0;
108                 }
109
110                 function counter_incr(id) {
111                         if (! counter[id]) { counter_init(id); }
112                         return ++counter[id];
113                 }
114
115                 function counter_peek(id) {
116                         if (! counter[id]) { return 0; }
117                         return counter[id];
118                 }
119
120                 function disable_widgets() {
121                         var d = document; var idx = 0;
122                         if (arguments[0].nodeName == '#document') {
123                                 idx = 1; d = arguments[0];
124                         }
125                         for (var i = idx; i < arguments.length; i++) {
126                                 if (typeof(arguments[i]) == 'object') {
127                                         arguments[i].disabled = true;
128                                 } else {
129                                         var w = d.getElementById( arguments[i] );
130                                         if (w) { 
131                                                 w.disabled = true; 
132                                         }
133                                 }
134                         }
135                 }
136
137                 function enable_widgets() {
138                         var d = document; var idx = 0;
139                         if (arguments[0].nodeName == '#document') {
140                                 idx = 1; d = arguments[0];
141                         }
142                         for (var i = idx; i < arguments.length; i++) {
143                                 if (typeof(arguments[i]) == 'object') {
144                                         arguments[i].disabled = false;
145                                 } else {
146                                         var w = d.getElementById( arguments[i] );
147                                         if (w) { 
148                                                 w.disabled = false; 
149                                         }
150                                 }
151                         }
152                 }
153
154                 function find_ou(tree,id) {
155                         if (typeof(id)=='object') { id = id.id(); }
156                         if (tree.id()==id) {
157                                 return tree;
158                         }
159                         for (var i in tree.children()) {
160                                 var child = tree.children()[i];
161                                 ou = find_ou( child, id );
162                                 if (ou) { return ou; }
163                         }
164                         return null;
165                 }
166
167                 function yesno(value) {
168                         switch(value) {
169                                 case true: case 'true': case '1': case 'on':
170                                         return 'Yes';
171                                 default: 
172                                         return 'No';
173                         }
174                 }
175
176                 function empty_widget() {
177                         var d; var e;
178                         if (arguments.length == 1) {
179                                 e = arguments[0];
180                         } else {
181                                 d = arguments[0];
182                                 e = arguments[1];
183                                 if (typeof(e) != 'object') { e = d.getElementById(e); }
184                         }
185                         if (typeof(e) != 'object') { dump('Failed on empty_widget\n'); return null; }
186                         while (e.lastChild) { e.removeChild(e.lastChild); }
187                 }
188
189                 function get_list_from_tree_selection() {
190                         var d = document; var tree_w;
191                         if (arguments.length == 1) {
192                                 tree_w = arguments[0];
193                         } else {
194                                 d = arguments[0];
195                                 tree_w = arguments[1];
196                         }
197                         var hitlist;
198                         if (typeof(tree_w) != 'object') {
199                                 hitlist = d.getElementById(tree_w);
200                         } else {
201                                 hitlist = tree_w;
202                         }
203                         var list = [];
204                         var start = new Object();
205                         var end = new Object();
206                         var numRanges = hitlist.view.selection.getRangeCount();
207                         for (var t=0; t<numRanges; t++){
208                                 hitlist.view.selection.getRangeAt(t,start,end);
209                                 for (var v=start.value; v<=end.value; v++){
210                                         var i = hitlist.contentView.getItemAtIndex(v);
211                                         //sdump('D_WIDGETS',i.tagName + '\n');
212                                         list.push( i );
213                                 }
214                         }
215                         return list;
216                 }
217
218                 function filter_list(list,f) {
219                         var new_list = [];
220                         for (var i in list) {
221                                 var t = f( list[i] );
222                                 if (t) new_list.push( list[i] );
223                         }
224                         return new_list;
225                 }
226
227                 function mapChrome(chrome) {
228                         switch(chrome) {
229                                 case 'chrome://evergreen/content/cat/volume_copy_add_wizard.xul':
230                                         return 'chrome://evergreen/content/legacy/_volume_copy_add_wizard.xul'; break;
231                                 case 'chrome://evergreen/content/cat/copy_add_wizard.xul':
232                                         return 'chrome://evergreen/content/legacy/_copy_add_wizard.xul'; break;
233                                 case 'chrome://evergreen/content/cat/volume_edit_wizard.xul':
234                                         return 'chrome://evergreen/content/legacy/_volume_edit_wizard.xul':
235                         }
236                         return '';
237                 }
238
239                 parentWindow.new_tab = function() { };
240
241                 parentWindow.replace_tab = function(a,b,c) {
242                         if (window.xulG && typeof window.xulG.new_tab == 'function') {
243                                 try {
244                                         var f = window.xulG.new_tab( mapChrome(c), { 'tab_name' : b }, {} );
245                                         return f.contentWindow;
246                                 } catch(E) {
247                                         alert(E);
248                                 }
249                         }
250                 }
251
252                 mw.new_window = function(a,b,c) {
253                         JSAN.use('util.window); var win = new util.window();
254                         return util.window.open( mapChrome(a), b, c );
255                 }
256         ]]>
257         </script>
258
259         <!-- The logic for this app -->
260         <Evergreen id="browse_list_js" />
261
262         <!-- XUL'ified abstraction for logic to attach to widgets -->
263         <commandset id="browse_list_cmds" />
264
265         <!-- Accelerator Keys (Accessor Keys are in DTD's) -->
266         <keyset id="browse_list_keys" />
267
268         <!-- Context menus -->
269         <popupset id="browse_list_popupset" />
270
271         <!-- Layout to be filled in by overlays and javascript -->
272         <groupbox flex="1">
273                 <caption label="Copy Browser"/>
274                 <vbox id="browse_list_vbox" class="test_class"/>
275         </groupbox>
276
277 </window>
278