]> git.sesse.net Git - remoteglot/blobdiff - www/js/remoteglot.js
Add a 50-move counter.
[remoteglot] / www / js / remoteglot.js
index 1e899298cef2997c7392376d1fc8126c78ed1cd0..be95b1a8449a1d4e8f86e442692a10eeea94f638 100644 (file)
@@ -7,7 +7,7 @@
  * @type {Number}
  * @const
  * @private */
-var SCRIPT_VERSION = 2016113007;
+var SCRIPT_VERSION = 2016113008;
 
 /**
  * The current backend URL.
@@ -294,7 +294,7 @@ var request_update = function() {
                        update_num_viewers(num_viewers);
                } else {
                        console.log("Received invalid update, waiting five seconds and trying again.");
-                       location.reload(true);
+                       setTimeout(function() { location.reload(true); }, 5000);
                }
 
                // Next update.
@@ -780,6 +780,10 @@ var update_refutation_lines = function() {
        var tbl = $("#refutationlines");
        tbl.empty();
 
+       if (display_lines.length < 2) {
+               return;
+       }
+
        // Find out where the lines start from.
        var base_line = [];
        var base_scores = display_lines[1].scores;
@@ -1260,7 +1264,7 @@ var update_board = function() {
                        if (!data['refutation_lines'] ||
                            !data['refutation_lines'][nonstupid_moves[i]] ||
                            !data['refutation_lines'][nonstupid_moves[i]]['pv'] ||
-                           data['refutation_lines'][nonstupid_moves[i]]['pv'].length < 1) {
+                           data['refutation_lines'][nonstupid_moves[i]]['pv'].length < 2) {
                                // Incomplete PV, abort.
                                response = undefined;
                                break;
@@ -1335,6 +1339,7 @@ var update_sparkline = function(data) {
                        }
                        // FIXME: at some widths, calling sparkline() seems to push
                        // #scorecontainer under the board.
+                       $('#scorespark').unbind('sparklineClick');
                        $("#scorespark").sparkline(scores, {
                                type: 'bar',
                                zeroColor: 'gray',
@@ -1346,6 +1351,7 @@ var update_sparkline = function(data) {
                                        return format_tooltip(data, fields[0].offset + first_move_num - 1);
                                }
                        });
+                       $('#scorespark').unbind('sparklineClick');
                        $('#scorespark').bind('sparklineClick', function(event) {
                                var sparkline = event.sparklines[0];
                                var region = sparkline.getCurrentRegionFields();
@@ -1365,13 +1371,22 @@ var update_sparkline = function(data) {
  * @param {number} num_viewers
  */
 var update_num_viewers = function(num_viewers) {
+       var text = "";
        if (num_viewers === null) {
-               $("#numviewers").text("");
+               text = "";
        } else if (num_viewers == 1) {
-               $("#numviewers").text("You are the only current viewer");
+               text = "You are the only current viewer";
        } else {
-               $("#numviewers").text(num_viewers + " current viewers");
+               text = num_viewers + " current viewers";
+       }
+       if (display_fen !== null) {
+               var counter = Math.floor(display_fen.split(" ")[4] / 2);
+               if (counter >= 20) {
+                       text = text.replace("current ", "");
+                       text += " | 50-move rule: " + counter;
+               }
        }
+       $("#numviewers").text(text);
 }
 
 var update_clock = function() {