X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fcomponents%2FBaseGame.vue;h=d36c6326a31bd9eb7f32a11962d7fb38fadb5b39;hb=f44fd3bf754c113aa6b9ab241cbf24933877ae31;hp=55ed249feae0343bcf9f45ee10beb45bebe3aab3;hpb=e01dff1a4661974349091ffa1a8596676d90a75c;p=vchess.git diff --git a/client/src/components/BaseGame.vue b/client/src/components/BaseGame.vue index 55ed249f..d36c6326 100644 --- a/client/src/components/BaseGame.vue +++ b/client/src/components/BaseGame.vue @@ -29,7 +29,7 @@ div#baseGame(tabindex=-1 @click="() => focusBg()" #pgnDiv #downloadDiv(v-if="game.vname!='Dark' || game.score!='*'") a#download(href="#") - button(@click="download") {{ st.tr["Download PGN"] }} + button(@click="download") {{ st.tr["Download"] }} PGN button(onClick="doClick('modalAdjust')") ⤢ button(v-if="game.vname!='Dark' && game.mode!='analyze'" @click="analyzePosition") @@ -81,7 +81,6 @@ export default { this.re_setVariables(); }, // Received a new move to play: - // TODO: error "flush nextTick callbacks" when observer reloads page "game.moveToPlay": function(newMove) { if (!!newMove) //if stop + launch new game, get undefined move this.play(newMove, "receive"); @@ -274,12 +273,18 @@ export default { }, animateMove: function(move, callback) { let startSquare = document.getElementById(getSquareId(move.start)); + // TODO: error "flush nextTick callbacks" when observer reloads page: + // this late check is not a fix! + if (!startSquare) + return; let endSquare = document.getElementById(getSquareId(move.end)); let rectStart = startSquare.getBoundingClientRect(); let rectEnd = endSquare.getBoundingClientRect(); let translation = {x:rectEnd.x-rectStart.x, y:rectEnd.y-rectStart.y}; let movingPiece = document.querySelector("#" + getSquareId(move.start) + " > img.piece"); + if (!movingPiece) //TODO: shouldn't happen + return; // HACK for animation (with positive translate, image slides "under background") // Possible improvement: just alter squares on the piece's way... const squares = document.getElementsByClassName("board");