password-manager-mirror/frontend/beta/js/Clipperz/PM/Components/BaseComponent.js

120 lines
3.5 KiB
JavaScript

/*
Copyright 2008-2015 Clipperz Srl
This file is part of Clipperz, the online password manager.
For further information about its features and functionalities please
refer to http://www.clipperz.com.
* Clipperz 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.
* Clipperz 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 Clipperz. If not, see http://www.gnu.org/licenses/.
*/
if (typeof(Clipperz) == 'undefined') { Clipperz = {}; }
if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; }
if (typeof(Clipperz.PM.Components) == 'undefined') { Clipperz.PM.Components = {}; }
//#############################################################################
var _Clipperz_PM_Components_Panels_base_id_ = 0;
//#############################################################################
Clipperz.PM.Components.BaseComponent = function(anElement, args) {
args = args || {};
// MochiKit.Base.bindMethods(this);
// Clipperz.PM.Components.BaseComponent.superclass.constructor.call(this, args);
this._element = anElement;
this._ids = {};
return this;
}
//=============================================================================
//MochiKit.Base.update(Clipperz.PM.Components.BaseComponent.prototype, {
YAHOO.extendX(Clipperz.PM.Components.BaseComponent, YAHOO.ext.util.Observable, {
'isClipperzPMComponent': true,
//-------------------------------------------------------------------------
'toString': function () {
return "Clipperz.PM.Components.BaseComponent component";
},
//-------------------------------------------------------------------------
'domHelper': function() {
return Clipperz.YUI.DomHelper;
},
//-------------------------------------------------------------------------
'element': function() {
//MochiKit.Logging.logDebug(">>> BaseComponent.element");
return this._element;
},
'setElement': function(aValue) {
this._element = aValue;
},
//-----------------------------------------------------
'remove': function() {
//MochiKit.Logging.logDebug(">>> BaseComponent.remove");
Clipperz.NotificationCenter.unregister(this);
MochiKit.Signal.disconnectAllTo(this);
//MochiKit.Logging.logDebug("<<< BaseComponent.remove");
},
//-------------------------------------------------------------------------
'getId': function(aValue) {
var result;
result = this._ids[aValue];
if (typeof(result) == 'undefined') {
_Clipperz_PM_Components_Panels_base_id_ ++;
result = "Clipperz_PM_Components_Panels_" + aValue + "_" + _Clipperz_PM_Components_Panels_base_id_;
this._ids[aValue] = result;
//MochiKit.Logging.logDebug(">>> getId(" + aValue + ") = " + result);
} else {
//MochiKit.Logging.logDebug("<<< getId(" + aValue + ") = " + result);
}
return result;
},
'getDom': function(aValue) {
return YAHOO.util.Dom.get(this.getId(aValue));
},
'getElement': function(aValue) {
return YAHOO.ext.Element.get(this.getId(aValue));
},
'getActor': function(aValue, anAnimator) {
return new YAHOO.ext.Actor(this.getDom(aValue), anAnimator);
},
//-------------------------------------------------------------------------
__syntaxFix__: "syntax fix"
});