]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/xul/staff_client/server/patron/hold_cancel.js
Rip modal_xulG_stack out, replace with openDialog
[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         document.getElementById('cancel_btn').addEventListener(
29             'command', function() { window.close(); }, false
30         );
31         document.getElementById('apply_btn').addEventListener(
32             'command', 
33             function() {
34                 var note = document.getElementById('note_tb').value;
35                 xulG.cancel_reason = document.getElementById('ahrcc_menupopup').getAttribute('value');
36                 xulG.note = note;
37                 xulG.proceed = 1;
38                 window.close();
39             }, 
40             false
41         );
42
43         default_focus();
44
45     } catch(E) {
46         var err_prefix = 'hold_cancel.js -> hold_cancel_init() : ';
47         if (error) error.standard_unexpected_error_alert(err_prefix,E); else alert(err_prefix + E);
48     }
49
50 }
51
52 function build_cancel_reason_menu() {
53     try {
54
55         var ahrcc_menupopup = document.getElementById('ahrcc_menupopup');
56         util.widgets.remove_children(ahrcc_menupopup);
57         for (var i = 0; i < data.list.ahrcc.length; i++) {
58             //if (data.list.ahrcc[i].id() > 100) {
59                 var menuitem = document.createElement('menuitem'); ahrcc_menupopup.appendChild(menuitem);
60                 menuitem.setAttribute('label',data.list.ahrcc[i].label());
61                 menuitem.setAttribute('value',data.list.ahrcc[i].id());
62                 menuitem.setAttribute('id','ahrcc_'+data.list.ahrcc[i].id());
63                 menuitem.setAttribute('oncommand',"var p = this.parentNode; p.parentNode.setAttribute('label',this.getAttribute('label')); p.setAttribute('value'," + data.list.ahrcc[i].id() + ")");
64                 if (data.list.ahrcc[i].id() == 5) { // default Staff forced
65                     ahrcc_menupopup.setAttribute('value',data.list.ahrcc[i].id());
66                     ahrcc_menupopup.parentNode.setAttribute('label',data.list.ahrcc[i].label());
67                 }
68             //}
69         }
70
71     } catch(E) {
72         var err_prefix = 'hold_cancel.js -> build_cancel_reason_menu() : ';
73         if (error) error.standard_unexpected_error_alert(err_prefix,E); else alert(err_prefix + E);
74     }
75 }
76