manager.js 4.5 KB

12345678
  1. /*
  2. Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
  3. Available via Academic Free License >= 2.1 OR the modified BSD license.
  4. see: http://dojotoolkit.org/license for details
  5. */
  6. if(!dojo._hasResource["dijit._base.manager"]){dojo._hasResource["dijit._base.manager"]=true;dojo.provide("dijit._base.manager");dojo.declare("dijit.WidgetSet",null,{constructor:function(){this._hash={};this.length=0;},add:function(_1){if(this._hash[_1.id]){throw new Error("Tried to register widget with id=="+_1.id+" but that id is already registered");}this._hash[_1.id]=_1;this.length++;},remove:function(id){if(this._hash[id]){delete this._hash[id];this.length--;}},forEach:function(_2,_3){_3=_3||dojo.global;var i=0,id;for(id in this._hash){_2.call(_3,this._hash[id],i++,this._hash);}return this;},filter:function(_4,_5){_5=_5||dojo.global;var _6=new dijit.WidgetSet(),i=0,id;for(id in this._hash){var w=this._hash[id];if(_4.call(_5,w,i++,this._hash)){_6.add(w);}}return _6;},byId:function(id){return this._hash[id];},byClass:function(_7){var _8=new dijit.WidgetSet(),id,_9;for(id in this._hash){_9=this._hash[id];if(_9.declaredClass==_7){_8.add(_9);}}return _8;},toArray:function(){var ar=[];for(var id in this._hash){ar.push(this._hash[id]);}return ar;},map:function(_a,_b){return dojo.map(this.toArray(),_a,_b);},every:function(_c,_d){_d=_d||dojo.global;var x=0,i;for(i in this._hash){if(!_c.call(_d,this._hash[i],x++,this._hash)){return false;}}return true;},some:function(_e,_f){_f=_f||dojo.global;var x=0,i;for(i in this._hash){if(_e.call(_f,this._hash[i],x++,this._hash)){return true;}}return false;}});dijit.registry=new dijit.WidgetSet();dijit._widgetTypeCtr={};dijit.getUniqueId=function(_10){var id;do{id=_10+"_"+(_10 in dijit._widgetTypeCtr?++dijit._widgetTypeCtr[_10]:dijit._widgetTypeCtr[_10]=0);}while(dijit.byId(id));return dijit._scopeName=="dijit"?id:dijit._scopeName+"_"+id;};dijit.findWidgets=function(_11){var _12=[];function _13(_14){for(var _15=_14.firstChild;_15;_15=_15.nextSibling){if(_15.nodeType==1){var _16=_15.getAttribute("widgetId");if(_16){var _17=dijit.byId(_16);_12.push(_17);}else{_13(_15);}}}};_13(_11);return _12;};dijit._destroyAll=function(){dijit._curFocus=null;dijit._prevFocus=null;dijit._activeStack=[];dojo.forEach(dijit.findWidgets(dojo.body()),function(_18){if(!_18._destroyed){if(_18.destroyRecursive){_18.destroyRecursive();}else{if(_18.destroy){_18.destroy();}}}});};if(dojo.isIE){dojo.addOnWindowUnload(function(){dijit._destroyAll();});}dijit.byId=function(id){return typeof id=="string"?dijit.registry._hash[id]:id;};dijit.byNode=function(_19){return dijit.registry.byId(_19.getAttribute("widgetId"));};dijit.getEnclosingWidget=function(_1a){while(_1a){var id=_1a.getAttribute&&_1a.getAttribute("widgetId");if(id){return dijit.byId(id);}_1a=_1a.parentNode;}return null;};dijit._isElementShown=function(_1b){var _1c=dojo.style(_1b);return (_1c.visibility!="hidden")&&(_1c.visibility!="collapsed")&&(_1c.display!="none")&&(dojo.attr(_1b,"type")!="hidden");};dijit.isTabNavigable=function(_1d){if(dojo.attr(_1d,"disabled")){return false;}else{if(dojo.hasAttr(_1d,"tabIndex")){return dojo.attr(_1d,"tabIndex")>=0;}else{switch(_1d.nodeName.toLowerCase()){case "a":return dojo.hasAttr(_1d,"href");case "area":case "button":case "input":case "object":case "select":case "textarea":return true;case "iframe":if(dojo.isMoz){return _1d.contentDocument.designMode=="on";}else{if(dojo.isWebKit){var doc=_1d.contentDocument,_1e=doc&&doc.body;return _1e&&_1e.contentEditable=="true";}else{try{doc=_1d.contentWindow.document;_1e=doc&&doc.body;return _1e&&_1e.firstChild&&_1e.firstChild.contentEditable=="true";}catch(e){return false;}}}default:return _1d.contentEditable=="true";}}}};dijit._getTabNavigable=function(_1f){var _20,_21,_22,_23,_24,_25;var _26=function(_27){dojo.query("> *",_27).forEach(function(_28){var _29=dijit._isElementShown(_28);if(_29&&dijit.isTabNavigable(_28)){var _2a=dojo.attr(_28,"tabIndex");if(!dojo.hasAttr(_28,"tabIndex")||_2a==0){if(!_20){_20=_28;}_21=_28;}else{if(_2a>0){if(!_22||_2a<_23){_23=_2a;_22=_28;}if(!_24||_2a>=_25){_25=_2a;_24=_28;}}}}if(_29&&_28.nodeName.toUpperCase()!="SELECT"){_26(_28);}});};if(dijit._isElementShown(_1f)){_26(_1f);}return {first:_20,last:_21,lowest:_22,highest:_24};};dijit.getFirstInTabbingOrder=function(_2b){var _2c=dijit._getTabNavigable(dojo.byId(_2b));return _2c.lowest?_2c.lowest:_2c.first;};dijit.getLastInTabbingOrder=function(_2d){var _2e=dijit._getTabNavigable(dojo.byId(_2d));return _2e.last?_2e.last:_2e.highest;};dijit.defaultDuration=dojo.config["defaultDuration"]||200;}