]> git.sesse.net Git - remoteglot/blobdiff - www/js/remoteglot.js
Fix click-to-drag and click-to-suggest post-jQuery.
[remoteglot] / www / js / remoteglot.js
index 3ebba936fc7f1480dc99f954d85ea55360e19454..0aa071aa35a6d88fe6527199eaa3d444a6595a3a 100644 (file)
@@ -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;
                }
        }