]> git.sesse.net Git - remoteglot-book/blobdiff - www/js/book.js
Cleanups on the JavaScript side.
[remoteglot-book] / www / js / book.js
index dce293b2a8e70392d083b271b68fac7b5fa63059..1284e8fc3da1a18cc6e6ca2ff9b49fc24336494d 100644 (file)
@@ -136,15 +136,7 @@ var show_lines = function(data, game) {
                $('#gamesummary').html(text);
        }
 
-       var total_num = 0;
-       for (var i = 0; i < moves.length; ++i) {
-               var move = moves[i];
-               if (move['move']) {
-                       total_num += parseInt(move['white']);
-                       total_num += parseInt(move['draw']);
-                       total_num += parseInt(move['black']);
-               }
-       }
+       var total_num = find_total_games(moves);
 
        var headings_tr = $("#headings");
        headings_tr.empty();
@@ -171,10 +163,10 @@ var show_lines = function(data, game) {
                var move = moves[i];
                var line = [];
 
-               var white = parseInt(move['white']);
-               var draw = parseInt(move['draw']);
-               var black = parseInt(move['black']);
-               var computer = parseInt(move['computer']);
+               var white = move['white'];
+               var draw = move['draw'];
+               var black = move['black'];
+               var computer = move['computer'];
 
                line.push(move['move']);  // Move.
                transpose_only.push(move['transpose_only']);
@@ -250,10 +242,14 @@ var show_lines = function(data, game) {
                                        }
                                }
 
-                               var move_a = document.createElement("a");
-                               move_a.href = "javascript:make_move('" + line[j] + "')";
-                               td.appendChild(move_a);
-                               $(move_a).text(line[j]);
+                               if (line[j] === '1-0' || line[j] === '1/2-1/2' || line[j] === '0-1') {
+                                       $(td).text($(td).text() + line[j]);
+                               } else {
+                                       var move_a = document.createElement("a");
+                                       move_a.href = "javascript:make_move('" + line[j] + "')";
+                                       td.appendChild(move_a);
+                                       $(move_a).text(line[j]);
+                               }
                        } else if (headings[j][1] == TYPE_INTEGER) {
                                add_td(tr, line[j] || 0);
                        } else if (headings[j][1] == TYPE_FLOAT) {
@@ -275,12 +271,30 @@ var show_lines = function(data, game) {
        }
 }
 
+var find_total_games = function(moves) {
+       var total_num = 0;
+       for (var i = 0; i < moves.length; ++i) {
+               var move = moves[i];
+               if (move['move']) {
+                       total_num += move['white'];
+                       total_num += move['draw'];
+                       total_num += move['black'];
+               }
+       }
+       return total_num;
+}
+
 var set_includetransp = function(value) {
        includetransp = value;
        update();
 }
 window['set_includetransp'] = set_includetransp;
 
+var set_flipboard = function(value) {
+       board.orientation(value ? 'black' : 'white');
+}
+window['set_flipboard'] = set_flipboard;
+
 var make_move = function(move, do_update) {
        var history = game.history({ verbose: true });
        if (move_override < history.length && history[move_override].san == move) {
@@ -534,8 +548,10 @@ var init = function() {
                        prev_move();
                }
        });
-}
 
+       // Seemingly the web worker is not started before we send it a message.
+       stockfish.postMessage("uci");
+}
 
 $(document).ready(init);