/
jquery.ascii.min.js
1 lines (1 loc) · 1.08 KB
/
jquery.ascii.min.js
1
(function(a){a.fn.ascii=function(b){var c="<br/>";var d=" ";if(b=="raw"){c="\n";d=" "}if(!this.is("table")){return"+----------------------------+"+c+"| Source isn't a html table. |"+c+"+----------------------------+"}var e=[];var f=[];var g=-1;var h=0,i=0;this.find("tr").each(function(){var b=e[h]||[];i=0;a(this).find("td,th").each(function(){var c={row:parseInt(a(this).attr("rowspan"))||1,col:parseInt(a(this).attr("colspan"))||1};while(b[i])i++;for(var d=i;d<i+c.col;d++){b[d]=a(this).html();if(f[d]==undefined||a(this).html().length>f[d]){f[d]=a(this).html().length}for(var g=h+1;g<h+c.row;g++){var j=e[g]||[];j[d]=a(this).html();e[g]=j}}i+=c.col});e[h]=b;if(a(this).find("th").length>0){g=h+1}h++});var j=function(a,b){if(b>0)return(new Array(b+1)).join(a);return""};var k=function(a,b){var e=0;var g="";for(var h in a){var i=1+f[h]-a[h].length;e+=2+a[h].length+i;g+="| "+a[h]+j(d,i)}if(e<b-1){g+="| "+j(d,b-e-1)}return g+"|"+c};var l=f.length-1;for(var m in f){l+=f[m]+2}var n="+"+j("-",l)+"+"+c;for(var h in e){if(h==g){n+="+"+j("-",l)+"+"+c}n+=k(e[h],l)}n+="+"+j("-",l)+"+"+c;return n}})(jQuery)