X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=www%2Fjs%2Fremoteglot.js;h=27ded16052cb45076f37b00534f1f448f20bfdfc;hb=a8f854462950e88d74aa73102ff3d431caa52b0e;hp=b0c89cb750a8e179a0e87b03132da53fec7db000;hpb=851ce06837efdb286c4fe801a1949ecc0f694c93;p=remoteglot diff --git a/www/js/remoteglot.js b/www/js/remoteglot.js index b0c89cb..27ded16 100644 --- a/www/js/remoteglot.js +++ b/www/js/remoteglot.js @@ -380,9 +380,7 @@ let sync_server_clock = function(server_date_string) { let clear_arrows = function() { for (let i = 0; i < arrows.length; ++i) { if (arrows[i].svg) { - if (arrows[i].svg.parentElement) { - arrows[i].svg.parentElement.removeChild(arrows[i].svg); - } + arrows[i].svg.remove(); delete arrows[i].svg; } } @@ -506,11 +504,12 @@ let position_arrow = function(arrow) { return; } - let zoom_factor = document.getElementById("board").getBoundingClientRect().width / 400.0; + let board_width = parseInt(document.querySelector(".board-b72b1").style.width, 10); + let zoom_factor = board_width / 400.0; let line_width = arrow.line_width * zoom_factor; let arrow_size = arrow.arrow_size * zoom_factor; - let square_width = document.querySelector(".square-a8").getBoundingClientRect().width; + let square_width = board_width / 8; let from_y, to_y, from_x, to_x; if (board.orientation() === 'black') { from_y = (arrow.from_row + 0.5)*square_width; @@ -527,8 +526,8 @@ let position_arrow = function(arrow) { let SVG_NS = "http://www.w3.org/2000/svg"; let XHTML_NS = "http://www.w3.org/1999/xhtml"; let svg = document.createElementNS(SVG_NS, "svg"); - svg.setAttribute("width", /** @type{number} */ (document.getElementById("board").getBoundingClientRect().width)); - svg.setAttribute("height", /** @type{number} */ (document.getElementById("board").getBoundingClientRect().height)); + svg.setAttribute("width", board_width); + svg.setAttribute("height", board_width); svg.setAttribute("style", "position: absolute"); svg.setAttribute("position", "absolute"); svg.setAttribute("version", "1.1"); @@ -631,7 +630,7 @@ let find_nonstupid_moves = function(data, margin, invert) { let pv_score = undefined; for (let move in data['refutation_lines']) { let line = data['refutation_lines'][move]; - let score = compute_score_sort_key(line['score'], line['depth'], invert, false); + let score = compute_score_sort_key(line['score'], line['depth'], invert); if (move == data['pv'][0]) { pv_score = score; } @@ -1408,6 +1407,13 @@ let update_sparkline = function(data) { if (score < min_score) min_score = score; if (score > max_score) max_score = score; } + if (max_score - min_score < 100) { + if (Math.abs(max_score) >= Math.abs(min_score)) { + max_score = min_score + 100; + } else { + min_score = max_score - 100; + } + } const h = scorespark.getBoundingClientRect().height; @@ -2341,10 +2347,9 @@ let compute_plot_score = function(score) { * @param score The score digest tuple. * @param {?number} depth Depth the move has been computed to, or null. * @param {boolean} invert Whether black is to play. - * @param {boolean=} depth_secondary_key * @return {number} */ -let compute_score_sort_key = function(score, depth, invert, depth_secondary_key) { +let compute_score_sort_key = function(score, depth, invert) { let s; if (!score) { return -10000000; @@ -2368,11 +2373,7 @@ let compute_score_sort_key = function(score, depth, invert, depth_secondary_key) } if (s) { if (invert) s = -s; - if (depth_secondary_key) { - return s * 200 + (depth || 0); - } else { - return s; - } + return s; } else { return null; }