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}));
7 w = spawn_interface(d,'replace_tab',place,chrome,label,passthru_params,clone); break;
10 w = mw.replace_tab(d,place,label,chrome); break;
13 w = new_window( chrome, { 'window_name' : label } ); break;
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);
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);
36 var frame = get_widget( d, place );
38 frame.contentWindow.document = mw.G.test_win.document.cloneNode(true);
40 frame.setAttribute('src',chrome);
42 w = frame.contentWindow;
45 w.params = passthru_params;
47 if (placement == 'new_tab' || placement == 'replace_tab') {
50 if (typeof app_shell != 'undefined') w.app_shell = app_shell;
55 /* developer utilities */
57 function spawn_javascript_console(d,placement,place,passthru_params,clone) {
58 var chrome = 'chrome://global/content/console.xul';
59 return spawn_interface(d,placement,place,chrome,getString('javascript_console_label'),passthru_params,clone);
62 function spawn_xuleditor(d,placement,place,passthru_params,clone) {
63 var chrome = 'chrome://evergreen/content/util/xuledit.xul';
64 return spawn_interface(d,placement,place,chrome,getString('xuleditor_label'),passthru_params,clone);
67 function spawn_javascript_shell(d,placement,place,passthru_params,clone) {
68 var chrome = 'chrome://evergreen/content/util/shell.html';
69 return spawn_interface(d,placement,place,chrome,getString('javascript_shell_label'),passthru_params,clone);
72 function spawn_filter_console(d,placement,place,passthru_params,clone) {
73 var chrome = 'chrome://evergreen/content/util/filter_console.xul';
74 return spawn_interface(d,placement,place,chrome,getString('filter_console_label'),passthru_params,clone);
77 function spawn_fieldmapper(d,placement,place,passthru_params,clone) {
78 var chrome = 'chrome://evergreen/content/util/fm_view.xul';
79 return spawn_interface(d,placement,place,chrome,getString('fieldmapper_label'),passthru_params,clone);
84 function spawn_main() {
85 sdump('D_SPAWN','trying to spawn app_shell\n');
87 var w = new_window('chrome://evergreen/content/main/app_shell.xul', {});
88 if (!w) { throw('window ref == null'); }
93 alert('Hrmm. ' + pretty_print( js2JSON(E) ) );
96 dump(js2JSON(E)+'\n');
100 function spawn_checkin(d,placement,place,passthru_params,clone) {
101 var chrome = 'chrome://evergreen/content/circ/checkin.xul';
102 return spawn_interface(d,placement,place,chrome,getString('checkin_interface_label'),passthru_params,clone);
105 function spawn_record_details(d,placement,place,passthru_params,clone) {
106 var chrome = 'chrome://evergreen/content/cat/details.xul';
107 return spawn_interface(d,placement,place,chrome,'DETAILS',passthru_params,clone);
110 function spawn_hold_capture(d,placement,place,passthru_params,clone) {
111 var chrome = 'chrome://evergreen/content/circ/hold_capture.xul';
112 return spawn_interface(d,placement,place,chrome,getString('hold_capture_interface_label'),passthru_params,clone);
115 function spawn_opac_navigator(d,placement,place,passthru_params,clone) {
116 var chrome = 'chrome://evergreen/content/opac/opac.xul';
117 //var chrome = 'http://google.com/';
118 return spawn_interface(d,placement,place,chrome,getString('opac_navigator_interface_label'),passthru_params,clone);
121 function spawn_patron_barcode_entry(d,placement,place,passthru_params,clone) {
122 var chrome = 'chrome://evergreen/content/patron/patron_barcode_entry.xul';
123 return spawn_interface(d,placement,place,chrome,getString('patron_barcode_entry_interface_label'),passthru_params,clone);
126 function spawn_patron_display(d,placement,place,passthru_params,clone) {
127 var chrome = 'chrome://evergreen/content/patron/patron_display.xul';
128 return spawn_interface(d,placement,place,chrome,getString('patron_display_interface_label'),passthru_params,clone);
131 function spawn_patron_search(d,placement,place,passthru_params,clone) {
132 var chrome = 'chrome://evergreen/content/patron/patron_search.xul';
133 return spawn_interface(d,placement,place,chrome,getString('patron_search_interface_label'),passthru_params,clone);
136 function spawn_receipt_template_editor(d,placement,place,passthru_params,clone) {
137 var chrome = 'chrome://evergreen/content/circ/receipt_template_editor.xul';
138 return spawn_interface(d,placement,place,chrome,getString('receipt_template_editor_interface_label'),passthru_params,clone);
141 function spawn_spine_label_wizard(d,placement,place,passthru_params,clone) {
142 var chrome = 'chrome://evergreen/content/cat/spine_label_wizard.xul';
143 return spawn_interface(d,placement,place,chrome,getString('spine_label_wizard'),passthru_params,clone);
146 /* legacy code, may be removed or refactored */
148 function spawn_batch_copy_editor(d,placement,place,passthru_params,clone) {
149 var chrome = 'chrome://evergreen/content/cat/copy_edit.xul';
150 return spawn_interface(d,placement,place,chrome,getString('copies_editor_interface_label'),passthru_params,clone);
153 function spawn_patron_bill_wizard(d,placement,place,passthru_params,clone) {
154 var chrome = 'chrome://evergreen/content/patron/patron_bill_wizard.xul';
155 return spawn_interface(d,placement,place,chrome,getString('bills_wizard_label'),passthru_params,clone);
158 function spawn_copy_browser(d,placement,place,passthru_params,clone) {
159 var chrome = 'chrome://evergreen/content/cat/browse_list.xul';
160 return spawn_interface(d,placement,place,chrome,getString('copy_browser_interface_label'),passthru_params,clone);
163 function spawn_brief_view(d,placement,place,passthru_params,clone) {
164 var chrome = 'chrome://evergreen/content/cat/brief.xul';
165 return spawn_interface(d,placement,place,chrome,'BRIEF VIEW',passthru_params,clone);
168 function spawn_marc_editor(d,placement,place,passthru_params,clone) {
169 var chrome = 'chrome://evergreen/content/cat/marc.xul';
170 return spawn_interface(d,placement,place,chrome,getString('marc_editor_interface_label'),passthru_params,clone);
173 function spawn_oclc_import(d,placement,place,passthru_params,clone) {
174 sdump('D_SPAWN','trying to spawn_oclc_import('+js2JSON(passthru_params)+')\n');
175 // sample TCN: 03715963
177 if (passthru_params.tcn.length < 6) {
178 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. :)");
180 var result = user_request(
182 'open-ils.search.z3950.import',
183 [ mw.G.auth_ses[0], passthru_params.tcn ]
186 if (typeof result == 'object') {
187 if (result.records && result.records.length > 0) {
188 passthru_params['import_tree'] = result.records[0];
190 throw('no records. result = ' + js2JSON(result) + '\n');
193 throw('result: ' + js2JSON(result) + '\n');
195 spawn_marc_editor(d,placement,place,passthru_params);
202 function spawn_new_marc_creation(d,placement,place,passthru_params,clone) {
203 sdump('D_SPAWN','trying to spawn_new_marc_creation('+js2JSON(passthru_params)+')\n');
204 if (! passthru_params.type) passthru_params.type = 'book';
206 var record = user_request(
208 'open-ils.cat.biblio.marc_template.retrieve',
209 [ passthru_params.type ]
211 passthru_params['import_tree'] = record;
212 passthru_params['new_tree'] = true;
213 spawn_marc_editor(d,placement,place,passthru_params);
219 function marc_view(app_shell,record_id) {
221 var html = user_request(
223 "open-ils.search.biblio.record.html",
226 html = html.replace( /<table/, '<div id="this_div"><input id="copy_btn" type="submit" value="Copy Browser" /><input id="marc_btn" type="submit" value="MARC Editor" /></div><table' );
228 var win = new_window("data:text/html," + html);
231 win.document.title = "View MARC";
233 win.document.getElementById('marc_btn').addEventListener(
237 app_shell, 'new_tab', 'main_tabbox', {
238 'find_this_id' : record_id
240 ).find_this_id = record_id;
244 win.document.getElementById('copy_btn').addEventListener(
248 app_shell, 'new_tab', 'main_tabbox', {
249 'find_this_id' : record_id
251 ).find_this_id = record_id;
262 function spawn_patron_edit(d,placement,place,passthru_params,clone) {
263 var chrome = 'chrome://evergreen/content/patron/patron_edit.xul';
264 return spawn_interface(d,placement,place,chrome,getString('patron_editor_interface_label'),passthru_params,clone);
267 function spawn_patron_register(d,placement,place,passthru_params,clone) {
268 var chrome = 'chrome://evergreen/content/patron/patron_new_legacy.xul';
269 return spawn_interface(d,placement,place,chrome,getString('patron_register_interface_label'),passthru_params,clone);
272 function spawn_copy_stat_cat_edit(d,placement,place,passthru_params,clone) {
273 var chrome = 'chrome://evergreen/content/stat_cat/copy_stat_cat_editor.xul';
274 return spawn_interface(d,placement,place,chrome,getString('copy_stat_cat_editor_interface'),passthru_params,clone);
277 function spawn_patron_stat_cat_edit(d,placement,place,passthru_params,clone) {
278 var chrome = 'chrome://evergreen/content/stat_cat/patron_stat_cat_editor.xul';
279 return spawn_interface(d,placement,place,chrome,getString('patron_stat_cat_editor_interface'),passthru_params,clone);
282 function spawn_survey_admin_wizard(d,placement,place,passthru_params,clone) {
283 var chrome = 'chrome://evergreen/content/survey/survey_wizard.xul';
284 return spawn_interface(d,placement,place,chrome,getString('survey_admin_interface_label'),passthru_params,clone);
287 function spawn_z3950_import(d,placement,place,passthru_params,clone) {
288 var chrome = 'chrome://evergreen/content/z39_50/z39_50.xul';
289 return spawn_interface(d,placement,place,chrome,getString('z39_50_import_interface_label'),passthru_params,clone);