]>
git.wh0rd.org - tt-rss.git/blob - lib/dijit/_WidgetBase.js
d96bf4fe03e085ad1aa179a0eee7c600857e3ad0
2 define("dijit/_WidgetBase",["require","dojo/_base/array","dojo/aspect","dojo/_base/config","dojo/_base/connect","dojo/_base/declare","dojo/dom","dojo/dom-attr","dojo/dom-class","dojo/dom-construct","dojo/dom-geometry","dojo/dom-style","dojo/_base/kernel","dojo/_base/lang","dojo/on","dojo/ready","dojo/Stateful","dojo/topic","dojo/_base/window","./registry"],function(_1
,_2
,_3
,_4
,_5
,_6
,_7
,_8
,_9
,_a
,_b
,_c
,_d
,_e
,on
,_f
,_10
,_11
,win
,_12
){if(!_d
.isAsync
){_f(0,function(){var _13
=["dijit/_base/manager"];_1(_13
);});}var _14
={};function _15(obj
){var ret
={};for(var _16
in obj
){ret
[_16
.toLowerCase()]=true;}return ret
;};function _17(_18
){return function(val
){_8
[val
?"set":"remove"](this.domNode
,_18
,val
);this._set(_18
,val
);};};return _6("dijit._WidgetBase",_10
,{id
:"",_setIdAttr
:"domNode",lang
:"",_setLangAttr
:_17("lang"),dir
:"",_setDirAttr
:_17("dir"),textDir
:"","class":"",_setClassAttr
:{node
:"domNode",type
:"class"},style
:"",title
:"",tooltip
:"",baseClass
:"",srcNodeRef
:null,domNode
:null,containerNode
:null,attributeMap
:{},_blankGif
:_4
.blankGif
||_1
.toUrl("dojo/resources/blank.gif"),postscript:function(_19
,_1a
){this.create(_19
,_1a
);},create:function(_1b
,_1c
){this.srcNodeRef
=_7
.byId(_1c
);this._connects
=[];this._supportingWidgets
=[];if(this.srcNodeRef
&&(typeof this.srcNodeRef
.id
=="string")){this.id
=this.srcNodeRef
.id
;}if(_1b
){this.params
=_1b
;_e
.mixin(this,_1b
);}this.postMixInProperties();if(!this.id
){this.id
=_12
.getUniqueId(this.declaredClass
.replace(/\./g,"_"));}_12.add(this);this.buildRendering();if(this.domNode){this._applyAttributes();var _1d=this.srcNodeRef;if(_1d&&_1d.parentNode&&this.domNode!==_1d){_1d.parentNode.replaceChild(this.domNode,_1d);}}if(this.domNode){this.domNode.setAttribute("widgetId",this.id);}this.postCreate();if(this.srcNodeRef&&!this.srcNodeRef.parentNode){delete this.srcNodeRef;}this._created=true;},_applyAttributes:function(){var _1e=this.constructor,_1f=_1e._setterAttrs;if(!_1f){_1f=(_1e._setterAttrs=[]);for(var _20 in this.attributeMap){_1f.push(_20);}var _21=_1e.prototype;for(var _22 in _21){if(_22 in this.attributeMap){continue;}var _23="_set"+_22.replace(/^[a
-z
]|-[a
-zA
-Z
]/g,function(c){return c.charAt(c.length-1).toUpperCase();})+"Attr";if(_23 in _21){_1f.push(_22);}}}_2.forEach(_1f,function(_24){if(this.params&&_24 in this.params){}else{if(this[_24]){this.set(_24,this[_24]);}}},this);for(var _25 in this.params){this.set(_25,this[_25]);}},postMixInProperties:function(){},buildRendering:function(){if(!this.domNode){this.domNode=this.srcNodeRef||_a.create("div");}if(this.baseClass){var _26=this.baseClass.split(" ");if(!this.isLeftToRight()){_26=_26.concat(_2.map(_26,function(_27){return _27+"Rtl";}));}_9.add(this.domNode,_26);}},postCreate:function(){},startup:function(){if(this._started){return;}this._started=true;_2.forEach(this.getChildren(),function(obj){if(!obj._started&&!obj._destroyed&&_e.isFunction(obj.startup)){obj.startup();obj._started=true;}});},destroyRecursive:function(_28){this._beingDestroyed=true;this.destroyDescendants(_28);this.destroy(_28);},destroy:function(_29){this._beingDestroyed=true;this.uninitialize();var c;while((c=this._connects.pop())){c.remove();}var w;while((w=this._supportingWidgets.pop())){if(w.destroyRecursive){w.destroyRecursive();}else{if(w.destroy){w.destroy();}}}this.destroyRendering(_29);_12.remove(this.id);this._destroyed=true;},destroyRendering:function(_2a){if(this.bgIframe){this.bgIframe.destroy(_2a);delete this.bgIframe;}if(this.domNode){if(_2a){_8.remove(this.domNode,"widgetId");}else{_a.destroy(this.domNode);}delete this.domNode;}if(this.srcNodeRef){if(!_2a){_a.destroy(this.srcNodeRef);}delete this.srcNodeRef;}},destroyDescendants:function(_2b){_2.forEach(this.getChildren(),function(_2c){if(_2c.destroyRecursive){_2c.destroyRecursive(_2b);}});},uninitialize:function(){return false;},_setStyleAttr:function(_2d){var _2e=this.domNode;if(_e.isObject(_2d)){_c.set(_2e,_2d);}else{if(_2e.style.cssText){_2e.style.cssText+="; "+_2d;}else{_2e.style.cssText=_2d;}}this._set("style",_2d);},_attrToDom:function(_2f,_30,_31){_31=arguments.length>=3?_31:this.attributeMap[_2f];_2.forEach(_e.isArray(_31)?_31:[_31],function(_32){var _33=this[_32.node||_32||"domNode"];var _34=_32.type||"attribute";switch(_34){case "attribute":if(_e.isFunction(_30)){_30=_e.hitch(this,_30);}var _35=_32.attribute?_32.attribute:(/^on
[A
-Z
][a
-zA
-Z
]*$/.test(_2f)?_2f.toLowerCase():_2f);_8.set(_33,_35,_30);break;case "innerText":_33.innerHTML="";_33.appendChild(win.doc.createTextNode(_30));break;case "innerHTML":_33.innerHTML=_30;break;case "class":_9.replace(_33,_30,this[_2f]);break;}},this);},get:function(_36){var _37=this._getAttrNames(_36);return this[_37.g]?this[_37.g]():this[_36];},set:function(_38,_39){if(typeof _38==="object"){for(var x in _38){this.set(x,_38[x]);}return this;}var _3a=this._getAttrNames(_38),_3b=this[_3a.s];if(_e.isFunction(_3b)){var _3c=_3b.apply(this,Array.prototype.slice.call(arguments,1));}else{var _3d=this.focusNode&&!_e.isFunction(this.focusNode)?"focusNode":"domNode",tag=this[_3d].tagName,_3e=_14[tag]||(_14[tag]=_15(this[_3d])),map=_38 in this.attributeMap?this.attributeMap[_38]:_3a.s in this?this[_3a.s]:((_3a.l in _3e&&typeof _39!="function")||/^aria
-|^data
-|^role
$/.test(_38))?_3d:null;if(map!=null){this._attrToDom(_38,_39,map);}this._set(_38,_39);}return _3c||this;},_attrPairNames:{},_getAttrNames:function(_3f){var apn=this._attrPairNames;if(apn[_3f]){return apn[_3f];}var uc=_3f.replace(/^[a
-z
]|-[a
-zA
-Z
]/g,function(c){return c.charAt(c.length-1).toUpperCase();});return (apn[_3f]={n:_3f+"Node",s:"_set"+uc+"Attr",g:"_get"+uc+"Attr",l:uc.toLowerCase()});},_set:function(_40,_41){var _42=this[_40];this[_40]=_41;if(this._watchCallbacks&&this._created&&_41!==_42){this._watchCallbacks(_40,_42,_41);}},on:function(_43,_44){return _3.after(this,this._onMap(_43),_44,true);},_onMap:function(_45){var _46=this.constructor,map=_46._onMap;if(!map){map=(_46._onMap={});for(var _47 in _46.prototype){if(/^on
/.test(_47)){map[_47.replace(/^on
/,"").toLowerCase()]=_47
;}}}return map
[_45
.toLowerCase()];},toString:function(){return "[Widget "+this.declaredClass
+", "+(this.id
||"NO ID")+"]";},getChildren:function(){return this.containerNode
?_12
.findWidgets(this.containerNode
):[];},getParent:function(){return _12
.getEnclosingWidget(this.domNode
.parentNode
);},connect:function(obj
,_48
,_49
){var _4a
=_5
.connect(obj
,_48
,this,_49
);this._connects
.push(_4a
);return _4a
;},disconnect:function(_4b
){var i
=_2
.indexOf(this._connects
,_4b
);if(i
!=-1){_4b
.remove();this._connects
.splice(i
,1);}},subscribe:function(t
,_4c
){var _4d
=_11
.subscribe(t
,_e
.hitch(this,_4c
));this._connects
.push(_4d
);return _4d
;},unsubscribe:function(_4e
){this.disconnect(_4e
);},isLeftToRight:function(){return this.dir
?(this.dir
=="ltr"):_b
.isBodyLtr();},isFocusable:function(){return this.focus
&&(_c
.get(this.domNode
,"display")!="none");},placeAt:function(_4f
,_50
){if(_4f
.declaredClass
&&_4f
.addChild
){_4f
.addChild(this,_50
);}else{_a
.place(this.domNode
,_4f
,_50
);}return this;},getTextDir:function(_51
,_52
){return _52
;},applyTextDir:function(){},defer:function(fcn
,_53
){var _54
=setTimeout(_e
.hitch(this,function(){_54
=null;if(!this._destroyed
){_e
.hitch(this,fcn
)();}}),_53
||0);return {remove:function(){if(_54
){clearTimeout(_54
);_54
=null;}return null;}};}});});