]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/xul/staff_client/server/cat/marcedit.xul
selecting the contents of a fixed field when clicking the label
[working/Evergreen.git] / Open-ILS / xul / staff_client / server / cat / marcedit.xul
1 <?xml version="1.0"?>
2 <?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
3 <?xml-stylesheet href="marcedit.css" type="text/css"?>
4
5 <window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" xmlns:xhtml="http://www.w3.org/1999/xhtml" onload="loadRecord(xml_record);">
6
7 <script src="marcedit.js" type="application/x-javascript; e4x=1"/>
8 <script src="/opac/common/js/CGI.js" type="application/x-javascript; e4x=1"/>
9
10 <groupbox flex="0">
11         <caption label="Options"/>
12         <hbox flex="1">
13                 <checkbox persist="checked" accesskey='s' label="Stack subfields" onclick="stackSubfields(this);" checked="false" id="stackSubfields"/>
14                 <button id="save-button"/>
15                 <button label="Help" onclick="alert('Add Row: CTRL+Enter\nAdd Subfield: CTRL+D\nRemove Row: CTRL+Del\nRemove Subfield: SHIFT+Del');"/>
16         </hbox>
17 </groupbox>
18
19 <groupbox flex="1">
20         <caption label="MARC Record"/>
21         <vbox flex="1" style="overflow: auto;">
22                 <groupbox flex="0">
23                         <caption>
24                                 <label value="Fixed Fields -- Record type: " ondblclick="toggleFFE();"/>
25                                 <label id="recordTypeLabel" context="recordTypeMenu"/>
26                         </caption>
27                         <vbox flex="1">
28                                 <grid flex="0" id="leaderGrid" type="BKS" hidden="true" persist="hidden">
29                                         <columns>
30                                                 <column flex="1"/>
31                                                 <column flex="1"/>
32                                                 <column flex="1"/>
33                                                 <column flex="1"/>
34                                                 <column flex="1"/>
35                                                 <column flex="1"/>
36                                                 <column flex="1"/>
37                                                 <column flex="1"/>
38                                                 <column flex="1"/>
39                                                 <column flex="1"/>
40                                                 <column flex="1"/>
41                                                 <column flex="1"/>
42                                         </columns>
43                                         <rows>
44                                                 <row>
45                                                         <label name="Type" set="BKS SER VIS MIX MAP SCO REC COM" value="Type" onclick="this.nextSibling.focus(); this.nextSibling.select();"/>
46                                                         <textbox class="plain" name="Type" maxlength="1" size="1" oninput="updateFixedFields(this);"/>
47                                                         <label name="ELvl" set="BKS SER VIS MIX MAP SCO REC COM" value="ELvl" onclick="this.nextSibling.focus(); this.nextSibling.select();"/>
48                                                         <textbox class="plain" name="ELvl" maxlength="1" size="1" oninput="updateFixedFields(this);"/>
49                                                         <label name="Srce" set="BKS SER VIS MIX MAP SCO REC COM" value="Srce" onclick="this.nextSibling.focus(); this.nextSibling.select();"/>
50                                                         <textbox class="plain" name="Srce" maxlength="1" size="1" oninput="updateFixedFields(this);"/>
51                                                         <label name="Audn" set="BKS VIS SCO REC COM" value="Audn" onclick="this.nextSibling.focus(); this.nextSibling.select();"/>
52                                                         <textbox class="plain" name="Audn" maxlength="1" size="1" oninput="updateFixedFields(this);"/>
53                                                         <label name="Ctrl" set="BKS SER VIS MIX MAP SCO REC COM" value="Ctrl" onclick="this.nextSibling.focus(); this.nextSibling.select();"/>
54                                                         <textbox class="plain" name="Ctrl" maxlength="1" size="1" oninput="updateFixedFields(this);"/>
55                                                         <label name="Lang" set="BKS SER VIS MIX MAP SCO REC COM" value="Lang" onclick="this.nextSibling.focus(); this.nextSibling.select();"/>
56                                                         <textbox class="plain" name="Lang" maxlength="3" size="3" oninput="updateFixedFields(this);"/>
57                                                 </row>
58                                                 <row>
59                                                         <label name="BLvl" set="BKS SER VIS MIX MAP SCO REC COM" value="BLvl" onclick="this.nextSibling.focus(); this.nextSibling.select();"/>
60                                                         <textbox class="plain" name="BLvl" maxlength="1" size="1" oninput="updateFixedFields(this);"/>
61                                                         <label name="Form" set="BKS SER VIS MIX MAP SCO REC" value="Form" onclick="this.nextSibling.focus(); this.nextSibling.select();"/>
62                                                         <textbox class="plain" name="Form" maxlength="1" size="1" oninput="updateFixedFields(this);"/>
63                                                         <label name="Conf" set="BKS SER" value="Conf" onclick="this.nextSibling.focus(); this.nextSibling.select();"/>
64                                                         <textbox class="plain" name="Conf" maxlength="4" size="4" oninput="updateFixedFields(this);"/>
65                                                         <label name="Biog" set="BKS" value="Biog" onclick="this.nextSibling.focus(); this.nextSibling.select();"/>
66                                                         <textbox class="plain" name="Biog" maxlength="1" size="1" oninput="updateFixedFields(this);"/>
67                                                         <label name="MRec" set="BKS SER VIS MIX MAP SCO REC COM" value="MRec" onclick="this.nextSibling.focus(); this.nextSibling.select();"/>
68                                                         <textbox class="plain" name="MRec" maxlength="1" size="1" oninput="updateFixedFields(this);"/>
69                                                         <label name="Ctry" set="BKS SER VIS MIX MAP SCO REC COM" value="Ctry" onclick="this.nextSibling.focus(); this.nextSibling.select();"/>
70                                                         <textbox class="plain" name="Ctry" maxlength="1" size="1" oninput="updateFixedFields(this);"/>
71                                                 </row>
72                                                 <row>
73                                                         <label name="S/L" set="SER" value="S/L" onclick="this.nextSibling.focus(); this.nextSibling.select();"/>
74                                                         <textbox class="plain" name="S/L" maxlength="1" size="1" oninput="updateFixedFields(this);"/>
75                                                         <label name="Cont" set="BKS SER" value="Cont" onclick="this.nextSibling.focus(); this.nextSibling.select();"/>
76                                                         <textbox class="plain" name="Cont" maxlength="1" size="1" oninput="updateFixedFields(this);"/>
77                                                         <label name="GPub" set="BKS SER VIS MAP COM" value="GPub" onclick="this.nextSibling.focus(); this.nextSibling.select();"/>
78                                                         <textbox class="plain" name="GPub" maxlength="1" size="1" oninput="updateFixedFields(this);"/>
79                                                         <label name="LitF" set="BKS" value="LitF" onclick="this.nextSibling.focus(); this.nextSibling.select();"/>
80                                                         <textbox class="plain" name="LitF" maxlength="1" size="1" oninput="updateFixedFields(this);"/>
81                                                         <label name="Indx" set="BKS MAP" value="Indx" onclick="this.nextSibling.focus(); this.nextSibling.select();"/>
82                                                         <textbox class="plain" name="Indx" maxlength="1" size="1" oninput="updateFixedFields(this);"/>
83                                                         <label name="Alph" set="SER" value="Alph" onclick="this.nextSibling.focus(); this.nextSibling.select();"/>
84                                                         <textbox class="plain" name="Alph" maxlength="1" size="1" oninput="updateFixedFields(this);"/>
85                                                 </row>
86                                                 <row>
87                                                         <label name="Desc" set="BKS SER VIS MIX MAP SCO REC COM" value="Desc" onclick="this.nextSibling.focus(); this.nextSibling.select();"/>
88                                                         <textbox class="plain" name="Desc" maxlength="1" size="1" oninput="updateFixedFields(this);"/>
89                                                         <label name="Ills" set="BKS" value="Ills" onclick="this.nextSibling.focus(); this.nextSibling.select();"/>
90                                                         <textbox class="plain" name="Ills" maxlength="4" size="4" oninput="updateFixedFields(this);"/>
91                                                         <label name="Fest" set="BKS" value="Fest" onclick="this.nextSibling.focus(); this.nextSibling.select();"/>
92                                                         <textbox class="plain" name="Fest" maxlength="1" size="1" oninput="updateFixedFields(this);"/>
93                                                         <label name="DtSt" set="BKS SER VIS MIX MAP SCO REC COM" value="DtSt" onclick="this.nextSibling.focus(); this.nextSibling.select();"/>
94                                                         <textbox class="plain" name="DtSt" maxlength="1" size="1" oninput="updateFixedFields(this);"/>
95                                                         <label name="Date1" set="BKS SER VIS MIX MAP SCO REC COM" value="Date1" onclick="this.nextSibling.focus(); this.nextSibling.select();"/>
96                                                         <textbox class="plain" name="Date1" maxlength="4" size="4" oninput="updateFixedFields(this);"/>
97                                                         <label name="Date2" set="BKS SER VIS MIX MAP SCO REC COM" value="Date2" onclick="this.nextSibling.focus(); this.nextSibling.select();"/>
98                                                         <textbox class="plain" name="Date2" maxlength="4" size="4" oninput="updateFixedFields(this);"/>
99                                                 </row>
100                                         </rows>
101                                 </grid>
102                         </vbox>
103                 </groupbox>
104
105                 <grid id="recGrid">
106                         <columns>
107                                 <column/>
108                                 <column/>
109                                 <column/>
110                                 <column flex="1"/>
111                         </columns>
112                         <rows/>
113                 </grid>
114         </vbox>
115 </groupbox>
116
117 <popupset>
118         <popup id="recordTypeMenu" position="after_start">
119                 <menuitem label="BKS" oncommand="changeFFEditor('BKS');"/>
120                 <menuitem label="SER" oncommand="changeFFEditor('SER');"/>
121                 <menuitem label="VIS" oncommand="changeFFEditor('VIS');"/>
122                 <menuitem label="MIX" oncommand="changeFFEditor('MIX');"/>
123                 <menuitem label="MAP" oncommand="changeFFEditor('MAP');"/>
124                 <menuitem label="SCO" oncommand="changeFFEditor('SCO');"/>
125                 <menuitem label="REC" oncommand="changeFFEditor('REC');"/>
126                 <menuitem label="COM" oncommand="changeFFEditor('COM');"/>
127         </popup>
128 </popupset>
129
130 <script type="application/x-javascript; e4x=1"><![CDATA[
131
132 // Fake xulG for standalone...
133 try {
134         xulG.record;
135 } catch (e) {
136         var xulG = {};
137         xulG.record = {};
138         xulG.save = {};
139
140         xulG.save.label = 'Save Record';
141         xulG.save.func = function (r) { alert(r); }
142
143         var cgi = new CGI();
144         var _rid = cgi.param('record');
145         if (_rid) {
146                 xulG.record.url = '/opac/extras/supercat/retrieve/marcxml/record/' + _rid;
147         }
148 }
149 // End faking part...
150
151
152
153 document.getElementById('save-button').setAttribute('label', xulG.save.label);
154 document.getElementById('save-button').setAttribute('onclick', 'xulG.save.func(xml_record.toXMLString())');
155
156 if (xulG.record.url) {
157         var req =  new XMLHttpRequest();
158         req.open('GET',xulG.record.url,false);
159         req.send(null);
160         xulG.record.marc = req.responseText
161 }
162
163 var xml_record = new XML( xulG.record.marc );
164
165 // Get the tooltip xml all async like
166 req =  new XMLHttpRequest();
167 req.open('GET','marcedit-tooltips.xml',true);
168 req.onreadystatechange = function () {
169         if (req.readyState == 4) {
170                 bib_data = new XML( req.responseText );
171                 genToolTips();
172         }
173 }
174 req.send(null);
175
176
177 ]]></script>
178
179 </window>
180
181
182