]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/xul/staff_client/server/cat/marc_view.xul
Improve Firefox/XULRunner Support
[Evergreen.git] / Open-ILS / xul / staff_client / server / cat / marc_view.xul
1 <?xml version="1.0"?>
2 <!-- Application: Evergreen Staff Client -->
3 <!-- Screen: MARC View -->
4 <!--
5 vim:noet:sw=4:ts=4:
6 -->
7
8 <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
9 <!-- STYLESHEETS -->
10 <?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
11 <?xml-stylesheet href="/xul/server/skin/global.css" type="text/css"?>
12
13 <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
14 <!-- LOCALIZATION -->
15 <!DOCTYPE window PUBLIC "" ""[
16     <!--#include virtual="/opac/locale/${locale}/lang.dtd"-->
17 ]>
18
19 <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
20 <!-- OVERLAYS -->
21 <?xul-overlay href="/xul/server/OpenILS/util_overlay.xul"?>
22
23 <window id="cat_marc_view_win" 
24     onload="try { my_init(); font_helper(); persist_helper(); } catch(E) { alert(E); }"
25     xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
26
27     <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
28     <!-- BEHAVIOR -->
29         <script type="text/javascript">
30         var myPackageDir = 'open_ils_staff_client'; var IAMXUL = true; var g = {};
31     </script>
32         <scripts id="openils_util_scripts"/>
33
34     <script type="text/javascript" src="/xul/server/main/JSAN.js"/>
35     <script>
36     <![CDATA[
37         function my_init() {
38             try {
39                 if (typeof JSAN == 'undefined') { 
40                     throw( document.getElementById('commonStrings').getString('common.jsan.missing') );
41                 }
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 cat/marc_view.xul');
46
47                 var docid = xul_param('docid');
48                 var noprint = xul_param('noprint');
49
50                 JSAN.use('OpenILS.data'); var data = new OpenILS.data(); data.init({'via':'stash'});
51                 var key = location.pathname + location.search + location.hash;
52                 if (!docid && typeof data.modal_xulG_stack != 'undefined' && typeof data.modal_xulG_stack[key] != 'undefined') {
53                     var modal_xulG = data.modal_xulG_stack[key][ data.modal_xulG_stack[key].length - 1 ];
54                     if (typeof modal_xulG == 'object') {
55                         docid = modal_xulG.docid;
56                         if (modal_xulG.noprint) noprint = modal_xulG.noprint;
57                     }
58                 }
59
60                 JSAN.use('util.network'); g.network = new util.network();
61
62                 if (docid > -1) {
63                     g.network.request(
64                         api.MARC_HTML_RETRIEVE.app,
65                         api.MARC_HTML_RETRIEVE.method,
66                         [ docid ],
67                         function(req) {
68                             var marc_html = req.getResultObject();
69                             if (noprint||typeof xulG == 'undefined') marc_html = marc_html.replace(/<button.+?button>/, '');
70                             document.getElementById('marc_frame').setAttribute('src', 'data:text/html,' + encodeURIComponent(marc_html));
71                         }
72                     );
73                 } else {
74                     var marc_html = '<h1>' + document.getElementById('catStrings').getString('bib.no_marc') + '</h1>';
75                     document.getElementById('marc_frame').setAttribute('src', 'data:text/html,' + marc_html);
76                 }
77
78             } catch(E) {
79                 var err_msg = document.getElementById("commonStrings").getFormattedString('common.exception', ['cat/marc_view.xul', E]);
80                 try { g.error.sdump('D_ERROR',err_msg); } catch(E) { dump(err_msg); }
81                 alert(err_msg);
82             }
83         }
84
85     ]]>
86     </script>
87
88     <messagecatalog id="catStrings" src="/xul/server/locale/<!--#echo var='locale' -->/cat.properties"/>
89
90     <groupbox flex="1">
91         <caption label="&staff.cat.marc_view.title;"/>
92         <iframe id="marc_frame" flex="1" oils_force_external="true"/>
93     </groupbox>
94
95 </window>
96