Advertisement
Guest User

Untitled

a guest
Sep 5th, 2015
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.33 KB | None | 0 0
  1. var timeOutId = 0;
  2. function ajaxFunction() {
  3. $.ajax({
  4. cache: false,
  5. url: '../private/records.json',
  6. success: function(data, textStatus, jqXHR) {
  7. setupTables(data);
  8. timeOutId = setTimeout(ajaxFunction, 2000);
  9. }
  10. });
  11. }
  12. ajaxFunction();
  13. var rank = [];
  14. var tables;
  15.  
  16. function addToRankList(name, time) {
  17. rank.push({name: name, time: time});
  18. }
  19.  
  20. function getRank(data) {
  21. addToRankList(data.name, data.time);
  22. rank.sort(compare);
  23. var playerLocInArray = find_in_array(rank, 'name', data.name);
  24. return playerLocInArray + 1;
  25. }
  26.  
  27. function setTables(data) {
  28. var tablesByGame = {};
  29. data.forEach(function (obj) {
  30. if (tablesByGame[obj.game]) {
  31. tablesByGame[obj.game].push(obj);
  32. } else {
  33. tablesByGame[obj.game] = [obj];
  34. }
  35. });
  36. tables = tablesByGame;
  37. }
  38.  
  39. function compare(a,b) {
  40. if (a.time < b.time)
  41. return -1;
  42. if (a.time > b.time)
  43. return 1;
  44. return 0;
  45. }
  46.  
  47. var parent = $('.container');
  48.  
  49. function setupTables(data) {
  50. setTables(data);
  51. for (var table in tables) {
  52. var $table = $('#' + table);var timeOutId = 0;
  53. function ajaxFunction() {
  54. $.ajax({
  55. cache: false,
  56. url: '../private/records.json',
  57. success: function(data, textStatus, jqXHR) {
  58. setupTables(data);
  59. timeOutId = setTimeout(ajaxFunction, 2000);
  60. }
  61. });
  62. }
  63. ajaxFunction();
  64. var rank = [];
  65. var tables;
  66.  
  67. function addToRankList(name, time) {
  68. rank.push({name: name, time: time});
  69. }
  70.  
  71. function getRank(data) {
  72. addToRankList(data.name, data.time);
  73. rank.sort(compare);
  74. var playerLocInArray = find_in_array(rank, 'name', data.name);
  75. return playerLocInArray + 1;
  76. }
  77.  
  78. function setTables(data) {
  79. var tablesByGame = {};
  80. data.forEach(function (obj) {
  81. if (tablesByGame[obj.game]) {
  82. tablesByGame[obj.game].push(obj);
  83. } else {
  84. tablesByGame[obj.game] = [obj];
  85. }
  86. });
  87. tables = tablesByGame;
  88. }
  89.  
  90. function compare(a,b) {
  91. if (a.time < b.time)
  92. return -1;
  93. if (a.time > b.time)
  94. return 1;
  95. return 0;
  96. }
  97.  
  98. var parent = $('.container');
  99.  
  100. function setupTables(data) {
  101. setTables(data);
  102. for (var table in tables) {
  103. var $table = $('#' + table);
  104. setupTable(data, table);
  105. }
  106. }
  107. function setupTable(data, table) {
  108. console.log(JSON.stringify(data));
  109. var tableLoc = find_in_array(data, 'game', table);
  110. if($("#" + table).length == 0) {
  111. drawTable(table);
  112. }
  113. data.forEach(function(e, i, a) {
  114. var playerLoc = find_in_array(data, 'game', e.game);
  115. if(data[playerLoc].game.toString() == table) {
  116. drawRow(table, data[playerLoc]);
  117. }
  118. });
  119. }
  120.  
  121.  
  122. function drawTable(tableData) {
  123. if($('#'))
  124. var $table = $("<table id=" + tableData + "> </table>");
  125. parent.append($table);
  126. $table.addClass('table table-condensed table-striped');
  127. $table.before("<p class='text-center'>" + $table.attr("id").toString() + "</p>");
  128. $table.html("<tr id='#'" + tableData + "> <th>Rank</th><th>Name</th><th>Time</th></tr>");
  129. $table.append("<br> <br>");
  130. }
  131.  
  132. function drawRow(game, table) {
  133. $("#" + game).empty();
  134. var row = $("<tr />");
  135. $("#" + game).append(row);
  136. row.append($("<td>" + getRank(table).toString() + "</td>"));
  137. row.append($("<td>" + table.name + "</td>"));
  138. row.append($("<td>" + msToTime(table.time) + "</td>"));
  139. }
  140.  
  141. function msToTime(s) {
  142.  
  143. function addZ(n) {
  144. return (n<10? '0':'') + n;
  145. }
  146.  
  147. var ms = s % 1000;
  148. s = (s - ms) / 1000;
  149. var secs = s % 60;
  150. s = (s - secs) / 60;
  151. var mins = s % 60;
  152. var hrs = (s - mins) / 60;
  153.  
  154. return addZ(hrs) + ':' + addZ(mins) + ':' + addZ(secs) + '.' + ms;
  155. }
  156.  
  157. function find_in_array(arr, name, value) {
  158. for (var i = 0, len = arr.length; i<len; i++) {
  159. if (name in arr[i] && arr[i][name] == value) return i;
  160. };
  161. return false;
  162. }
  163. setupTable(data, table);
  164. }
  165. }
  166. function setupTable(data, table) {
  167. console.log(JSON.stringify(data));
  168. var tableLoc = find_in_array(data, 'game', table);
  169. if($("#" + table).length == 0) {
  170. drawTable(table);
  171. }
  172. data.forEach(function(e, i, a) {
  173. var playerLoc = find_in_array(data, 'game', e.game);
  174. if(data[playerLoc].game.toString() == table) {
  175. drawRow(table, data[playerLoc]);
  176. }
  177. });
  178. }
  179.  
  180.  
  181. function drawTable(tableData) {
  182. if($('#'))
  183. var $table = $("<table id=" + tableData + "> </table>");
  184. parent.append($table);
  185. $table.addClass('table table-condensed table-striped');
  186. $table.before("<p class='text-center'>" + $table.attr("id").toString() + "</p>");
  187. $table.html("<tr id='#'" + tableData + "> <th>Rank</th><th>Name</th><th>Time</th></tr>");
  188. $table.append("<br> <br>");
  189. }
  190.  
  191. function drawRow(game, table) {
  192. $("#" + game).empty();
  193. var row = $("<tr />");
  194. $("#" + game).append(row);
  195. row.append($("<td>" + getRank(table).toString() + "</td>"));
  196. row.append($("<td>" + table.name + "</td>"));
  197. row.append($("<td>" + msToTime(table.time) + "</td>"));
  198. }
  199.  
  200. function msToTime(s) {
  201.  
  202. function addZ(n) {
  203. return (n<10? '0':'') + n;
  204. }
  205.  
  206. var ms = s % 1000;
  207. s = (s - ms) / 1000;
  208. var secs = s % 60;
  209. s = (s - secs) / 60;
  210. var mins = s % 60;
  211. var hrs = (s - mins) / 60;
  212.  
  213. return addZ(hrs) + ':' + addZ(mins) + ':' + addZ(secs) + '.' + ms;
  214. }
  215.  
  216. function find_in_array(arr, name, value) {
  217. for (var i = 0, len = arr.length; i<len; i++) {
  218. if (name in arr[i] && arr[i][name] == value) return i;
  219. };
  220. return false;
  221. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement