make entire square clickable to select, not just the piece

This commit is contained in:
Jesse D. McDonald 2020-03-29 16:12:46 -05:00
parent c9bd8a06af
commit eb25bb31d2
1 changed files with 8 additions and 10 deletions

View File

@ -172,15 +172,15 @@ $(function (){
pieceEndMove(ui.draggable, cbSquareLocation(this));
}
function pieceClickUnselect(ev, ui) {
function squareClickUnselect(ev, ui) {
renderBoard();
}
function pieceClickSelect(ev, ui) {
const clicked = $(this);
function squareClickSelect(ev, ui) {
const clicked = $(this).children('.cb-piece.ui-draggable').not('.ui-draggable-disabled');
clicked.addClass('cb-selected');
$('#cb_board .cb-piece').off('click.select');
clicked.on('click.unselect', pieceClickUnselect);
$('#cb_board .cb-square').off('click.select');
clicked.parent().on('click.unselect', squareClickUnselect);
pieceStartMove(clicked, 'click');
}
@ -205,8 +205,6 @@ $(function (){
piece.attr('id', piece_id);
piece.removeClass('cb-selected');
piece.removeAttr('style');
piece.off('click.select');
piece.off('click.unselect');
piece.data({ side: side, type: type, location: where });
piece.appendTo(cbSquare(where));
piece.draggable({
@ -222,8 +220,8 @@ $(function (){
function renderBoard(animate) {
$('#cb_board .cb-piece').stop(true);
$('#cb_board .cb-piece').off('click.select');
$('#cb_board .cb-piece').off('click.unselect');
$('#cb_board .cb-square').off('click.select');
$('#cb_board .cb-square').off('click.unselect');
$('#cb_board .cb-square').off('click.destination');
$('#cb_board .cb-piece.cb-selected').removeClass('cb-selected');
$('#cb_board .cb-piece').removeAttr('style').appendTo('#cb_hidden');
@ -309,7 +307,7 @@ $(function (){
} else if (liveView && playing) {
const clss = game.player === PS.LIGHT ? '.cb-lt-piece' : '.cb-dk-piece';
const pieces = $('#cb_board ' + clss)
pieces.on('click.select', pieceClickSelect);
pieces.parent().on('click.select', squareClickSelect);
pieces.draggable('enable');
}