2 var list1; var selected1 = [];
3 var list2; var selected2 = [];
5 var max_work_log_entries;
6 var max_patron_log_entries;
10 netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
11 if (typeof JSAN == 'undefined') { throw( "The JSAN library object is missing."); }
12 JSAN.errorLevel = "die"; // none, warn, or die
13 JSAN.addRepository('/xul/server/');
14 JSAN.use('util.error'); error = new util.error();
15 error.sdump('D_TRACE','my_init() for main_test.xul');
17 JSAN.use('OpenILS.data'); data = new OpenILS.data(); data.stash_retrieve();
19 max_work_log_entries = data.hash.aous['ui.admin.work_log.max_entries'] || 20;
20 max_patron_log_entries = data.hash.aous['ui.admin.patron_log.max_entries'] || 10;
28 try { error.standard_unexpected_error_alert('admin/work_log.xul,my_init():',E); } catch(F) { alert(E); }
32 function default_focus() {
33 var btn = document.getElementById('refresh_btn');
37 function init_lists() {
39 var cmd_retrieve_item = document.getElementById('cmd_retrieve_item');
40 var cmd_retrieve_patron1 = document.getElementById('cmd_retrieve_patron1');
41 var cmd_retrieve_patron2 = document.getElementById('cmd_retrieve_patron2');
43 JSAN.use('util.list');
45 list1 = new util.list('work_action_log');
46 list2 = new util.list('work_patron_log');
48 JSAN.use('circ.util'); var columns = circ.util.work_log_columns({});
52 'on_select' : function(ev) {
53 JSAN.use('util.functional'); var sel = list1.retrieve_selection();
54 selected1 = util.functional.map_list( sel, function(o) { return JSON2js(o.getAttribute('retrieve_id')); });
55 if (selected1.length == 0) {
56 cmd_retrieve_patron1.setAttribute('disabled','true');
57 cmd_retrieve_item.setAttribute('disabled','true');
59 cmd_retrieve_patron1.setAttribute('disabled','false');
60 cmd_retrieve_item.setAttribute('disabled','false');
67 'map_row_to_columns' : column_mapper_func,
68 'on_select' : function(ev) {
69 JSAN.use('util.functional'); var sel = list2.retrieve_selection();
70 selected2 = util.functional.map_list( sel, function(o) { return JSON2js(o.getAttribute('retrieve_id')); });
71 if (selected2.length == 0) {
72 cmd_retrieve_patron2.setAttribute('disabled','true');
74 cmd_retrieve_patron2.setAttribute('disabled','false');
81 try { error.standard_unexpected_error_alert('admin/work_log.xul,init_lists():',E); } catch(F) { alert(E); }
85 function populate_lists() {
88 data.stash_retrieve();
90 var count = data.work_log.length;
91 var x = document.getElementById('desire_number_of_work_log_entries');
93 if (Number(x.value) < count) { count = Number(x.value); }
95 for (var i = 0; i < count; i++ ) {
96 list1.append( data.work_log[i] );
100 if (data.patron_log) {
101 var count = data.patron_log.length;
102 var y = document.getElementById('desire_number_of_patron_log_entries');
104 if (Number(y.value) < count) { count = Number(y.value); }
106 for (var i = 0; i < count; i++ ) {
107 list2.append( data.patron_log[i] );
111 try { error.standard_unexpected_error_alert('admin/work_log.xul,populate_lists():',E); } catch(F) { alert(E); }
115 function set_behavior() {
118 var x = document.getElementById('desire_number_of_work_log_entries');
120 x.setAttribute('max',max_work_log_entries);
121 if (!x.value) { x.setAttribute('value',max_work_log_entries); x.value = max_work_log_entries; }
123 var y = document.getElementById('desire_number_of_patron_log_entries');
125 y.setAttribute('max',max_patron_log_entries);
126 if (!y.value) { y.setAttribute('value',max_patron_log_entries); y.value = max_patron_log_entries; }
129 var cmd_refresh = document.getElementById('cmd_refresh');
130 var cmd_retrieve_item = document.getElementById('cmd_retrieve_item');
131 var cmd_retrieve_patron1 = document.getElementById('cmd_retrieve_patron1');
132 var cmd_retrieve_patron2 = document.getElementById('cmd_retrieve_patron2');
134 if (cmd_refresh) cmd_refresh.addEventListener('command', function() { populate_lists(); }, false);
136 function gen_patron_retrieval_func(which) {
137 return function(ev) {
139 var selected = which == 1 ? selected1 : selected2;
141 for (var i = 0; i < selected.length; i++) {
142 var patron_id = selected[i].au_id;
143 if (typeof patron_id == 'null') continue;
144 if (seen[patron_id]) continue; seen[patron_id] = true;
151 error.standard_unexpected_error_alert('Error in work_log.js, patron_retrieval_func():',E);
155 if (cmd_retrieve_patron1) cmd_retrieve_patron1.addEventListener('command', gen_patron_retrieval_func(1), false);
156 if (cmd_retrieve_patron2) cmd_retrieve_patron2.addEventListener('command', gen_patron_retrieval_func(2), false);
158 if (cmd_retrieve_item) cmd_retrieve_item.addEventListener(
162 var seen = {}; var barcodes = [];
163 for (var i = 0; i < selected1.length; i++) {
164 var barcode = selected1[i].acp_barcode;
165 if (typeof barcode == 'null') continue;
166 if (seen[barcode]) continue; seen[barcode] = true;
167 barcodes.push( barcode );
169 if (barcodes.length > 0) {
171 urls.XUL_COPY_STATUS,
173 { 'barcodes' : barcodes }
177 error.standard_unexpected_error_alert('Error in work_log.js, retrieve_item():',E);
184 try { error.standard_unexpected_error_alert('admin/work_log.xul,set_behavior():',E); } catch(F) { alert(E); }