| /* |
| Copyright (c) 2004-2009, 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["dojox.dtl.filter.lists"]){ |
| dojo._hasResource["dojox.dtl.filter.lists"]=true; |
| dojo.provide("dojox.dtl.filter.lists"); |
| dojo.require("dojox.dtl._base"); |
| dojo.mixin(dojox.dtl.filter.lists,{_dictsort:function(a,b){ |
| if(a[0]==b[0]){ |
| return 0; |
| } |
| return (a[0]<b[0])?-1:1; |
| },dictsort:function(_1,_2){ |
| if(!_2){ |
| return _1; |
| } |
| var i,_3,_4=[]; |
| if(!dojo.isArray(_1)){ |
| var _5=_1,_1=[]; |
| for(var _6 in _5){ |
| _1.push(_5[_6]); |
| } |
| } |
| for(i=0;i<_1.length;i++){ |
| _4.push([new dojox.dtl._Filter("var."+_2).resolve(new dojox.dtl._Context({"var":_1[i]})),_1[i]]); |
| } |
| _4.sort(dojox.dtl.filter.lists._dictsort); |
| var _7=[]; |
| for(i=0;_3=_4[i];i++){ |
| _7.push(_3[1]); |
| } |
| return _7; |
| },dictsortreversed:function(_8,_9){ |
| if(!_9){ |
| return _8; |
| } |
| var _a=dojox.dtl.filter.lists.dictsort(_8,_9); |
| return _a.reverse(); |
| },first:function(_b){ |
| return (_b.length)?_b[0]:""; |
| },join:function(_c,_d){ |
| return _c.join(_d||","); |
| },length:function(_e){ |
| return (isNaN(_e.length))?(_e+"").length:_e.length; |
| },length_is:function(_f,arg){ |
| return _f.length==parseInt(arg); |
| },random:function(_10){ |
| return _10[Math.floor(Math.random()*_10.length)]; |
| },slice:function(_11,arg){ |
| arg=arg||""; |
| var _12=arg.split(":"); |
| var _13=[]; |
| for(var i=0;i<_12.length;i++){ |
| if(!_12[i].length){ |
| _13.push(null); |
| }else{ |
| _13.push(parseInt(_12[i])); |
| } |
| } |
| if(_13[0]===null){ |
| _13[0]=0; |
| } |
| if(_13[0]<0){ |
| _13[0]=_11.length+_13[0]; |
| } |
| if(_13.length<2||_13[1]===null){ |
| _13[1]=_11.length; |
| } |
| if(_13[1]<0){ |
| _13[1]=_11.length+_13[1]; |
| } |
| return _11.slice(_13[0],_13[1]); |
| },_unordered_list:function(_14,_15){ |
| var ddl=dojox.dtl.filter.lists; |
| var i,_16=""; |
| for(i=0;i<_15;i++){ |
| _16+="\t"; |
| } |
| if(_14[1]&&_14[1].length){ |
| var _17=[]; |
| for(i=0;i<_14[1].length;i++){ |
| _17.push(ddl._unordered_list(_14[1][i],_15+1)); |
| } |
| return _16+"<li>"+_14[0]+"\n"+_16+"<ul>\n"+_17.join("\n")+"\n"+_16+"</ul>\n"+_16+"</li>"; |
| }else{ |
| return _16+"<li>"+_14[0]+"</li>"; |
| } |
| },unordered_list:function(_18){ |
| return dojox.dtl.filter.lists._unordered_list(_18,1); |
| }}); |
| } |