]> git.sesse.net Git - remoteglot-book/blobdiff - www/js/book.js
Show totals.
[remoteglot-book] / www / js / book.js
index 796b04ed8b8d7e3caa5fed7433b0cf1430e7d135..0b1e4372264a7afa77d9cae8dbdf0c5bfbf464e2 100644 (file)
@@ -4,6 +4,20 @@ var board = null;
 var moves = [];
 var move_override = 0;
 
+var entity_map = {
+       "&": "&",
+       "<": "&lt;",
+       ">": "&gt;",
+       '"': '&quot;',
+       "'": '&#39;',
+};
+
+function escape_html(string) {
+       return String(string).replace(/[&<>"']/g, function (s) {
+               return entity_map[s];
+       });
+}
+
 var get_game = function() {
        var game = new Chess();
        for (var i = 0; i < move_override; ++i) {
@@ -61,6 +75,25 @@ var direction = 1;
 var show_lines = function(data, game) {
        var moves = data['moves'];
        $('#numviewers').text(data['opening']);
+
+       if (data['root_game']) {
+               var text = escape_html(data['root_game']['white']);
+               if (data['root_game']['white_elo']) {
+                       text += " (" + escape_html(data['root_game']['white_elo']) + ")";
+               }
+               text += " &ndash; " + escape_html(data['root_game']['black']);
+               if (data['root_game']['black_elo']) {
+                       text += " (" + escape_html(data['root_game']['black_elo']) + ")";
+               }
+               text += " &nbsp;" + escape_html(data['root_game']['result']).replace(/-/, "&ndash;") + "<br />";
+               if (data['root_game']['eco']) {
+                       text += "[" + escape_html(data['root_game']['eco']) + "] ";
+               }
+               text += "(" + data['root_game']['moves'] + ") ";
+               text += escape_html(data['root_game']['event']) + " &nbsp;" + escape_html(data['root_game']['date']);
+               $('#gamesummary').html(text);
+       }
+
        var total_num = 0;
        for (var i = 0; i < moves.length; ++i) {
                var move = moves[i];
@@ -144,6 +177,10 @@ var show_lines = function(data, game) {
                var line = lines[i];
                var tr = document.createElement("tr");
 
+               if (line[0] === undefined || line[0] === null) {
+                       $(tr).addClass("totals");
+               }
+
                for (var j = 0; j < line.length; ++j) {
                        if (line[j] === null) {
                                add_td(tr, "");