]> git.evergreen-ils.org Git - Evergreen.git/blob - Evergreen/staff_client/chrome/content/evergreen/patron/patron_search_form.js
Various stuff to find a speed bottleneck. It was the register_window function. need...
[Evergreen.git] / Evergreen / staff_client / chrome / content / evergreen / patron / patron_search_form.js
1 sdump('D_TRACE','Loading patron_search_form.js\n');
2
3 function patron_search_form_init(p) {
4         sdump('D_PATRON_SEARCH_FORM',"TESTING: patron_search_form.js: " + mw.G['main_test_variable'] + '\n');
5         p.w.crazy_search_hash = {}; // hash[ field ] = { 'value' : ???, 'group' : ??? }
6
7         var nl = p.w.document.getElementsByTagName('textbox');
8         for (var i = 0; i < nl.length; i++) 
9                 nl[i].addEventListener(
10                         'change',
11                         function (ev) {
12                                 return patron_search_form_textbox_handler(
13                                         p.w.document,
14                                         ev.target,
15                                         p.w.crazy_search_hash); },
16                         false);
17
18         var search_command = p.w.document.getElementById('cmd_search');
19         var clear_command = p.w.document.getElementById('cmd_clear');
20
21         p.w.register_search_callback = function (f) { search_command.addEventListener( 'command',f,false ); };
22
23         if (clear_command)
24                 clear_command.addEventListener(
25                         'command',
26                         function (ev) {
27                                 var nl = p.w.document.getElementsByTagName('textbox');
28                                 for (var i = 0; i < nl.length; i++) 
29                                         nl[i].value = '';
30                                 p.w.crazy_search_hash = {}; },
31                         false);
32         else
33                 sdump('D_PATRON_SEARCH_FORM',"No cmd_clear element.\n");
34
35         if (p.onload) {
36                 try {
37                         sdump('D_TRACE','trying psuedo-onload: ' + p.onload + '\n');
38                         p.onload(p.w);
39                 } catch(E) {
40                         sdump('D_ERROR', js2JSON(E) + '\n' );
41                 }
42         }
43         return;
44 }
45
46 function patron_search_form_textbox_handler(doc,textbox,search_hash) {
47         sdump('D_PATRON_SEARCH_FORM',arg_dump(arguments));
48         textbox = get_widget(doc,textbox);
49         var field = textbox.getAttribute('field');
50         var group = textbox.getAttribute('group');
51         var value = textbox.value;
52         search_hash[ field ] = { 'value' : value, 'group' : group };
53 }