mirror of
http://git.whoc.org.uk/git/password-manager.git
synced 2025-12-19 04:47:02 +01:00
First version of the newly restructured repository
This commit is contained in:
238
frontend/beta/js/Clipperz/YUI/Drawer.js
Normal file
238
frontend/beta/js/Clipperz/YUI/Drawer.js
Normal file
@@ -0,0 +1,238 @@
|
||||
/*
|
||||
|
||||
Copyright 2008-2011 Clipperz Srl
|
||||
|
||||
This file is part of Clipperz's Javascript Crypto Library.
|
||||
Javascript Crypto Library provides web developers with an extensive
|
||||
and efficient set of cryptographic functions. The library aims to
|
||||
obtain maximum execution speed while preserving modularity and
|
||||
reusability.
|
||||
For further information about its features and functionalities please
|
||||
refer to http://www.clipperz.com
|
||||
|
||||
* Javascript Crypto Library is free software: you can redistribute
|
||||
it and/or modify it under the terms of the GNU Affero General Public
|
||||
License as published by the Free Software Foundation, either version
|
||||
3 of the License, or (at your option) any later version.
|
||||
|
||||
* Javascript Crypto Library is distributed in the hope that it will
|
||||
be useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the GNU Affero General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU Affero General Public
|
||||
License along with Javascript Crypto Library. If not, see
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
*/
|
||||
|
||||
if (typeof(Clipperz) == 'undefined') { Clipperz = {}; }
|
||||
if (typeof(Clipperz.YUI) == 'undefined') { Clipperz.YUI = {}; }
|
||||
|
||||
|
||||
Clipperz.YUI.Drawer = function(anElement, aRegion) {
|
||||
this._status = 'slideIn';
|
||||
|
||||
this._element = YAHOO.ext.Element.get(anElement);
|
||||
this._region = aRegion || null;
|
||||
|
||||
this._collapsedElement = this.element().getChildrenByClassName("drawer-collapsed")[0];
|
||||
this._contentElement = this.element().getChildrenByClassName("drawer-content")[0];
|
||||
|
||||
|
||||
this._wholeCollapedElement = this.enhanceCollapsedElement();
|
||||
this._wholeCollapedElement.setWidth(this.region().element().getWidth());
|
||||
this._wholeCollapedElement.setHeight(this.region().element().getHeight());
|
||||
|
||||
this._contentWrapper = this.enhanceContentElement();
|
||||
this._contentElementActor = new YAHOO.ext.Actor(this.contentWrapper().dom);
|
||||
this.contentElementActor().hide();
|
||||
|
||||
this._contentWidth = 200;
|
||||
};
|
||||
|
||||
YAHOO.extendX(Clipperz.YUI.Drawer, YAHOO.ext.util.Observable, {
|
||||
|
||||
'element': function() {
|
||||
return this._element;
|
||||
},
|
||||
|
||||
//-----------------------------------------------------
|
||||
|
||||
'status': function() {
|
||||
return this._status;
|
||||
},
|
||||
|
||||
'setStatus': function(aValue) {
|
||||
this._status = aValue;
|
||||
},
|
||||
|
||||
//-----------------------------------------------------
|
||||
|
||||
'collapsedElement': function() {
|
||||
return this._collapsedElement;
|
||||
},
|
||||
|
||||
//-----------------------------------------------------
|
||||
|
||||
'contentElement': function() {
|
||||
return this._contentElement;
|
||||
},
|
||||
|
||||
//-----------------------------------------------------
|
||||
|
||||
'contentElementActor': function() {
|
||||
return this._contentElementActor;
|
||||
},
|
||||
|
||||
//-----------------------------------------------------
|
||||
|
||||
'contentWrapper': function() {
|
||||
return this._contentWrapper;
|
||||
},
|
||||
|
||||
//-----------------------------------------------------
|
||||
|
||||
'contentWidth': function() {
|
||||
return this._contentWidth;
|
||||
},
|
||||
|
||||
//-----------------------------------------------------
|
||||
|
||||
'region': function() {
|
||||
return this._region;
|
||||
},
|
||||
|
||||
//-----------------------------------------------------
|
||||
|
||||
'enhanceCollapsedElement': function() {
|
||||
var wrapper;
|
||||
var link;
|
||||
|
||||
wrapper = this.collapsedElement().wrap({tag:'div', cls:'drawer-collapsedElement-wrapper', children:[
|
||||
{tag:'div', cls:'drawer-pin-button', children:[
|
||||
{tag:'a', cls:'drawer-pin-button', href:"#", children:[
|
||||
{tag:'img', src:'./images/directLogins/drawer/mm-expand.gif'}
|
||||
]}
|
||||
]}
|
||||
]});
|
||||
|
||||
link = wrapper.getChildrenByClassName('drawer-pin-button', 'a')[0];
|
||||
MochiKit.Signal.connect(link.dom, 'onclick', this, 'pinDrawer');
|
||||
|
||||
this.collapsedElement().setHeight('100%');
|
||||
this.collapsedElement().setStyle('cursor', 'pointer');
|
||||
MochiKit.Signal.connect(this.collapsedElement().dom, 'onclick', this, 'showDrawer');
|
||||
|
||||
return wrapper;
|
||||
},
|
||||
|
||||
//-----------------------------------------------------
|
||||
|
||||
'enhanceContentElement': function() {
|
||||
var wrapper;
|
||||
|
||||
wrapper = this.contentElement().wrap({tag:'div', cls:'drawer-content-wrapper', children:[
|
||||
{tag:'div', cls:'drawer-content-header', html:'direct login', style:'width:100%;'}
|
||||
]});
|
||||
|
||||
MochiKit.Signal.connect(wrapper.dom, 'onclick', this, 'hideDrawer');
|
||||
return wrapper;
|
||||
},
|
||||
|
||||
//-----------------------------------------------------
|
||||
|
||||
'pinDrawer': function() {
|
||||
alert("pin drawer");
|
||||
},
|
||||
|
||||
//-----------------------------------------------------
|
||||
|
||||
'showDrawer': function() {
|
||||
if (this.status() == 'slideIn') {
|
||||
var actor;
|
||||
|
||||
this.setStatus('slidingOut');
|
||||
actor = this.contentElementActor();
|
||||
actor.setHeight(this.region().element().getHeight());
|
||||
|
||||
actor.startCapture(true);
|
||||
actor.alignTo(this.element(), 'tr');
|
||||
actor.blindShow('left', this.contentWidth(), .35);
|
||||
actor.play(this.onSlideOut.createDelegate(this));
|
||||
}
|
||||
},
|
||||
|
||||
//-----------------------------------------------------
|
||||
|
||||
'onSlideOut': function() {
|
||||
this.setStatus('slideOut');
|
||||
MochiKit.Logging.logDebug(">>> onSlideOut");
|
||||
// alert("done");
|
||||
},
|
||||
|
||||
//-----------------------------------------------------
|
||||
/*
|
||||
'showContentElement': function() {
|
||||
var top, left, width, height;
|
||||
|
||||
MochiKit.Logging.logDebug(">>> showContentElement");
|
||||
|
||||
|
||||
top = this.element().getTop(true);
|
||||
left = this.element().getRight();
|
||||
width = this.contentWidth();
|
||||
height = this.element().getHeight();
|
||||
|
||||
this.contentWrapper().setStyle('position', 'absolute');
|
||||
this.contentWrapper().setStyle('overflow', 'none');
|
||||
this.contentWrapper().setStyle('visibility', 'visible');
|
||||
this.contentWrapper().setStyle('z-index', '10');
|
||||
|
||||
this.contentWrapper().setLeft(left);
|
||||
this.contentWrapper().setTop(top);
|
||||
this.contentWrapper().setHeight(height);
|
||||
this.contentWrapper().setWidth(width);
|
||||
|
||||
this.contentWrapper().show();
|
||||
},
|
||||
*/
|
||||
//-----------------------------------------------------
|
||||
|
||||
'hideDrawer': function() {
|
||||
if (this.status() == 'slideOut') {
|
||||
var actor;
|
||||
|
||||
this.setStatus('slidingIn');
|
||||
|
||||
actor = this.contentElementActor();
|
||||
actor.setHeight(this.region().element().getHeight());
|
||||
|
||||
actor.startCapture(true);
|
||||
actor.alignTo(this.element(), 'tr');
|
||||
actor.blindHide('left', .35);
|
||||
actor.setVisible(false);
|
||||
actor.play(this.onSlideIn.createDelegate(this));
|
||||
}
|
||||
},
|
||||
|
||||
//-----------------------------------------------------
|
||||
|
||||
'onSlideIn': function() {
|
||||
this.setStatus('slideIn');
|
||||
MochiKit.Logging.logDebug(">>> onSlideIn");
|
||||
// alert("done");
|
||||
},
|
||||
|
||||
//-----------------------------------------------------
|
||||
|
||||
'hideContentElement': function() {
|
||||
this.contentWrapper().hide();
|
||||
},
|
||||
|
||||
//-----------------------------------------------------
|
||||
//-----------------------------------------------------
|
||||
|
||||
//-----------------------------------------------------
|
||||
__syntaxFix__: '__syntaxFix__'
|
||||
});
|
||||
Reference in New Issue
Block a user