var clear_arrows = function() {
for (var i = 0; i < arrows.length; ++i) {
if (arrows[i].svg) {
- arrows[i].svg.parentElement.removeChild(arrows[i].svg);
+ if (arrows[i].svg.parentElement) {
+ arrows[i].svg.parentElement.removeChild(arrows[i].svg);
+ }
delete arrows[i].svg;
}
}
var position_arrow = function(arrow) {
if (arrow.svg) {
- arrow.svg.parentElement.removeChild(arrow.svg);
+ if (arrow.svg.parentElement) {
+ arrow.svg.parentElement.removeChild(arrow.svg);
+ }
delete arrow.svg;
}
if (current_display_line !== null && !current_display_line_is_history) {
}
update_history();
+ // Games currently in progress, if any.
+ $("#games").text("");
+ if (current_data['games']) {
+ var games_div = document.getElementById('games');
+ for (var game_num = 0; game_num < current_data['games'].length; ++game_num) {
+ var game = current_data['games'][game_num];
+ var game_span = document.createElement("span");
+ game_span.setAttribute("class", "game");
+
+ var game_name = document.createTextNode(game['name']);
+ if (game['url'] === backend_url) {
+ game_span.appendChild(game_name);
+ } else {
+ var game_a = document.createElement("a");
+ game_a.setAttribute("href", "javascript:switch_backend('" + game['url'] + "')");
+ game_a.appendChild(game_name);
+ game_span.appendChild(game_a);
+ }
+ games_div.appendChild(game_span);
+ }
+ }
+
// The headline. Names are always fetched from current_data;
// the rest can depend a bit.
var headline;
// Request an immediate fetch with the new backend.
backend_url = new_backend_url;
+ current_analysis_data = null;
ims = 0;
request_update();
}