diff options
author | Patrick Davison <snapwilliam@gmail.com> | 2013-01-23 22:25:28 -0800 |
---|---|---|
committer | Patrick Davison <snapwilliam@gmail.com> | 2013-01-23 22:25:28 -0800 |
commit | 7969dcfa62ac271ed6ef6d6b8d10bcf0659e25b5 (patch) | |
tree | a902eceb5a2186dc01677392863b0c4aa0c5c377 /js | |
parent | 1e4045408872ac9bc83417f9c58ca740e54fff3d (diff) | |
download | pathery-7969dcfa62ac271ed6ef6d6b8d10bcf0659e25b5.tar.xz |
A functional Memberlist again! New and improved!
Diffstat (limited to 'js')
-rw-r--r-- | js/scores.js | 104 |
1 files changed, 61 insertions, 43 deletions
diff --git a/js/scores.js b/js/scores.js index 734683a..32f7c7f 100644 --- a/js/scores.js +++ b/js/scores.js @@ -219,7 +219,9 @@ function scoresFormatPageNavi(JO) { //Memberlist related functions:
var membersPages = new Object;
-var membersCurrentPage = 1;
+var membersCurrentPage = 1;
+var membersOrderBy = 'joined';
+var membersOrder = 'ASC';
function membersRequestPage(page) {
console.log('membersRequestPage', page);
@@ -239,7 +241,7 @@ function membersRequestPage(page) { //console.log("Requesting Page", page, ajax.inUse);
// == Additionally, check for achievements.
- ajax.requestFile = "do.php?r=reqMemberPage&reqPage="+page;
+ ajax.requestFile = "do.php?r=reqMemberPage&reqPage="+page+"&orderBy="+membersOrderBy+"&order="+membersOrder;
ajax.onCompletion = membersRequestPageDone; // Specify function to be executed on response.
//ajax.onLoading = '';
//ajax.onLoaded = '';
@@ -255,8 +257,21 @@ function membersRequestPageDone() { return;
membersUpdatePage(JO.page, membersFormatPage(JO));
}
+function membersToggleOrder() {
+ if (membersOrder == 'ASC')
+ membersOrder = 'DESC';
+ else
+ membersOrder = 'ASC';
+}
+
+function membersShowPage(page, orderBy) {
+
+ if (orderBy) {
+ if (membersOrderBy == orderBy)
+ membersToggleOrder();
+ membersOrderBy = orderBy;
+ }
-function membersShowPage(page) {
page = page - 0;
console.log('membersShowPage', page);
if (membersPreparePage(page) == false) {
@@ -276,7 +291,7 @@ function membersShowPage(page) { //Also; update the page
- if (page != membersCurrentPage) {
+ if (page != membersCurrentPage || orderBy) {
membersRequestPage(page);
}
membersCurrentPage = page;
@@ -308,7 +323,7 @@ function membersFormatPageNavi(JO) { var r = '';
var showedPrevPage = true;
for (var i = 1; i <= JO.pageCount; i++) {
- if (
+ if (
(JO.page > i - 3 && JO.page < i + 3)
|| (i == 1)
|| (i == JO.pageCount)
@@ -329,6 +344,24 @@ function membersFormatPageNavi(JO) { showedPrevPage = false;
}
}
+ var nextPage = JO.page - 0 + 1;
+ var prevPage = JO.page - 1;
+ if (JO.pageCount > 1) {
+ if (JO.page < JO.pageCount) {
+ r = r+" <a class='scoreRight' title='Last' href='javascript:membersShowPage("+JO.pageCount+")'>>>></a>";
+ r = r+" <a class='scoreRight' title='Next' href='javascript:membersShowPage("+nextPage+")'>></a>";
+ } else {
+ r = r+" <span class='scoreRight'>>>></span>";
+ r = r+" <span class='scoreRight'>></span>";
+ }
+ if (JO.page > 1) {
+ r = " <a class='scoreLeft' title='Previous' href='javascript:membersShowPage("+prevPage+")'><</a>"+r;
+ r = " <a class='scoreLeft' title='First' href='javascript:membersShowPage(1)'><<<</a>"+r;
+ } else {
+ r = r+" <span class='scoreLeft'><<<</span>";
+ r = r+" <span class='scoreLeft'><</span>";
+ }
+ }
return r;
}
@@ -336,22 +369,24 @@ function membersFormatPageNavi(JO) { function membersFormatPage(JO) {
// console.log("Formating page");
- var p = "<table class='score'>";
+ var p = "<table class='membersList score'>";
if (JO.pageCount > 1) {
var navi = membersFormatPageNavi(JO);
- p = p+"<tr><td colspan='9' style='text-align:center;'>"+navi+"</td></tr>";
+ p = p+"<tr><th colspan='10' style='text-align:center;'>"+navi+"</th></tr>";
}
p = p+"<tr title='Updated "+JO.updateTime+"'>";
p = p+"<th>Rank</th>";
- p = p+"<th style='width:125px; overflow:hidden; text-align:left; padding-left:42px;'>Name</th>";
- p = p+"<th>Mazes</th>";
- p = p+"<th>Moves</th>";
- p = p+"<th>Past Week</th>";
- p = p+"<th>Wins</th>";
- p = p+"<th>Ties</th>";
- p = p+"<th>Joined</th>";
- p = p+"<th>Last Login</th>";
+ p = p+"<th style='width:185px; overflow:hidden; text-align:left; padding-left:42px;'>";
+ p = p+" <a href='javascript:membersShowPage("+membersCurrentPage+",\"display\")'>Name</a></th>";
+ p = p+"<th><a title='Champion Points' href='javascript:membersShowPage("+membersCurrentPage+",\"championPoints\")'>CP</a></th>";
+ p = p+"<th><a href='javascript:membersShowPage("+membersCurrentPage+",\"totalMazes\")'>Mazes</a></th>";
+ p = p+"<th><a href='javascript:membersShowPage("+membersCurrentPage+",\"totalMoves\")'>Moves</a></th>";
+ p = p+"<th><a href='javascript:membersShowPage("+membersCurrentPage+",\"totalMovesThisWeek\")'>Past Week</a></th>";
+ p = p+"<th><a href='javascript:membersShowPage("+membersCurrentPage+",\"totalWins\")'>Wins</a></th>";
+ p = p+"<th><a href='javascript:membersShowPage("+membersCurrentPage+",\"totalTies\")'>Ties</a></th>";
+ p = p+"<th><a href='javascript:membersShowPage("+membersCurrentPage+",\"dateJoined\")'>Joined</a> ⇧</th>";
+ p = p+"<th><a href='javascript:membersShowPage("+membersCurrentPage+",\"dateLogin\")'>Last Login</a> ⇩</th>";
p = p+"</tr>";
var showedLastUser = true;
@@ -369,19 +404,23 @@ function membersFormatPage(JO) { if (previousI != i + 1)
if (previousI < i - 1 && previousI != 0)
styleClass = 'border-top: 6px solid #777799;';
+
+ if (u.wallEmblem == undefined)
+ u.wallEmblem = 'blank.png';
- p = p+ "<tr style='"+styleClass+" background-color: "+u.background+"; color:"+u.displayColor+";' title='Scored "+scoredLocalTime.format("h:MM:ss TT")+"'>";
+ p = p+ "<tr style='"+styleClass+" background-color: "+u.background+"; color:"+u.displayColor+";' title=''>";
p = p+ "<td style='text-align:left;'>";
p = p+ i+ "</td>";
- p = p+ "<td style='vertical-align: middle;'>";
+
+ p = p+ "<td style='vertical-align: middle;width:180px;'>";
p = p+ " <div class='grid_td' style='float:left; width:35px; height:35px; background:"+u.wallColor+" url(images/marks/"+u.wallEmblem+");'>";
- p = p+ " <div style='background-color:transparent;' class='grid_td_inner grid_td_rocks'>";
- p = p+ " </div>";
+ p = p+ " <div style='background-color:transparent;' class='grid_td_inner grid_td_rocks'>";
+ p = p+ " </div>";
p = p+ " </div>";
- p = p+ "";
- p = p+ "<span class='scoreName'><a href='achievements?id="+u.ID+"' style='color:"+u.displayColor+"'>"+u.display+"</a></span>";
+ p = p+ " <span class='scoreName' style='float:left;'><a href='achievements?id="+u.ID+"' style='color:"+u.displayColor+"'>"+u.display+"</a></span>";
p = p+ "</td>";
+ p = p+ "<td style='text-align:right;'>"+u.championPoints+"</td>";
p = p+ "<td style='text-align:right;'>"+u.totalMazes+"</td>";
p = p+ "<td style='text-align:right;'>"+u.totalMoves+"</td>";
p = p+ "<td style='text-align:right;'>"+u.totalMovesThisWeek+"</td>";
@@ -393,29 +432,8 @@ function membersFormatPage(JO) { previousI = i;
}
-
- //p = p+"<tr><th colspan='3' style='text-align:center;'>"+navi+"</th></tr>";
+ p = p+"<tr><th colspan='10' style='text-align:center;'>"+navi+"</th></td>";
p = p+"</table>";
-
- var nextPage = JO.page - 0 + 1;
- var prevPage = JO.page - 1;
-
- if (JO.pageCount > 1) {
- if (JO.page < JO.pageCount) {
- p = p+"<a href='javascript:membersShowPage("+nextPage+")' class='rightBtn scoreActive'>></a>";
- } else
- p = "<div class='rightBtn scoreDisabled'>></div>"+p;
- if (JO.page > 1) {
- p = "<a href='javascript:membersShowPage("+prevPage+")' class='leftBtn scoreActive'><</a>"+p;
- } else
- p = "<div class='leftBtn scoreDisabled'><</div>"+p;
- }
- p = "<div class='scoreContainer1'>"+p+"</div>";
-
- //console.log(p);
- //console.log('jo page', JO.page);
- //console.log('jo pagecount', JO.pageCount);
- //p = JO.navi+p;
return p;
}
|