summaryrefslogtreecommitdiff
path: root/frontend/beta/js/Clipperz/YUI/Drawer.js
Unidiff
Diffstat (limited to 'frontend/beta/js/Clipperz/YUI/Drawer.js') (more/less context) (ignore whitespace changes)
-rw-r--r--frontend/beta/js/Clipperz/YUI/Drawer.js15
1 files changed, 6 insertions, 9 deletions
diff --git a/frontend/beta/js/Clipperz/YUI/Drawer.js b/frontend/beta/js/Clipperz/YUI/Drawer.js
index 394912e..508bfe5 100644
--- a/frontend/beta/js/Clipperz/YUI/Drawer.js
+++ b/frontend/beta/js/Clipperz/YUI/Drawer.js
@@ -1,216 +1,213 @@
1/* 1/*
2 2
3Copyright 2008-2011 Clipperz Srl 3Copyright 2008-2011 Clipperz Srl
4 4
5This file is part of Clipperz's Javascript Crypto Library. 5This file is part of Clipperz Community Edition.
6Javascript Crypto Library provides web developers with an extensive 6Clipperz Community Edition is an online password manager.
7and efficient set of cryptographic functions. The library aims to
8obtain maximum execution speed while preserving modularity and
9reusability.
10For further information about its features and functionalities please 7For further information about its features and functionalities please
11refer to http://www.clipperz.com 8refer to http://www.clipperz.com.
12 9
13* Javascript Crypto Library is free software: you can redistribute 10* Clipperz Community Edition is free software: you can redistribute
14 it and/or modify it under the terms of the GNU Affero General Public 11 it and/or modify it under the terms of the GNU Affero General Public
15 License as published by the Free Software Foundation, either version 12 License as published by the Free Software Foundation, either version
16 3 of the License, or (at your option) any later version. 13 3 of the License, or (at your option) any later version.
17 14
18* Javascript Crypto Library is distributed in the hope that it will 15* Clipperz Community Edition is distributed in the hope that it will
19 be useful, but WITHOUT ANY WARRANTY; without even the implied 16 be useful, but WITHOUT ANY WARRANTY; without even the implied
20 warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 17 warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
21 See the GNU Affero General Public License for more details. 18 See the GNU Affero General Public License for more details.
22 19
23* You should have received a copy of the GNU Affero General Public 20* You should have received a copy of the GNU Affero General Public
24 License along with Javascript Crypto Library. If not, see 21 License along with Clipperz Community Edition. If not, see
25 <http://www.gnu.org/licenses/>. 22 <http://www.gnu.org/licenses/>.
26 23
27*/ 24*/
28 25
29if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } 26if (typeof(Clipperz) == 'undefined') { Clipperz = {}; }
30if (typeof(Clipperz.YUI) == 'undefined') { Clipperz.YUI = {}; } 27if (typeof(Clipperz.YUI) == 'undefined') { Clipperz.YUI = {}; }
31 28
32 29
33Clipperz.YUI.Drawer = function(anElement, aRegion) { 30Clipperz.YUI.Drawer = function(anElement, aRegion) {
34 this._status = 'slideIn'; 31 this._status = 'slideIn';
35 32
36 this._element = YAHOO.ext.Element.get(anElement); 33 this._element = YAHOO.ext.Element.get(anElement);
37 this._region = aRegion || null; 34 this._region = aRegion || null;
38 35
39 this._collapsedElement = this.element().getChildrenByClassName("drawer-collapsed")[0]; 36 this._collapsedElement = this.element().getChildrenByClassName("drawer-collapsed")[0];
40 this._contentElement = this.element().getChildrenByClassName("drawer-content")[0]; 37 this._contentElement = this.element().getChildrenByClassName("drawer-content")[0];
41 38
42 39
43 this._wholeCollapedElement = this.enhanceCollapsedElement(); 40 this._wholeCollapedElement = this.enhanceCollapsedElement();
44 this._wholeCollapedElement.setWidth(this.region().element().getWidth()); 41 this._wholeCollapedElement.setWidth(this.region().element().getWidth());
45 this._wholeCollapedElement.setHeight(this.region().element().getHeight()); 42 this._wholeCollapedElement.setHeight(this.region().element().getHeight());
46 43
47 this._contentWrapper = this.enhanceContentElement(); 44 this._contentWrapper = this.enhanceContentElement();
48 this._contentElementActor = new YAHOO.ext.Actor(this.contentWrapper().dom); 45 this._contentElementActor = new YAHOO.ext.Actor(this.contentWrapper().dom);
49 this.contentElementActor().hide(); 46 this.contentElementActor().hide();
50 47
51 this._contentWidth = 200; 48 this._contentWidth = 200;
52}; 49};
53 50
54YAHOO.extendX(Clipperz.YUI.Drawer, YAHOO.ext.util.Observable, { 51YAHOO.extendX(Clipperz.YUI.Drawer, YAHOO.ext.util.Observable, {
55 52
56 'element': function() { 53 'element': function() {
57 return this._element; 54 return this._element;
58 }, 55 },
59 56
60 //----------------------------------------------------- 57 //-----------------------------------------------------
61 58
62 'status': function() { 59 'status': function() {
63 return this._status; 60 return this._status;
64 }, 61 },
65 62
66 'setStatus': function(aValue) { 63 'setStatus': function(aValue) {
67 this._status = aValue; 64 this._status = aValue;
68 }, 65 },
69 66
70 //----------------------------------------------------- 67 //-----------------------------------------------------
71 68
72 'collapsedElement': function() { 69 'collapsedElement': function() {
73 return this._collapsedElement; 70 return this._collapsedElement;
74 }, 71 },
75 72
76 //----------------------------------------------------- 73 //-----------------------------------------------------
77 74
78 'contentElement': function() { 75 'contentElement': function() {
79 return this._contentElement; 76 return this._contentElement;
80 }, 77 },
81 78
82 //----------------------------------------------------- 79 //-----------------------------------------------------
83 80
84 'contentElementActor': function() { 81 'contentElementActor': function() {
85 return this._contentElementActor; 82 return this._contentElementActor;
86 }, 83 },
87 84
88 //----------------------------------------------------- 85 //-----------------------------------------------------
89 86
90 'contentWrapper': function() { 87 'contentWrapper': function() {
91 return this._contentWrapper; 88 return this._contentWrapper;
92 }, 89 },
93 90
94 //----------------------------------------------------- 91 //-----------------------------------------------------
95 92
96 'contentWidth': function() { 93 'contentWidth': function() {
97 return this._contentWidth; 94 return this._contentWidth;
98 }, 95 },
99 96
100 //----------------------------------------------------- 97 //-----------------------------------------------------
101 98
102 'region': function() { 99 'region': function() {
103 return this._region; 100 return this._region;
104 }, 101 },
105 102
106 //----------------------------------------------------- 103 //-----------------------------------------------------
107 104
108 'enhanceCollapsedElement': function() { 105 'enhanceCollapsedElement': function() {
109 varwrapper; 106 varwrapper;
110 var link; 107 var link;
111 108
112 wrapper = this.collapsedElement().wrap({tag:'div', cls:'drawer-collapsedElement-wrapper', children:[ 109 wrapper = this.collapsedElement().wrap({tag:'div', cls:'drawer-collapsedElement-wrapper', children:[
113 {tag:'div', cls:'drawer-pin-button', children:[ 110 {tag:'div', cls:'drawer-pin-button', children:[
114 {tag:'a', cls:'drawer-pin-button', href:"#", children:[ 111 {tag:'a', cls:'drawer-pin-button', href:"#", children:[
115 {tag:'img', src:'./images/directLogins/drawer/mm-expand.gif'} 112 {tag:'img', src:'./images/directLogins/drawer/mm-expand.gif'}
116 ]} 113 ]}
117 ]} 114 ]}
118 ]}); 115 ]});
119 116
120 link = wrapper.getChildrenByClassName('drawer-pin-button', 'a')[0]; 117 link = wrapper.getChildrenByClassName('drawer-pin-button', 'a')[0];
121 MochiKit.Signal.connect(link.dom, 'onclick', this, 'pinDrawer'); 118 MochiKit.Signal.connect(link.dom, 'onclick', this, 'pinDrawer');
122 119
123 this.collapsedElement().setHeight('100%'); 120 this.collapsedElement().setHeight('100%');
124 this.collapsedElement().setStyle('cursor', 'pointer'); 121 this.collapsedElement().setStyle('cursor', 'pointer');
125 MochiKit.Signal.connect(this.collapsedElement().dom, 'onclick', this, 'showDrawer'); 122 MochiKit.Signal.connect(this.collapsedElement().dom, 'onclick', this, 'showDrawer');
126 123
127 return wrapper; 124 return wrapper;
128 }, 125 },
129 126
130 //----------------------------------------------------- 127 //-----------------------------------------------------
131 128
132 'enhanceContentElement': function() { 129 'enhanceContentElement': function() {
133 var wrapper; 130 var wrapper;
134 131
135 wrapper = this.contentElement().wrap({tag:'div', cls:'drawer-content-wrapper', children:[ 132 wrapper = this.contentElement().wrap({tag:'div', cls:'drawer-content-wrapper', children:[
136 {tag:'div', cls:'drawer-content-header', html:'direct login', style:'width:100%;'} 133 {tag:'div', cls:'drawer-content-header', html:'direct login', style:'width:100%;'}
137 ]}); 134 ]});
138 135
139 MochiKit.Signal.connect(wrapper.dom, 'onclick', this, 'hideDrawer'); 136 MochiKit.Signal.connect(wrapper.dom, 'onclick', this, 'hideDrawer');
140 return wrapper; 137 return wrapper;
141 }, 138 },
142 139
143 //----------------------------------------------------- 140 //-----------------------------------------------------
144 141
145 'pinDrawer': function() { 142 'pinDrawer': function() {
146 alert("pin drawer"); 143 alert("pin drawer");
147 }, 144 },
148 145
149 //----------------------------------------------------- 146 //-----------------------------------------------------
150 147
151 'showDrawer': function() { 148 'showDrawer': function() {
152 if (this.status() == 'slideIn') { 149 if (this.status() == 'slideIn') {
153 var actor; 150 var actor;
154 151
155 this.setStatus('slidingOut'); 152 this.setStatus('slidingOut');
156 actor = this.contentElementActor(); 153 actor = this.contentElementActor();
157 actor.setHeight(this.region().element().getHeight()); 154 actor.setHeight(this.region().element().getHeight());
158 155
159 actor.startCapture(true); 156 actor.startCapture(true);
160 actor.alignTo(this.element(), 'tr'); 157 actor.alignTo(this.element(), 'tr');
161 actor.blindShow('left', this.contentWidth(), .35); 158 actor.blindShow('left', this.contentWidth(), .35);
162 actor.play(this.onSlideOut.createDelegate(this)); 159 actor.play(this.onSlideOut.createDelegate(this));
163 } 160 }
164 }, 161 },
165 162
166 //----------------------------------------------------- 163 //-----------------------------------------------------
167 164
168 'onSlideOut': function() { 165 'onSlideOut': function() {
169 this.setStatus('slideOut'); 166 this.setStatus('slideOut');
170MochiKit.Logging.logDebug(">>> onSlideOut"); 167MochiKit.Logging.logDebug(">>> onSlideOut");
171 // alert("done"); 168 // alert("done");
172 }, 169 },
173 170
174 //----------------------------------------------------- 171 //-----------------------------------------------------
175/* 172/*
176 'showContentElement': function() { 173 'showContentElement': function() {
177 var top, left, width, height; 174 var top, left, width, height;
178 175
179MochiKit.Logging.logDebug(">>> showContentElement"); 176MochiKit.Logging.logDebug(">>> showContentElement");
180 177
181 178
182 top = this.element().getTop(true); 179 top = this.element().getTop(true);
183 left = this.element().getRight(); 180 left = this.element().getRight();
184 width = this.contentWidth(); 181 width = this.contentWidth();
185 height = this.element().getHeight(); 182 height = this.element().getHeight();
186 183
187 this.contentWrapper().setStyle('position', 'absolute'); 184 this.contentWrapper().setStyle('position', 'absolute');
188 this.contentWrapper().setStyle('overflow', 'none'); 185 this.contentWrapper().setStyle('overflow', 'none');
189 this.contentWrapper().setStyle('visibility', 'visible'); 186 this.contentWrapper().setStyle('visibility', 'visible');
190 this.contentWrapper().setStyle('z-index', '10'); 187 this.contentWrapper().setStyle('z-index', '10');
191 188
192 this.contentWrapper().setLeft(left); 189 this.contentWrapper().setLeft(left);
193 this.contentWrapper().setTop(top); 190 this.contentWrapper().setTop(top);
194 this.contentWrapper().setHeight(height); 191 this.contentWrapper().setHeight(height);
195 this.contentWrapper().setWidth(width); 192 this.contentWrapper().setWidth(width);
196 193
197 this.contentWrapper().show(); 194 this.contentWrapper().show();
198 }, 195 },
199 */ 196 */
200 //----------------------------------------------------- 197 //-----------------------------------------------------
201 198
202 'hideDrawer': function() { 199 'hideDrawer': function() {
203 if (this.status() == 'slideOut') { 200 if (this.status() == 'slideOut') {
204 var actor; 201 var actor;
205 202
206 this.setStatus('slidingIn'); 203 this.setStatus('slidingIn');
207 204
208 actor = this.contentElementActor(); 205 actor = this.contentElementActor();
209 actor.setHeight(this.region().element().getHeight()); 206 actor.setHeight(this.region().element().getHeight());
210 207
211 actor.startCapture(true); 208 actor.startCapture(true);
212 actor.alignTo(this.element(), 'tr'); 209 actor.alignTo(this.element(), 'tr');
213 actor.blindHide('left', .35); 210 actor.blindHide('left', .35);
214 actor.setVisible(false); 211 actor.setVisible(false);
215 actor.play(this.onSlideIn.createDelegate(this)); 212 actor.play(this.onSlideIn.createDelegate(this));
216 } 213 }