/* simple file list javascript | mitchell bennis | element engage, llc | mitch@elementengage.com */ console.log('eesfl frontside footer js loaded'); // upon page load completion... jquery(document).ready(function($) { console.log('eesfl document ready'); // file list table sorting jquery('.eefiles th.eesfl_sortable').click(function(){ var table = jquery(this).parents('table').eq(0) var rows = table.find('tr:gt(0)').toarray().sort(eesfl_comparer(jquery(this).index())) this.asc = !this.asc if (!this.asc){rows = rows.reverse()} for (var i = 0; i < rows.length; i++){table.append(rows[i])} }) function eesfl_comparer(index) { return function(a, b) { var vala = eesfl_getcellvalue(a, index), valb = eesfl_getcellvalue(b, index) var eereturn = $.isnumeric(vala) && $.isnumeric(valb) ? vala - valb : vala.tostring().localecompare(valb) if($.isnumeric(eereturn)) { eereturn = eesfl_getfilesize(eereturn, 1024); } return eereturn; } } function eesfl_getcellvalue(row, index){ return jquery(row).children('td').eq(index).text(); } }); // end ready function