]> git.evergreen-ils.org Git - Evergreen.git/blob - Evergreen/staff_client/chrome/content/evergreen/main/clam_shell.js
more ripping of legacy code. seems to work :)
[Evergreen.git] / Evergreen / staff_client / chrome / content / evergreen / main / clam_shell.js
1 sdump('D_TRACE','Loading clam_shell.js\n');
2
3 function clam_shell_init(p) {
4         sdump('D_CLAM',"TESTING: clam_shell.js: " + mw.G['main_test_variable'] + '\n');
5         sdump('D_CONSTRUCTOR',arg_dump(arguments));
6
7         if (p) {
8                 // This code breaks the splitter, so don't use
9                 if (p.horizontal) {
10                         sdump('D_CLAM','Setting horizontal\n');
11                         p.node.orient = 'horizontal';
12                 } else if (p.vertical) {
13                         sdump('D_CLAM','Setting vertical\n');
14                         p.node.orient = 'vertical';
15                 }
16
17                 p.splitter_node = p.node.childNodes[1];
18                 if (p.hide_splitter) {
19                         sdump('D_CLAM','Hiding splitter\n');
20                         p.splitter_node.hidden = true;
21                 } else {
22                         sdump('D_CLAM','Showing splitter\n');
23                         p.splitter_node.hidden = false;
24                 }
25                         
26         }
27
28         p.first_deck = p.node.firstChild;
29         p.second_deck = p.node.lastChild;
30
31         p.get_card_in_first_deck = function (idx) {
32                 if (idx)
33                         return first_deck.childNodes[ idx ];
34                 else
35                         return first_deck.selectedPanel;
36         }
37
38         p.get_card_in_second_deck = function (idx) {
39                 if (idx)
40                         return second_deck.childNodes[ idx ];
41                 else
42                         return second_deck.selectedPanel;
43         }
44
45         p.set_first_deck = function (idx) { return p.first_deck.selectedIndex = idx; };
46
47         p.set_second_deck = function (idx) { return p.second_deck.selectedIndex = idx; };
48
49         p.replace_card_in_first_deck = function (idx,chrome,params) {
50                 return replace_card_in_deck(p.first_deck,idx,chrome,params);
51         };
52
53         p.replace_card_in_second_deck = function (idx,chrome,params) {
54                 return replace_card_in_deck(p.second_deck,idx,chrome,params);
55         };
56
57         p.new_card_in_first_deck = function (chrome,params) {
58                 return new_card_in_deck(p.first_deck,chrome,params);
59         };
60         p.new_card_in_second_deck = function (chrome,params) {
61                 return new_card_in_deck(p.second_deck,chrome,params);
62         };
63
64         return p;
65 }
66
67 function new_card_in_deck(deck,chrome,params) {
68         sdump('D_CLAM',arg_dump(arguments));
69         var new_card = deck.ownerDocument.createElement('iframe');
70         deck.appendChild(new_card);
71         new_card.setAttribute('flex','1');
72         new_card.setAttribute('src',chrome);
73         new_card.setAttribute('id','card_'+(deck.childNodes.length-1));
74         new_card.contentWindow.mw = mw;
75         return new_card.contentWindow;
76 }
77
78 function replace_card_in_deck(deck,idx,chrome,params) {
79         sdump('D_CLAM',arg_dump(arguments));
80         var old_card = deck.childNodes[ idx ];
81         var new_card = deck.ownerDocument.createElement('iframe');
82         new_card.setAttribute('flex','1');
83         new_card.setAttribute('src',chrome);
84         deck.appendChild(new_card);
85         deck.replaceChild(new_card,old_card);
86         new_card.setAttribute('id','card_'+idx);
87         new_card.contentWindow.mw = mw;
88         if (params)
89                 new_card.contentWindow.params = params;
90         return new_card.contentWindow;
91 }
92