]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Evergreen/staff_client/chrome/content/evergreen/patron/patron_search_results.js
clear tree before adding rows. put consoleDump back in
[working/Evergreen.git] / Evergreen / staff_client / chrome / content / evergreen / patron / patron_search_results.js
1 sdump('D_TRACE','Loading patron_search_results.js\n');
2
3 function patron_search_results_init(p) {
4         sdump('D_PATRON_SEARCH_RESULTS',"TESTING: patron_search_results.js: " + mw.G['main_test_variable'] + '\n');
5         sdump('D_TRACE_ENTER',arg_dump(arguments));
6
7         p.w.patron_cols = [
8                 { 
9                         'id' : 'id_col', 'label' : getString('au_label_id'), 'flex' : 1, 
10                         'primary' : true, 'hidden' : false, 'fm_field_render' : '.id()'
11                 },
12                 { 
13                         'id' : 'prefix_col', 'label' : getString('au_label_prefix'), 'flex' : 1, 
14                         'primary' : false, 'hidden' : false, 'fm_field_render' : '.prefix()'
15                 },
16                 { 
17                         'id' : 'family_name_col', 'label' : getString('au_label_family_name'), 'flex' : 1, 
18                         'primary' : false, 'hidden' : false, 'fm_field_render' : '.family_name()'
19                 },
20                 { 
21                         'id' : 'first_given_name_col', 'label' : getString('au_label_first_given_name'), 'flex' : 1, 
22                         'primary' : false, 'hidden' : false, 'fm_field_render' : '.first_given_name()'
23                 },
24                 { 
25                         'id' : 'second_given_name_col', 'label' : getString('au_label_second_given_name'), 'flex' : 1, 
26                         'primary' : false, 'hidden' : false, 'fm_field_render' : '.second_given_name()'
27                 },
28                 { 
29                         'id' : 'suffix_col', 'label' : getString('au_label_suffix'), 'flex' : 1, 
30                         'primary' : false, 'hidden' : false, 'fm_field_render' : '.suffix()'
31                 }
32         ];
33
34         p.w.tree_win = spawn_paged_tree(
35                 p.w.document, 'new_iframe', p.paged_tree, { 
36                         'cols' : p.w.patron_cols,
37                         'onload' : patron_search_results_init_after_paged_tree(p) 
38                 }
39         );
40
41         p.w.register_patron_select_callback = function (f) {
42                 p.w._patron_select_callback = f;
43         }
44
45         p.w.register_flesh_patron_function = function (f) {
46                 p.w._flesh_patron_function = f;
47         }
48
49         p.w.map_patron_to_cols = function (patron, treeitem) {
50                 patron_search_results_map_patron_to_cols(p, patron, treeitem);  
51         }
52
53         if (p.onload) {
54                 try {
55                         sdump('D_TRACE','trying psuedo-onload: ' + p.onload + '\n');
56                         p.onload(p.w);
57                 } catch(E) {
58                         sdump('D_ERROR', js2JSON(E) + '\n' );
59                 }
60         }
61         sdump('D_TRACE_EXIT',arg_dump(arguments));
62         return;
63 }
64
65 function patron_search_results_init_after_paged_tree(p) {
66         sdump('D_PATRON_SEARCH_RESULTS',arg_dump(arguments));
67         sdump('D_TRACE_ENTER',arg_dump(arguments));
68         sdump('D_TRACE_EXIT',arg_dump(arguments));
69         return function (tree_win) {
70                 sdump('D_TRACE_ENTER',arg_dump(arguments));
71                 sdump('D_PATRON_SEARCH_RESULTS',arg_dump(arguments));
72                 tree_win.register_select_callback( p.w._patron_select_callback );
73                 tree_win.register_flesh_row_function( p.w._flesh_patron_function );
74                 p.w.add_patrons = tree_win.add_rows;
75                 p.w.clear_patrons = tree_win.clear_tree;
76                 sdump('D_TRACE_EXIT',arg_dump(arguments));
77                 return;
78         };
79 }
80
81 function patron_search_results_map_patron_to_cols(p, patron, treeitem) {
82         sdump('D_PATRON_SEARCH_RESULTS',arg_dump(arguments));
83         sdump('D_TRACE_ENTER',arg_dump(arguments));
84         var cols = new Array();
85         for (var i = 0; i < p.w.patron_cols.length; i++) {
86                 var hash = p.w.patron_cols[i];
87                 sdump('D_PATRON_SEARCH_RESULTS','Considering ' + js2JSON(hash) + '\n');
88                 var cmd = 'patron'+hash.fm_field_render;
89                 sdump('D_PATRON_SEARCH_RESULTS','cmd = ' + cmd + '\n');
90                 var col = '';
91                 try {
92                         col = eval( cmd );
93                         sdump('D_PATRON_SEARCH_RESULTS','eval = ' + col + '\n');
94                 } catch(E) {
95                         sdump('D_ERROR',js2JSON(E) + '\n');
96                 }
97                 cols.push( col );
98         }
99         sdump('D_PATRON_SEARCH_RESULTS','cols = ' + js2JSON(cols) + '\n');
100         p.w.tree_win.map_cols_to_treeitem( cols, treeitem );
101         sdump('D_TRACE_EXIT',arg_dump(arguments));
102 }