]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/xul/staff_client/server/patron/hold_cancel.js
remove XUL @persist from list column definitions
[working/Evergreen.git] / Open-ILS / xul / staff_client / server / patron / hold_cancel.js
1 var data; var error; 
2
3 function default_focus() { document.getElementById('note_tb').focus(); } // parent interfaces often call this
4
5 function hold_cancel_init() {
6     try {
7
8         commonStrings = document.getElementById('commonStrings');
9         patronStrings = document.getElementById('patronStrings');
10
11         if (typeof JSAN == 'undefined') {
12             throw(
13                 commonStrings.getString('common.jsan.missing')
14             );
15         }
16
17         JSAN.errorLevel = "die"; // none, warn, or die
18         JSAN.addRepository('..');
19
20         JSAN.use('OpenILS.data'); data = new OpenILS.data(); data.stash_retrieve();
21
22         JSAN.use('util.error'); error = new util.error();
23         JSAN.use('util.widgets');
24
25         build_cancel_reason_menu();
26
27         /* set widget behavior */
28         window.hold_cancel_event_listeners = new EventListenerList();
29         window.hold_cancel_event_listeners.add(document.getElementById('cancel_btn'), 
30             'command', function() { window.close(); }, false
31         );
32         window.hold_cancel_event_listeners.add(document.getElementById('apply_btn'), 
33             'command', 
34             function() {
35                 var note = document.getElementById('note_tb').value;
36                 xulG.cancel_reason = document.getElementById('ahrcc_menupopup').getAttribute('value');
37                 xulG.note = note;
38                 xulG.proceed = 1;
39                 window.close();
40             }, 
41             false
42         );
43
44         default_focus();
45
46     } catch(E) {
47         var err_prefix = 'hold_cancel.js -> hold_cancel_init() : ';
48         if (error) error.standard_unexpected_error_alert(err_prefix,E); else alert(err_prefix + E);
49     }
50
51 }
52
53 function hold_cancel_cleanup() {
54     try {
55         window.hold_cancel_event_listeners.removeAll();
56     } catch(E) {
57         var err_prefix = 'hold_cancel.js -> hold_cancel_cleanup() : ';
58         if (error) error.standard_unexpected_error_alert(err_prefix,E); else alert(err_prefix + E);
59     }
60
61 }
62
63 function build_cancel_reason_menu() {
64     try {
65
66         var ahrcc_menupopup = document.getElementById('ahrcc_menupopup');
67         util.widgets.remove_children(ahrcc_menupopup);
68         for (var i = 0; i < data.list.ahrcc.length; i++) {
69             //if (data.list.ahrcc[i].id() > 100) {
70                 var menuitem = document.createElement('menuitem'); ahrcc_menupopup.appendChild(menuitem);
71                 menuitem.setAttribute('label',data.list.ahrcc[i].label());
72                 menuitem.setAttribute('value',data.list.ahrcc[i].id());
73                 menuitem.setAttribute('id','ahrcc_'+data.list.ahrcc[i].id());
74                 menuitem.setAttribute('oncommand',"var p = this.parentNode; p.parentNode.setAttribute('label',this.getAttribute('label')); p.setAttribute('value'," + data.list.ahrcc[i].id() + ")");
75                 if (data.list.ahrcc[i].id() == 5) { // default Staff forced
76                     ahrcc_menupopup.setAttribute('value',data.list.ahrcc[i].id());
77                     ahrcc_menupopup.parentNode.setAttribute('label',data.list.ahrcc[i].label());
78                 }
79             //}
80         }
81
82     } catch(E) {
83         var err_prefix = 'hold_cancel.js -> build_cancel_reason_menu() : ';
84         if (error) error.standard_unexpected_error_alert(err_prefix,E); else alert(err_prefix + E);
85     }
86 }
87