]> git.evergreen-ils.org Git - Evergreen.git/blob - Evergreen/staff_client/chrome/content/evergreen/util/spawn_win.js
window title in xulrunner
[Evergreen.git] / Evergreen / staff_client / chrome / content / evergreen / util / spawn_win.js
1 function spawn_interface(d,placement,place,chrome,label,passthru_params,clone) {
2         sdump('D_SPAWN',arg_dump(arguments,{0:true,1:true,2:true,3:true,4:true,5:true}));
3         var w;
4         switch(placement) {
5                 case 'new_tab' : 
6                         mw.new_tab(d,place); 
7                         w = spawn_interface(d,'replace_tab',place,chrome,label,passthru_params,clone); break;
8
9                 case 'replace_tab' : 
10                         w = mw.replace_tab(d,place,label,chrome); break;
11
12                 case 'new_window' : 
13                         w = new_window( chrome, { 'window_name' : label } ); break;
14
15
16                 case 'replace_iframe' :
17                 case 'replace_browser' :
18                 case 'replace_editor' :
19                         var el = placement.slice(8);
20                         var container = get_widget( d, place );
21                         empty_widget( d, container );
22                         w = spawn_interface(d,'new_' + el,place,chrome,label,passthru_params,clone); 
23                         break;
24
25                 case 'new_iframe' :
26                 case 'new_browser' :
27                 case 'new_editor' :
28                         var el = placement.slice(4);
29                         var frame = d.createElement( el );
30                         frame.setAttribute('flex','1');
31                         get_widget( d, place ).appendChild( frame );
32                         w = spawn_interface(d,'set_frame',frame,chrome,label,passthru_params,clone); 
33                         break;
34
35                 case 'set_frame' :
36                         var frame = get_widget( d, place );
37                         if (clone) {
38                                 frame.contentWindow.document = mw.G.test_win.document.cloneNode(true);
39                         } else {
40                                 frame.setAttribute('src',chrome); 
41                         }
42                         w = frame.contentWindow;
43                         break;
44         }
45         w.params = passthru_params;
46         w.mw = mw;
47         if (placement == 'new_tab' || placement == 'replace_tab') w.app_shell = d;
48         return w;
49 }
50
51 /* developer utilities */
52
53 function spawn_javascript_console(d,placement,place,passthru_params,clone) {
54         var chrome = 'chrome://global/content/console.xul';
55         return spawn_interface(d,placement,place,chrome,getString('javascript_console_label'),passthru_params,clone);
56 }
57
58 function spawn_xuleditor(d,placement,place,passthru_params,clone) {
59         var chrome = 'chrome://evergreen/content/util/xuledit.xul';
60         return spawn_interface(d,placement,place,chrome,getString('xuleditor_label'),passthru_params,clone);
61 }
62
63 function spawn_javascript_shell(d,placement,place,passthru_params,clone) {
64         var chrome = 'chrome://evergreen/content/util/shell.html';
65         return spawn_interface(d,placement,place,chrome,getString('javascript_shell_label'),passthru_params,clone);
66 }
67
68 function spawn_filter_console(d,placement,place,passthru_params,clone) {
69         var chrome = 'chrome://evergreen/content/util/filter_console.xul';
70         return spawn_interface(d,placement,place,chrome,getString('filter_console_label'),passthru_params,clone);
71 }
72
73 function spawn_fieldmapper(d,placement,place,passthru_params,clone) {
74         var chrome = 'chrome://evergreen/content/util/fm_view.xul';
75         return spawn_interface(d,placement,place,chrome,getString('fieldmapper_label'),passthru_params,clone);
76 }
77
78 /* current */
79
80 function spawn_main() {
81         sdump('D_SPAWN','trying to spawn app_shell\n');
82         try {
83                 var w = new_window('chrome://evergreen/content/main/app_shell.xul', {});
84                 if (!w) { throw('window ref == null'); }
85                 try {
86                         w.params = {};
87                 } catch(E) {
88                         alert('Hrmm. ' + pretty_print( js2JSON(E) ) );
89                 }
90         } catch(E) {
91                 dump(js2JSON(E)+'\n');
92         }
93 }
94
95 function spawn_checkin(d,placement,place,passthru_params,clone) {
96         var chrome = 'chrome://evergreen/content/circ/checkin.xul';
97         return spawn_interface(d,placement,place,chrome,getString('checkin_interface_label'),passthru_params,clone);
98 }
99
100 function spawn_hold_capture(d,placement,place,passthru_params,clone) {
101         var chrome = 'chrome://evergreen/content/circ/hold_capture.xul';
102         return spawn_interface(d,placement,place,chrome,getString('hold_capture_interface_label'),passthru_params,clone);
103 }
104
105 function spawn_opac_navigator(d,placement,place,passthru_params,clone) {
106         var chrome = 'chrome://evergreen/content/opac/opac.xul';
107         //var chrome = 'http://google.com/';
108         return spawn_interface(d,placement,place,chrome,getString('opac_navigator_interface_label'),passthru_params,clone);
109 }
110
111 function spawn_patron_barcode_entry(d,placement,place,passthru_params,clone) {
112         var chrome = 'chrome://evergreen/content/patron/patron_barcode_entry.xul';
113         return spawn_interface(d,placement,place,chrome,getString('patron_barcode_entry_interface_label'),passthru_params,clone);
114 }
115
116 function spawn_patron_display(d,placement,place,passthru_params,clone) {
117         var chrome = 'chrome://evergreen/content/patron/patron_display.xul';
118         return spawn_interface(d,placement,place,chrome,getString('patron_display_interface_label'),passthru_params,clone);
119 }
120
121 function spawn_patron_search(d,placement,place,passthru_params,clone) {
122         var chrome = 'chrome://evergreen/content/patron/patron_search.xul';
123         return spawn_interface(d,placement,place,chrome,getString('patron_search_interface_label'),passthru_params,clone);
124 }
125
126 function spawn_receipt_template_editor(d,placement,place,passthru_params,clone) {
127         var chrome = 'chrome://evergreen/content/circ/receipt_template_editor.xul';
128         return spawn_interface(d,placement,place,chrome,getString('receipt_template_editor_interface_label'),passthru_params,clone);
129 }
130
131 /* legacy code, may be removed or refactored */
132
133 function spawn_batch_copy_editor(d,placement,place,passthru_params,clone) {
134         var chrome = 'chrome://evergreen/content/cat/copy_edit.xul';
135         return spawn_interface(d,placement,place,chrome,getString('copies_editor_interface_label'),passthru_params,clone);
136 }
137
138 function spawn_bill_pay(d,placement,place,passthru_params,clone) {
139         var chrome = 'chrome://evergreen/content/bill/bill.xul';
140         return spawn_interface(d,placement,place,chrome,getString('bills_interface_label'),passthru_params,clone);
141 }
142
143 function spawn_copy_browser(d,placement,place,passthru_params,clone) {
144         var chrome = 'chrome://evergreen/content/cat/browse_list.xul';
145         return spawn_interface(d,placement,place,chrome,getString('copy_browser_interface_label'),passthru_params,clone);
146 }
147
148 function spawn_marc_editor(d,placement,place,passthru_params,clone) {
149         var chrome = 'chrome://evergreen/content/cat/marc.xul';
150         return spawn_interface(d,placement,place,chrome,getString('marc_editor_interface_label'),passthru_params,clone);
151 }
152
153 function spawn_oclc_import(d,placement,place,passthru_params,clone) {
154         sdump('D_SPAWN','trying to spawn_oclc_import('+js2JSON(passthru_params)+')\n');
155         // sample TCN: 03715963 
156         try {
157                 if (passthru_params.tcn.length < 6) {
158                         throw("Too short.  At the moment, we're really doing a search rather than a retrieve, and it's a substring search at that.  We grab the result that matches exactly.  But sending a short query would just be mean. :)");
159                 }
160                 var result = user_request(
161                         'open-ils.search',
162                         'open-ils.search.z3950.import',
163                         [ mw.G.auth_ses[0], passthru_params.tcn ]
164                 )[0];
165                 if (result) {
166                         if (typeof result == 'object') {
167                                 if (result.records && result.records.length > 0) {      
168                                         passthru_params['import_tree'] = result.records[0];
169                                 } else {
170                                         throw('no records. result = ' + js2JSON(result) + '\n');
171                                 }
172                         } else {
173                                 throw('result: ' + js2JSON(result) + '\n');
174                         }
175                         spawn_marc_editor(d,placement,place,passthru_params);
176                 }
177         } catch(E) {
178                 mw.handle_error(E);
179         }
180 }
181
182 function spawn_patron_edit(d,placement,place,passthru_params,clone) {
183         var chrome = 'chrome://evergreen/content/patron/patron_edit.xul';
184         return spawn_interface(d,placement,place,chrome,getString('patron_editor_interface_label'),passthru_params,clone);
185 }
186
187 function spawn_patron_register(d,placement,place,passthru_params,clone) {
188         var chrome = 'chrome://evergreen/content/patron/patron_new_legacy.xul';
189         return spawn_interface(d,placement,place,chrome,getString('patron_register_interface_label'),passthru_params,clone);
190 }
191
192 function spawn_copy_stat_cat_edit(d,placement,place,passthru_params,clone) {
193         var chrome = 'chrome://evergreen/content/stat_cat/copy_stat_cat_editor.xul';
194         return spawn_interface(d,placement,place,chrome,getString('copy_stat_cat_editor_interface'),passthru_params,clone);
195 }
196
197 function spawn_patron_stat_cat_edit(d,placement,place,passthru_params,clone) {
198         var chrome = 'chrome://evergreen/content/stat_cat/patron_stat_cat_editor.xul';
199         return spawn_interface(d,placement,place,chrome,getString('patron_stat_cat_editor_interface'),passthru_params,clone);
200 }
201
202 function spawn_survey_admin_wizard(d,placement,place,passthru_params,clone) {
203         var chrome = 'chrome://evergreen/content/survey/survey_wizard.xul';
204         return spawn_interface(d,placement,place,chrome,getString('survey_admin_interface_label'),passthru_params,clone);
205 }
206
207 function spawn_z3950_import(d,placement,place,passthru_params,clone) {
208         var chrome = 'chrome://evergreen/content/z39_50/z39_50.xul';
209         return spawn_interface(d,placement,place,chrome,getString('z39_50_import_interface_label'),passthru_params,clone);
210 }
211
212