]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/web/js/ui/default/opac/staff.js
When coming from staff client patron interface,
[working/Evergreen.git] / Open-ILS / web / js / ui / default / opac / staff.js
1 /* staff client integration functions */
2 function debug(msg){dump(msg+'\n')}
3 var eventCache={};
4 function attachEvt(scope, name, action) {
5     if(!eventCache[scope]) eventCache[scope] = {};
6     if(!eventCache[scope][name]) eventCache[scope][name] = [];
7     eventCache[scope][name].push(action);
8 }
9 function runEvt(scope, name) {
10     debug('running event '+scope+':'+name);
11     var args = Array.prototype.slice.call(arguments).slice(2);
12     if(eventCache[scope]) {
13         var evt = eventCache[scope][name];
14         for(var i in evt) {evt[i].apply(evt[i], args);}
15     } 
16 }
17 function staff_hold_usr_input_disabler(input) {
18     document.getElementById("hold_usr_input").disabled =
19         Boolean(Number(input.value));
20 }
21 function staff_hold_usr_prepop() {
22     if (xulG && xulG.patron_barcode) {
23         document.getElementById("hold_usr_input").value = xulG.patron_barcode;
24         document.getElementById("hold_usr_input").disabled = false;
25         document.getElementById("hold_usr_is_requestor_not").checked = true;
26
27         var kill_this =
28             document.getElementById("hold_usr_is_requestor").parentNode;
29         kill_this.parentNode.removeChild(kill_this);
30     }
31 }
32 window.onload = function() {
33     // record details page events
34     var rec = location.href.match(/\/opac\/record\/(\d+)/);
35     if(rec && rec[1]) { runEvt('rdetail', 'recordRetrieved', rec[1]); }
36
37     if (document.getElementById("hold_usr_input"))
38         staff_hold_usr_prepop();
39
40     // fire other events the staff client is expecting...
41 }