]> git.wh0rd.org - tt-rss.git/blobdiff - lib/dojo/_base/query.js
add dijit/dojo stuff; initial ui mockup
[tt-rss.git] / lib / dojo / _base / query.js
diff --git a/lib/dojo/_base/query.js b/lib/dojo/_base/query.js
new file mode 100644 (file)
index 0000000..ecf8468
--- /dev/null
@@ -0,0 +1,797 @@
+/*
+       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.query"]){
+dojo._hasResource["dojo._base.query"]=true;
+if(typeof dojo!="undefined"){
+dojo.provide("dojo._base.query");
+dojo.require("dojo._base.NodeList");
+dojo.require("dojo._base.lang");
+}
+(function(d){
+var _1=d.trim;
+var _2=d.forEach;
+var _3=d._NodeListCtor=d.NodeList;
+var _4=function(){
+return d.doc;
+};
+var _5=((d.isWebKit||d.isMozilla)&&((_4().compatMode)=="BackCompat"));
+var _6=!!_4().firstChild["children"]?"children":"childNodes";
+var _7=">~+";
+var _8=false;
+var _9=function(){
+return true;
+};
+var _a=function(_b){
+if(_7.indexOf(_b.slice(-1))>=0){
+_b+=" * ";
+}else{
+_b+=" ";
+}
+var ts=function(s,e){
+return _1(_b.slice(s,e));
+};
+var _c=[];
+var _d=-1,_e=-1,_f=-1,_10=-1,_11=-1,_12=-1,_13=-1,lc="",cc="",_14;
+var x=0,ql=_b.length,_15=null,_16=null;
+var _17=function(){
+if(_13>=0){
+var tv=(_13==x)?null:ts(_13,x);
+_15[(_7.indexOf(tv)<0)?"tag":"oper"]=tv;
+_13=-1;
+}
+};
+var _18=function(){
+if(_12>=0){
+_15.id=ts(_12,x).replace(/\\/g,"");
+_12=-1;
+}
+};
+var _19=function(){
+if(_11>=0){
+_15.classes.push(ts(_11+1,x).replace(/\\/g,""));
+_11=-1;
+}
+};
+var _1a=function(){
+_18();
+_17();
+_19();
+};
+var _1b=function(){
+_1a();
+if(_10>=0){
+_15.pseudos.push({name:ts(_10+1,x)});
+}
+_15.loops=(_15.pseudos.length||_15.attrs.length||_15.classes.length);
+_15.oquery=_15.query=ts(_14,x);
+_15.otag=_15.tag=(_15["oper"])?null:(_15.tag||"*");
+if(_15.tag){
+_15.tag=_15.tag.toUpperCase();
+}
+if(_c.length&&(_c[_c.length-1].oper)){
+_15.infixOper=_c.pop();
+_15.query=_15.infixOper.query+" "+_15.query;
+}
+_c.push(_15);
+_15=null;
+};
+for(;lc=cc,cc=_b.charAt(x),x<ql;x++){
+if(lc=="\\"){
+continue;
+}
+if(!_15){
+_14=x;
+_15={query:null,pseudos:[],attrs:[],classes:[],tag:null,oper:null,id:null,getTag:function(){
+return (_8)?this.otag:this.tag;
+}};
+_13=x;
+}
+if(_d>=0){
+if(cc=="]"){
+if(!_16.attr){
+_16.attr=ts(_d+1,x);
+}else{
+_16.matchFor=ts((_f||_d+1),x);
+}
+var cmf=_16.matchFor;
+if(cmf){
+if((cmf.charAt(0)=="\"")||(cmf.charAt(0)=="'")){
+_16.matchFor=cmf.slice(1,-1);
+}
+}
+_15.attrs.push(_16);
+_16=null;
+_d=_f=-1;
+}else{
+if(cc=="="){
+var _1c=("|~^$*".indexOf(lc)>=0)?lc:"";
+_16.type=_1c+cc;
+_16.attr=ts(_d+1,x-_1c.length);
+_f=x+1;
+}
+}
+}else{
+if(_e>=0){
+if(cc==")"){
+if(_10>=0){
+_16.value=ts(_e+1,x);
+}
+_10=_e=-1;
+}
+}else{
+if(cc=="#"){
+_1a();
+_12=x+1;
+}else{
+if(cc=="."){
+_1a();
+_11=x;
+}else{
+if(cc==":"){
+_1a();
+_10=x;
+}else{
+if(cc=="["){
+_1a();
+_d=x;
+_16={};
+}else{
+if(cc=="("){
+if(_10>=0){
+_16={name:ts(_10+1,x),value:null};
+_15.pseudos.push(_16);
+}
+_e=x;
+}else{
+if((cc==" ")&&(lc!=cc)){
+_1b();
+}
+}
+}
+}
+}
+}
+}
+}
+}
+return _c;
+};
+var _1d=function(_1e,_1f){
+if(!_1e){
+return _1f;
+}
+if(!_1f){
+return _1e;
+}
+return function(){
+return _1e.apply(window,arguments)&&_1f.apply(window,arguments);
+};
+};
+var _20=function(i,arr){
+var r=arr||[];
+if(i){
+r.push(i);
+}
+return r;
+};
+var _21=function(n){
+return (1==n.nodeType);
+};
+var _22="";
+var _23=function(_24,_25){
+if(!_24){
+return _22;
+}
+if(_25=="class"){
+return _24.className||_22;
+}
+if(_25=="for"){
+return _24.htmlFor||_22;
+}
+if(_25=="style"){
+return _24.style.cssText||_22;
+}
+return (_8?_24.getAttribute(_25):_24.getAttribute(_25,2))||_22;
+};
+var _26={"*=":function(_27,_28){
+return function(_29){
+return (_23(_29,_27).indexOf(_28)>=0);
+};
+},"^=":function(_2a,_2b){
+return function(_2c){
+return (_23(_2c,_2a).indexOf(_2b)==0);
+};
+},"$=":function(_2d,_2e){
+var _2f=" "+_2e;
+return function(_30){
+var ea=" "+_23(_30,_2d);
+return (ea.lastIndexOf(_2e)==(ea.length-_2e.length));
+};
+},"~=":function(_31,_32){
+var _33=" "+_32+" ";
+return function(_34){
+var ea=" "+_23(_34,_31)+" ";
+return (ea.indexOf(_33)>=0);
+};
+},"|=":function(_35,_36){
+var _37=" "+_36+"-";
+return function(_38){
+var ea=" "+_23(_38,_35);
+return ((ea==_36)||(ea.indexOf(_37)==0));
+};
+},"=":function(_39,_3a){
+return function(_3b){
+return (_23(_3b,_39)==_3a);
+};
+}};
+var _3c=(typeof _4().firstChild.nextElementSibling=="undefined");
+var _3d=!_3c?"nextElementSibling":"nextSibling";
+var _3e=!_3c?"previousElementSibling":"previousSibling";
+var _3f=(_3c?_21:_9);
+var _40=function(_41){
+while(_41=_41[_3e]){
+if(_3f(_41)){
+return false;
+}
+}
+return true;
+};
+var _42=function(_43){
+while(_43=_43[_3d]){
+if(_3f(_43)){
+return false;
+}
+}
+return true;
+};
+var _44=function(_45){
+var _46=_45.parentNode;
+var i=0,_47=_46[_6],ci=(_45["_i"]||-1),cl=(_46["_l"]||-1);
+if(!_47){
+return -1;
+}
+var l=_47.length;
+if(cl==l&&ci>=0&&cl>=0){
+return ci;
+}
+_46["_l"]=l;
+ci=-1;
+for(var te=_46["firstElementChild"]||_46["firstChild"];te;te=te[_3d]){
+if(_3f(te)){
+te["_i"]=++i;
+if(_45===te){
+ci=i;
+}
+}
+}
+return ci;
+};
+var _48=function(_49){
+return !((_44(_49))%2);
+};
+var _4a=function(_4b){
+return ((_44(_4b))%2);
+};
+var _4c={"checked":function(_4d,_4e){
+return function(_4f){
+return !!("checked" in _4f?_4f.checked:_4f.selected);
+};
+},"first-child":function(){
+return _40;
+},"last-child":function(){
+return _42;
+},"only-child":function(_50,_51){
+return function(_52){
+if(!_40(_52)){
+return false;
+}
+if(!_42(_52)){
+return false;
+}
+return true;
+};
+},"empty":function(_53,_54){
+return function(_55){
+var cn=_55.childNodes;
+var cnl=_55.childNodes.length;
+for(var x=cnl-1;x>=0;x--){
+var nt=cn[x].nodeType;
+if((nt===1)||(nt==3)){
+return false;
+}
+}
+return true;
+};
+},"contains":function(_56,_57){
+var cz=_57.charAt(0);
+if(cz=="\""||cz=="'"){
+_57=_57.slice(1,-1);
+}
+return function(_58){
+return (_58.innerHTML.indexOf(_57)>=0);
+};
+},"not":function(_59,_5a){
+var p=_a(_5a)[0];
+var _5b={el:1};
+if(p.tag!="*"){
+_5b.tag=1;
+}
+if(!p.classes.length){
+_5b.classes=1;
+}
+var ntf=_5c(p,_5b);
+return function(_5d){
+return (!ntf(_5d));
+};
+},"nth-child":function(_5e,_5f){
+var pi=parseInt;
+if(_5f=="odd"){
+return _4a;
+}else{
+if(_5f=="even"){
+return _48;
+}
+}
+if(_5f.indexOf("n")!=-1){
+var _60=_5f.split("n",2);
+var _61=_60[0]?((_60[0]=="-")?-1:pi(_60[0])):1;
+var idx=_60[1]?pi(_60[1]):0;
+var lb=0,ub=-1;
+if(_61>0){
+if(idx<0){
+idx=(idx%_61)&&(_61+(idx%_61));
+}else{
+if(idx>0){
+if(idx>=_61){
+lb=idx-idx%_61;
+}
+idx=idx%_61;
+}
+}
+}else{
+if(_61<0){
+_61*=-1;
+if(idx>0){
+ub=idx;
+idx=idx%_61;
+}
+}
+}
+if(_61>0){
+return function(_62){
+var i=_44(_62);
+return (i>=lb)&&(ub<0||i<=ub)&&((i%_61)==idx);
+};
+}else{
+_5f=idx;
+}
+}
+var _63=pi(_5f);
+return function(_64){
+return (_44(_64)==_63);
+};
+}};
+var _65=(d.isIE)?function(_66){
+var clc=_66.toLowerCase();
+if(clc=="class"){
+_66="className";
+}
+return function(_67){
+return (_8?_67.getAttribute(_66):_67[_66]||_67[clc]);
+};
+}:function(_68){
+return function(_69){
+return (_69&&_69.getAttribute&&_69.hasAttribute(_68));
+};
+};
+var _5c=function(_6a,_6b){
+if(!_6a){
+return _9;
+}
+_6b=_6b||{};
+var ff=null;
+if(!("el" in _6b)){
+ff=_1d(ff,_21);
+}
+if(!("tag" in _6b)){
+if(_6a.tag!="*"){
+ff=_1d(ff,function(_6c){
+return (_6c&&(_6c.tagName==_6a.getTag()));
+});
+}
+}
+if(!("classes" in _6b)){
+_2(_6a.classes,function(_6d,idx,arr){
+var re=new RegExp("(?:^|\\s)"+_6d+"(?:\\s|$)");
+ff=_1d(ff,function(_6e){
+return re.test(_6e.className);
+});
+ff.count=idx;
+});
+}
+if(!("pseudos" in _6b)){
+_2(_6a.pseudos,function(_6f){
+var pn=_6f.name;
+if(_4c[pn]){
+ff=_1d(ff,_4c[pn](pn,_6f.value));
+}
+});
+}
+if(!("attrs" in _6b)){
+_2(_6a.attrs,function(_70){
+var _71;
+var a=_70.attr;
+if(_70.type&&_26[_70.type]){
+_71=_26[_70.type](a,_70.matchFor);
+}else{
+if(a.length){
+_71=_65(a);
+}
+}
+if(_71){
+ff=_1d(ff,_71);
+}
+});
+}
+if(!("id" in _6b)){
+if(_6a.id){
+ff=_1d(ff,function(_72){
+return (!!_72&&(_72.id==_6a.id));
+});
+}
+}
+if(!ff){
+if(!("default" in _6b)){
+ff=_9;
+}
+}
+return ff;
+};
+var _73=function(_74){
+return function(_75,ret,bag){
+while(_75=_75[_3d]){
+if(_3c&&(!_21(_75))){
+continue;
+}
+if((!bag||_76(_75,bag))&&_74(_75)){
+ret.push(_75);
+}
+break;
+}
+return ret;
+};
+};
+var _77=function(_78){
+return function(_79,ret,bag){
+var te=_79[_3d];
+while(te){
+if(_3f(te)){
+if(bag&&!_76(te,bag)){
+break;
+}
+if(_78(te)){
+ret.push(te);
+}
+}
+te=te[_3d];
+}
+return ret;
+};
+};
+var _7a=function(_7b){
+_7b=_7b||_9;
+return function(_7c,ret,bag){
+var te,x=0,_7d=_7c[_6];
+while(te=_7d[x++]){
+if(_3f(te)&&(!bag||_76(te,bag))&&(_7b(te,x))){
+ret.push(te);
+}
+}
+return ret;
+};
+};
+var _7e=function(_7f,_80){
+var pn=_7f.parentNode;
+while(pn){
+if(pn==_80){
+break;
+}
+pn=pn.parentNode;
+}
+return !!pn;
+};
+var _81={};
+var _82=function(_83){
+var _84=_81[_83.query];
+if(_84){
+return _84;
+}
+var io=_83.infixOper;
+var _85=(io?io.oper:"");
+var _86=_5c(_83,{el:1});
+var qt=_83.tag;
+var _87=("*"==qt);
+var ecs=_4()["getElementsByClassName"];
+if(!_85){
+if(_83.id){
+_86=(!_83.loops&&_87)?_9:_5c(_83,{el:1,id:1});
+_84=function(_88,arr){
+var te=d.byId(_83.id,(_88.ownerDocument||_88));
+if(!te||!_86(te)){
+return;
+}
+if(9==_88.nodeType){
+return _20(te,arr);
+}else{
+if(_7e(te,_88)){
+return _20(te,arr);
+}
+}
+};
+}else{
+if(ecs&&/\{\s*\[native code\]\s*\}/.test(String(ecs))&&_83.classes.length&&!_5){
+_86=_5c(_83,{el:1,classes:1,id:1});
+var _89=_83.classes.join(" ");
+_84=function(_8a,arr,bag){
+var ret=_20(0,arr),te,x=0;
+var _8b=_8a.getElementsByClassName(_89);
+while((te=_8b[x++])){
+if(_86(te,_8a)&&_76(te,bag)){
+ret.push(te);
+}
+}
+return ret;
+};
+}else{
+if(!_87&&!_83.loops){
+_84=function(_8c,arr,bag){
+var ret=_20(0,arr),te,x=0;
+var _8d=_8c.getElementsByTagName(_83.getTag());
+while((te=_8d[x++])){
+if(_76(te,bag)){
+ret.push(te);
+}
+}
+return ret;
+};
+}else{
+_86=_5c(_83,{el:1,tag:1,id:1});
+_84=function(_8e,arr,bag){
+var ret=_20(0,arr),te,x=0;
+var _8f=_8e.getElementsByTagName(_83.getTag());
+while((te=_8f[x++])){
+if(_86(te,_8e)&&_76(te,bag)){
+ret.push(te);
+}
+}
+return ret;
+};
+}
+}
+}
+}else{
+var _90={el:1};
+if(_87){
+_90.tag=1;
+}
+_86=_5c(_83,_90);
+if("+"==_85){
+_84=_73(_86);
+}else{
+if("~"==_85){
+_84=_77(_86);
+}else{
+if(">"==_85){
+_84=_7a(_86);
+}
+}
+}
+}
+return _81[_83.query]=_84;
+};
+var _91=function(_92,_93){
+var _94=_20(_92),qp,x,te,qpl=_93.length,bag,ret;
+for(var i=0;i<qpl;i++){
+ret=[];
+qp=_93[i];
+x=_94.length-1;
+if(x>0){
+bag={};
+ret.nozip=true;
+}
+var gef=_82(qp);
+for(var j=0;(te=_94[j]);j++){
+gef(te,ret,bag);
+}
+if(!ret.length){
+break;
+}
+_94=ret;
+}
+return ret;
+};
+var _95={},_96={};
+var _97=function(_98){
+var _99=_a(_1(_98));
+if(_99.length==1){
+var tef=_82(_99[0]);
+return function(_9a){
+var r=tef(_9a,new _3());
+if(r){
+r.nozip=true;
+}
+return r;
+};
+}
+return function(_9b){
+return _91(_9b,_99);
+};
+};
+var nua=navigator.userAgent;
+var wk="WebKit/";
+var _9c=(d.isWebKit&&(nua.indexOf(wk)>0)&&(parseFloat(nua.split(wk)[1])>528));
+var _9d=d.isIE?"commentStrip":"nozip";
+var qsa="querySelectorAll";
+var _9e=(!!_4()[qsa]&&(!d.isSafari||(d.isSafari>3.1)||_9c));
+var _9f=/n\+\d|([^ ])?([>~+])([^ =])?/g;
+var _a0=function(_a1,pre,ch,_a2){
+return ch?(pre?pre+" ":"")+ch+(_a2?" "+_a2:""):_a1;
+};
+var _a3=function(_a4,_a5){
+_a4=_a4.replace(_9f,_a0);
+if(_9e){
+var _a6=_96[_a4];
+if(_a6&&!_a5){
+return _a6;
+}
+}
+var _a7=_95[_a4];
+if(_a7){
+return _a7;
+}
+var qcz=_a4.charAt(0);
+var _a8=(-1==_a4.indexOf(" "));
+if((_a4.indexOf("#")>=0)&&(_a8)){
+_a5=true;
+}
+var _a9=(_9e&&(!_a5)&&(_7.indexOf(qcz)==-1)&&(!d.isIE||(_a4.indexOf(":")==-1))&&(!(_5&&(_a4.indexOf(".")>=0)))&&(_a4.indexOf(":contains")==-1)&&(_a4.indexOf(":checked")==-1)&&(_a4.indexOf("|=")==-1));
+if(_a9){
+var tq=(_7.indexOf(_a4.charAt(_a4.length-1))>=0)?(_a4+" *"):_a4;
+return _96[_a4]=function(_aa){
+try{
+if(!((9==_aa.nodeType)||_a8)){
+throw "";
+}
+var r=_aa[qsa](tq);
+r[_9d]=true;
+return r;
+}
+catch(e){
+return _a3(_a4,true)(_aa);
+}
+};
+}else{
+var _ab=_a4.split(/\s*,\s*/);
+return _95[_a4]=((_ab.length<2)?_97(_a4):function(_ac){
+var _ad=0,ret=[],tp;
+while((tp=_ab[_ad++])){
+ret=ret.concat(_97(tp)(_ac));
+}
+return ret;
+});
+}
+};
+var _ae=0;
+var _af=d.isIE?function(_b0){
+if(_8){
+return (_b0.getAttribute("_uid")||_b0.setAttribute("_uid",++_ae)||_ae);
+}else{
+return _b0.uniqueID;
+}
+}:function(_b1){
+return (_b1._uid||(_b1._uid=++_ae));
+};
+var _76=function(_b2,bag){
+if(!bag){
+return 1;
+}
+var id=_af(_b2);
+if(!bag[id]){
+return bag[id]=1;
+}
+return 0;
+};
+var _b3="_zipIdx";
+var _b4=function(arr){
+if(arr&&arr.nozip){
+return (_3._wrap)?_3._wrap(arr):arr;
+}
+var ret=new _3();
+if(!arr||!arr.length){
+return ret;
+}
+if(arr[0]){
+ret.push(arr[0]);
+}
+if(arr.length<2){
+return ret;
+}
+_ae++;
+if(d.isIE&&_8){
+var _b5=_ae+"";
+arr[0].setAttribute(_b3,_b5);
+for(var x=1,te;te=arr[x];x++){
+if(arr[x].getAttribute(_b3)!=_b5){
+ret.push(te);
+}
+te.setAttribute(_b3,_b5);
+}
+}else{
+if(d.isIE&&arr.commentStrip){
+try{
+for(var x=1,te;te=arr[x];x++){
+if(_21(te)){
+ret.push(te);
+}
+}
+}
+catch(e){
+}
+}else{
+if(arr[0]){
+arr[0][_b3]=_ae;
+}
+for(var x=1,te;te=arr[x];x++){
+if(arr[x][_b3]!=_ae){
+ret.push(te);
+}
+te[_b3]=_ae;
+}
+}
+}
+return ret;
+};
+d.query=function(_b6,_b7){
+_3=d._NodeListCtor;
+if(!_b6){
+return new _3();
+}
+if(_b6.constructor==_3){
+return _b6;
+}
+if(typeof _b6!="string"){
+return new _3(_b6);
+}
+if(typeof _b7=="string"){
+_b7=d.byId(_b7);
+if(!_b7){
+return new _3();
+}
+}
+_b7=_b7||_4();
+var od=_b7.ownerDocument||_b7.documentElement;
+_8=(_b7.contentType&&_b7.contentType=="application/xml")||(d.isOpera&&(_b7.doctype||od.toString()=="[object XMLDocument]"))||(!!od)&&(d.isIE?od.xml:(_b7.xmlVersion||od.xmlVersion));
+var r=_a3(_b6)(_b7);
+if(r&&r.nozip&&!_3._wrap){
+return r;
+}
+return _b4(r);
+};
+d.query.pseudos=_4c;
+d._filterQueryResult=function(_b8,_b9){
+var _ba=new d._NodeListCtor();
+var _bb=_5c(_a(_b9)[0]);
+for(var x=0,te;te=_b8[x];x++){
+if(_bb(te)){
+_ba.push(te);
+}
+}
+return _ba;
+};
+})(this["queryPortability"]||this["acme"]||dojo);
+}