X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=www%2Fjs%2Fremoteglot.js;h=0aa071aa35a6d88fe6527199eaa3d444a6595a3a;hb=cbee6ab0a455de36edd82f709318ff6cbd7db871;hp=3ebba936fc7f1480dc99f954d85ea55360e19454;hpb=aed82c12eaa7ae3c093561e29b8b6ec4355cd781;p=remoteglot diff --git a/www/js/remoteglot.js b/www/js/remoteglot.js index 3ebba93..0aa071a 100644 --- a/www/js/remoteglot.js +++ b/www/js/remoteglot.js @@ -839,6 +839,8 @@ let update_refutation_lines = function() { tbl.replaceChildren(); if (display_lines.length < 2) { + // Update the move highlight, as we've rewritten all the HTML. + update_move_highlight(); return; } @@ -2020,7 +2022,11 @@ let explore_hash = function(fen) { fetch(backend_hash_url + "?fen=" + fen, { signal }) .then((response) => response.json()) .then((data) => { show_explore_hash_results(data, fen); }) - .catch((err) => {}); + .catch((err) => { + // Truncate the lines, since we already cleared the display. + display_lines = [ display_lines[0], display_lines[1] ]; + update_move_highlight(); + }); } /** Process the JSON response from a hash probe request. @@ -2057,12 +2063,12 @@ let onDragStart = function(source, piece, position, orientation) { } let mousedownSquare = function(e) { - if (!e.target || !e.target.matches('.square-55d63')) { + if (!e.target || !e.target.closest('.square-55d63')) { return; } reverse_dragging_from = null; - let square = e.target.getAttribute('data-square'); + let square = e.target.closest('.square-55d63').getAttribute('data-square'); let pseudogame = new Chess(display_fen); if (pseudogame.game_over() === true) { @@ -2087,13 +2093,13 @@ let mousedownSquare = function(e) { } let mouseupSquare = function(e) { - if (!e.target || !e.target.matches('.square-55d63')) { + if (!e.target || !e.target.closest('.square-55d63')) { return; } if (reverse_dragging_from === null) { return; } - let source = e.target.getAttribute('data-square'); + let source = e.target.closest('.square-55d63').getAttribute('data-square'); let target = reverse_dragging_from; reverse_dragging_from = null; if (onDrop(source, target) !== 'snapback') { @@ -2222,7 +2228,7 @@ let onSnapEnd = function(source, target) { } let line = display_lines[i]; if (line.pv[line.start_display_move_num] === move.san) { - show_line(i, line.start_display_move_num); + show_line(i, 0); return; } }