diff options
Diffstat (limited to 'js/tablesorte.js')
| -rw-r--r-- | js/tablesorte.js | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/js/tablesorte.js b/js/tablesorte.js new file mode 100644 index 0000000..1d062ae --- /dev/null +++ b/js/tablesorte.js @@ -0,0 +1,40 @@ +// Tablesorter comes from own file now. + +var yourls_defaultsort = 2; // default column to sort on (overwrite this inline in page) +var yourls_defaultorder = 1; // default order ('asc':0, 'desc':1) to sort on (overwrite this inline in page) + +// Initialise the table to sort +$(document).ready(function(){ + if ($("#main_table").tablesorter && $("#main_table tr#nourl_found").css('display') == 'none') { + var order = {'keyword':0, 'url':1, 'timestamp':2, 'ip':3, 'clicks':4}; + var order_by = {'asc':0, 'desc':1}; + var sort_by = order[query_string('sort_by')]; + var sort_order = order_by[query_string('sort_order')]; + if( sort_by == undefined ) { + sort_by = yourls_defaultsort; + sort_order = yourls_defaultorder; + } + + $("#main_table").tablesorter({ + textExtraction: { + 1: function(node, table, cellIndex){return $(node).find("small a").text();} // Sort column "URL" by URL, not by whole cell content + }, + sortList:[[ sort_by, sort_order ]], + headers: { 5: {sorter: false} }, // no sorter on column "Actions" + widgets: ['zebra'], // prettify, see tr.normal-row and tr.alt-row in tablesorter.css + widgetOptions : { zebra : [ "normal-row", "alt-row" ] } + }); + } +}); + +// Get query string +function query_string( key ) { + default_=""; + key = key.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]"); + var regex = new RegExp("[\\?&]"+key+"=([^&#]*)"); + var qs = regex.exec(window.location.href); + if(qs == null) + return yourls_defaultsort; + else + return qs[1]; +}
\ No newline at end of file |