From 17b935383390b1d74fb136ccfbac75e132de5ef0 Mon Sep 17 00:00:00 2001 From: calzoneman Date: Wed, 31 Jul 2013 10:27:01 -0400 Subject: [PATCH] Switch pagination on users in ACP --- www/acp.html | 1 + www/assets/js/acp.js | 140 +++++++++++++++++++++++-------------------- 2 files changed, 75 insertions(+), 66 deletions(-) diff --git a/www/acp.html b/www/acp.html index 04063d84..ff72d796 100644 --- a/www/acp.html +++ b/www/acp.html @@ -254,6 +254,7 @@ + diff --git a/www/assets/js/acp.js b/www/assets/js/acp.js index e91d1fd8..b8a70779 100644 --- a/www/assets/js/acp.js +++ b/www/assets/js/acp.js @@ -47,7 +47,25 @@ function tableResort(tbl, sortby) { tbl.data("sort_desc", !tbl.data("sort_desc")); else tbl.data("sortby", sortby) - loadPage(tbl, 0); + var sort_field = tbl.data("sortby"); + var sort_desc = tbl.data("sort_desc"); + var p = tbl.data("paginator"); + + if(sort_field) { + p.items.sort(function(a, b) { + var x = a[sort_field]; + if(typeof x == "string") + x = x.toLowerCase(); + var y = b[sort_field]; + if(typeof y == "string") + y = y.toLowerCase(); + var z = x == y ? 0 : (x < y ? -1 : 1); + if(sort_desc) + z = -z; + return z; + }); + } + p.loadPage(0); } $("#userlookup_uid").click(function() { tableResort($("#userlookup table"), "id"); @@ -372,74 +390,64 @@ function setupCallbacks() { socket.on("acp-userdata", function(data) { var tbl = $("#userlookup table"); if(data.length > 20) { - var pag = $("
").addClass("pagination") - .attr("id", "userlookup_pagination") - .insertAfter($("#userlookup table")); - var btns = $("