Al estar dandole un vistazo al codigo de tablesorter (http://tablesorter.com/docs/) me encontre con un procedimiento el cual no habia tenido el gusto de conocer y pues me gustaria que me lo presentaran si fuera posible, la sintaxis es mas o menos asi:
Código:
Esta es la fraccion del archivo:var foo = []; foo:{ // hacer algo... }
NOTA: el archivo esta minificado
Código:
Marque con diferente color la variable y el procedimiento, espero me puedan hechar la mano y de antemano gracias.function v(b){ var a,c, f=b.config, e=f.$tbodies=f.$table.children("tbody:not(."+f.cssInfoBlock+")"), l,x,k,h,m,B,u,s,t, p=0, v="", w=e.length; if(0===w) return f.debug ?d("Warning: *Empty table!* Not building a parser cache") :""; f.debug&&(t=new Date,d("Detecting parsers for each column")); a=[]; for(c=[];p<w;){ l=e[p].rows; if(l[p]) for(x=f.columns,k=0;k<x;k++){ h=f.$headers.filter('[data-column="'+k+'"]:last'); m=g.getColumnData(b,f.headers,k); s=g.getParserById(g.getData(h,m,"extractor")); u=g.getParserById(g.getData(h,m,"sorter")); B="false"===g.getData(h,m,"parser"); f.empties[k]=(g.getData(h,m,"empty")||f.emptyTo||(f.emptyToBottom?"bottom":"top")).toLowerCase(); f.strings[k]=(g.getData(h,m,"string")||f.stringTo||"max").toLowerCase(); B&&(u=g.getParserById("no-parser")); s||(s=!1); if(!u) a:{ h=b; m=l; B=-1; u=k; for(var A=void 0, K=g.parsers.length,G=!1,z="",A=!0;""===z&&A;) B++,m[B] ?(G=m[B].cells[u],z=r(h,G,u),h.config.debug&&d("Checking if value was empty on row "+B+", column: "+u+': "'+z+'"')) :A=!1; for(;0<=--K;) if((A=g.parsers[K])&&"text"!==A.id&&A.is&&A.is(z,h,G)){ u=A; break a } u=g.getParserById("text") } f.debug&&(v+="column:"+k+"; extractor:"+s.id+"; parser:"+u.id+"; string:"+f.strings[k]+"; empty: "+f.empties[k]+"\n"); c[k]=u; a[k]=s } p+=c.length ?w :1 } f.debug&&(d(v?v:"No parsers detected"),q("Completed detecting parsers",t)); f.parsers=c; f.extractors=a }
Saludos!