2 <!-- Application: Evergreen Staff Client -->
3 <!-- Screen: Example Template for remote xul -->
5 <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
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"?>
11 <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
13 <!DOCTYPE window PUBLIC "" ""[
14 <!--#include virtual="/opac/locale/en-US/lang.dtd"-->
17 <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
19 <?xul-overlay href="/xul/server/OpenILS/util_overlay.xul"?>
21 <window id="example_template_win"
22 onload="try { my_init(); font_helper(); } catch(E) { alert(E); }"
23 xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
25 <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
27 <script type="text/javascript">
28 var myPackageDir = 'open_ils_staff_client'; var IAMXUL = true; var g = {};
30 <scripts id="openils_util_scripts"/>
32 <script type="text/javascript" src="/xul/server/main/JSAN.js"/>
36 function $(id) { return document.getElementById(id); }
40 netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
41 if (typeof JSAN == 'undefined') { throw( "The JSAN library object is missing."); }
42 JSAN.errorLevel = "die"; // none, warn, or die
43 JSAN.addRepository('/xul/server/');
44 JSAN.use('util.error'); g.error = new util.error();
45 g.error.sdump('D_TRACE','my_init() for example_template.xul');
47 if (typeof window.xulG == 'object' && typeof window.xulG.set_tab_name == 'function') {
48 try { window.xulG.set_tab_name('MARC Template'); } catch(E) { alert(E); }
51 JSAN.use('util.network'); g.network = new util.network();
52 JSAN.use('util.widgets');
53 JSAN.use('util.functional');
55 var templates = g.network.simple_request('MARC_XML_TEMPLATE_LIST',[]);
56 if (typeof templates.ilsevent != 'undefined') throw(templates);
57 var ml = util.widgets.make_menulist(
58 util.functional.map_list(
61 return [ el /* The menu entry label */, el /* The menu entry value */ ];
65 $('menu_placeholder').appendChild(ml);
67 $('load').addEventListener(
74 template_name = $('menu_placeholder').firstChild.value;
75 var marc = g.network.simple_request(
76 'MARC_XML_TEMPLATE_RETRIEVE',
79 if (typeof marc.ilsevent != 'undefined') throw(marc);
81 var url = urls.XUL_MARC_EDIT;
83 'record' : { 'marc' : marc },
85 'label' : 'Create Record',
86 'func' : function(new_marcxml) {
88 var robj = g.network.simple_request(
89 'MARC_XML_RECORD_IMPORT',
90 [ ses(), new_marcxml, 'System Local', 1 ]
92 if (typeof robj.ilsevent != 'undefined') throw(robj);
93 alert('Record created.');
95 /* Replace tab with OPAC-view of record */
97 var opac_url = xulG.url_prefix( urls.opac_rdetail ) + '?r=' + robj.id();
98 var content_params = {
100 'authtime' : ses('authtime'),
101 'opac_url' : opac_url,
104 xulG.url_prefix(urls.XUL_OPAC_WRAPPER),
105 {'tab_name':'Retrieving title...'},
110 g.error.standard_unexpected_error_alert(
111 'Error creating MARC record.', E
117 $('marc_editor').setAttribute('src',url);
118 netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
119 get_contentWindow($('marc_editor')).xulG = params;
121 /* hide template widgets */
122 $('actions').hidden = true;
124 window.xulG.set_tab_name(template_name);
127 g.error.standard_unexpected_error_alert(
128 'Error loading MARC template: ' + template_name,
138 g.error.standard_unexpected_error_alert('cat/marc_new.xul',E);
147 <hbox id="menu_placeholder" />
148 <button id="load" label="Load" accesskey="L"/>
150 <iframe id="marc_editor" flex="1"/>