From 2f01fe57a8d37767827d6db42850aef86a767c53 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Mon, 15 Nov 2010 10:39:52 +0300 Subject: add dijit/dojo stuff; initial ui mockup --- lib/dojo/_base/NodeList.js | 232 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 232 insertions(+) create mode 100644 lib/dojo/_base/NodeList.js (limited to 'lib/dojo/_base/NodeList.js') diff --git a/lib/dojo/_base/NodeList.js b/lib/dojo/_base/NodeList.js new file mode 100644 index 000000000..6df6db976 --- /dev/null +++ b/lib/dojo/_base/NodeList.js @@ -0,0 +1,232 @@ +/* + Copyright (c) 2004-2010, The Dojo Foundation All Rights Reserved. + Available via Academic Free License >= 2.1 OR the modified BSD license. + see: http://dojotoolkit.org/license for details +*/ + + +if(!dojo._hasResource["dojo._base.NodeList"]){ +dojo._hasResource["dojo._base.NodeList"]=true; +dojo.provide("dojo._base.NodeList"); +dojo.require("dojo._base.lang"); +dojo.require("dojo._base.array"); +(function(){ +var d=dojo; +var ap=Array.prototype,_1=ap.slice,_2=ap.concat; +var _3=function(a,_4,_5){ +if(!a.sort){ +a=_1.call(a,0); +} +var _6=_5||this._NodeListCtor||d._NodeListCtor; +a.constructor=_6; +dojo._mixin(a,_6.prototype); +a._NodeListCtor=_6; +return _4?a._stash(_4):a; +}; +var _7=function(f,a,o){ +a=[0].concat(_1.call(a,0)); +o=o||d.global; +return function(_8){ +a[0]=_8; +return f.apply(o,a); +}; +}; +var _9=function(f,o){ +return function(){ +this.forEach(_7(f,arguments,o)); +return this; +}; +}; +var _a=function(f,o){ +return function(){ +return this.map(_7(f,arguments,o)); +}; +}; +var _b=function(f,o){ +return function(){ +return this.filter(_7(f,arguments,o)); +}; +}; +var _c=function(f,g,o){ +return function(){ +var a=arguments,_d=_7(f,a,o); +if(g.call(o||d.global,a)){ +return this.map(_d); +} +this.forEach(_d); +return this; +}; +}; +var _e=function(a){ +return a.length==1&&(typeof a[0]=="string"); +}; +var _f=function(_10){ +var p=_10.parentNode; +if(p){ +p.removeChild(_10); +} +}; +dojo.NodeList=function(){ +return _3(Array.apply(null,arguments)); +}; +d._NodeListCtor=d.NodeList; +var nl=d.NodeList,nlp=nl.prototype; +nl._wrap=nlp._wrap=_3; +nl._adaptAsMap=_a; +nl._adaptAsForEach=_9; +nl._adaptAsFilter=_b; +nl._adaptWithCondition=_c; +d.forEach(["slice","splice"],function(_11){ +var f=ap[_11]; +nlp[_11]=function(){ +return this._wrap(f.apply(this,arguments),_11=="slice"?this:null); +}; +}); +d.forEach(["indexOf","lastIndexOf","every","some"],function(_12){ +var f=d[_12]; +nlp[_12]=function(){ +return f.apply(d,[this].concat(_1.call(arguments,0))); +}; +}); +d.forEach(["attr","style"],function(_13){ +nlp[_13]=_c(d[_13],_e); +}); +d.forEach(["connect","addClass","removeClass","toggleClass","empty","removeAttr"],function(_14){ +nlp[_14]=_9(d[_14]); +}); +dojo.extend(dojo.NodeList,{_normalize:function(_15,_16){ +var _17=_15.parse===true?true:false; +if(typeof _15.template=="string"){ +var _18=_15.templateFunc||(dojo.string&&dojo.string.substitute); +_15=_18?_18(_15.template,_15):_15; +} +var _19=(typeof _15); +if(_19=="string"||_19=="number"){ +_15=dojo._toDom(_15,(_16&&_16.ownerDocument)); +if(_15.nodeType==11){ +_15=dojo._toArray(_15.childNodes); +}else{ +_15=[_15]; +} +}else{ +if(!dojo.isArrayLike(_15)){ +_15=[_15]; +}else{ +if(!dojo.isArray(_15)){ +_15=dojo._toArray(_15); +} +} +} +if(_17){ +_15._runParse=true; +} +return _15; +},_cloneNode:function(_1a){ +return _1a.cloneNode(true); +},_place:function(ary,_1b,_1c,_1d){ +if(_1b.nodeType!=1&&_1c=="only"){ +return; +} +var _1e=_1b,_1f; +var _20=ary.length; +for(var i=_20-1;i>=0;i--){ +var _21=(_1d?this._cloneNode(ary[i]):ary[i]); +if(ary._runParse&&dojo.parser&&dojo.parser.parse){ +if(!_1f){ +_1f=_1e.ownerDocument.createElement("div"); +} +_1f.appendChild(_21); +dojo.parser.parse(_1f); +_21=_1f.firstChild; +while(_1f.firstChild){ +_1f.removeChild(_1f.firstChild); +} +} +if(i==_20-1){ +dojo.place(_21,_1e,_1c); +}else{ +_1e.parentNode.insertBefore(_21,_1e); +} +_1e=_21; +} +},_stash:function(_22){ +this._parent=_22; +return this; +},end:function(){ +if(this._parent){ +return this._parent; +}else{ +return new this._NodeListCtor(); +} +},concat:function(_23){ +var t=d.isArray(this)?this:_1.call(this,0),m=d.map(arguments,function(a){ +return a&&!d.isArray(a)&&(typeof NodeList!="undefined"&&a.constructor===NodeList||a.constructor===this._NodeListCtor)?_1.call(a,0):a; +}); +return this._wrap(_2.apply(t,m),this); +},map:function(_24,obj){ +return this._wrap(d.map(this,_24,obj),this); +},forEach:function(_25,_26){ +d.forEach(this,_25,_26); +return this; +},coords:_a(d.coords),position:_a(d.position),place:function(_27,_28){ +var _29=d.query(_27)[0]; +return this.forEach(function(_2a){ +d.place(_2a,_29,_28); +}); +},orphan:function(_2b){ +return (_2b?d._filterQueryResult(this,_2b):this).forEach(_f); +},adopt:function(_2c,_2d){ +return d.query(_2c).place(this[0],_2d)._stash(this); +},query:function(_2e){ +if(!_2e){ +return this; +} +var ret=this.map(function(_2f){ +return d.query(_2e,_2f).filter(function(_30){ +return _30!==undefined; +}); +}); +return this._wrap(_2.apply([],ret),this); +},filter:function(_31){ +var a=arguments,_32=this,_33=0; +if(typeof _31=="string"){ +_32=d._filterQueryResult(this,a[0]); +if(a.length==1){ +return _32._stash(this); +} +_33=1; +} +return this._wrap(d.filter(_32,a[_33],a[_33+1]),this); +},addContent:function(_34,_35){ +_34=this._normalize(_34,this[0]); +for(var i=0,_36;_36=this[i];i++){ +this._place(_34,_36,_35,i>0); +} +return this; +},instantiate:function(_37,_38){ +var c=d.isFunction(_37)?_37:d.getObject(_37); +_38=_38||{}; +return this.forEach(function(_39){ +new c(_38,_39); +}); +},at:function(){ +var t=new this._NodeListCtor(); +d.forEach(arguments,function(i){ +if(i<0){ +i=this.length+i; +} +if(this[i]){ +t.push(this[i]); +} +},this); +return t._stash(this); +}}); +nl.events=["blur","focus","change","click","error","keydown","keypress","keyup","load","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","submit"]; +d.forEach(nl.events,function(evt){ +var _3a="on"+evt; +nlp[_3a]=function(a,b){ +return this.connect(_3a,a,b); +}; +}); +})(); +} -- cgit v1.2.3