]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Evergreen/staff_client/chrome/content/evergreen/patron/patron_display.js
various patron display components
[working/Evergreen.git] / Evergreen / staff_client / chrome / content / evergreen / patron / patron_display.js
1 sdump('D_TRACE','Loading patron_display.js\n');
2
3 function patron_display_init(p) {
4         sdump('D_PATRON_DISPLAY',"TESTING: patron_display.js: " + mw.G['main_test_variable'] + '\n');
5         sdump('D_TRACE_ENTER',arg_dump(arguments));
6
7         p.w.set_patron = function (au) {
8                 return p.w._patron = au;
9         }
10         p.w.display_patron = function (au) {
11                 if (au) p.w.set_patron(au);
12                 if (p.w.status_w)
13                         p.w.status_w.display_patron(au);
14                 if (p.w.contact_w)
15                         p.w.contact_w.display_patron(au);
16                 return render_fm(p.w.document, { 'au' : p.w._patron });
17         };
18         p.w.retrieve_patron_via_barcode = function (barcode) {
19                 if (!barcode) barcode = patron_get_barcode( p.w._patron );
20                 p.w.set_patron( retrieve_patron_by_barcode( barcode ) );
21                 return p.w.display_patron();
22         }
23         p.w.retrieve_patron_via_id = function (id) {
24                 p.w.set_patron( retrieve_patron_by_id( id ) );
25                 return p.w.display_patron();
26         }
27         p.w.refresh = function() {
28                 p.w.retrieve_patron_via_id( p.w._patron.id() );
29         }
30
31         if (p.patron) {
32                 if (typeof(p.patron) == 'object') {
33                         p.w._patron = p.patron;
34                         p.w.display_patron();
35                 } else
36                         p.w.retrieve_patron_via_barcode( p.patron );
37         }
38
39         p.w.clamshell = spawn_clamshell( 
40                 p.w.document, 'new_iframe', p.clamshell, {
41                         'horizontal' : true,
42                         'onload' : patron_display_init_after_clamshell(p) 
43                 }
44         );
45
46
47         sdump('D_TRACE_EXIT',arg_dump(arguments));
48         return;
49 }
50
51 function patron_display_init_after_clamshell(p) {
52         sdump('D_PATRON_DISPLAY',arg_dump(arguments));
53         return function (clamshell_w) {
54                 p.w.inner_clamshell = spawn_clamshell_vertical( 
55                         clamshell_w.document, 
56                         'new_iframe', 
57                         clamshell_w.first_deck, {
58                                 'vertical' : true,
59                                 'onload' : patron_display_init_after_inner_clamshell(p)
60                         }
61                 );
62
63                 return;
64         };
65
66 }
67
68 function patron_display_init_after_inner_clamshell(p) {
69         sdump('D_PATRON_DISPLAY',arg_dump(arguments));
70         return function (clamshell_w) {
71                 sdump('D_PATRON_DISPLAY',arg_dump(arguments));
72                 p.w.status_w = spawn_patron_display_status(
73                         clamshell_w.document, 
74                         'new_iframe', 
75                         clamshell_w.first_deck, {
76                                 'patron' : p.w._patron
77                         }
78                 );
79                 p.w.contact_w = spawn_patron_display_contact(
80                         clamshell_w.document, 
81                         'new_iframe', 
82                         clamshell_w.second_deck, {
83                                 'patron' : p.w._patron
84                         }
85                 );
86                 return;
87         };
88 }
89