X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fcomponents%2FBaseGame.vue;h=ee3bea181fb52a12e57298cc9b3fd3e79b2245ac;hb=bc1e1f2adf7de1efdf29933a666bcce4214e132f;hp=ee8b1fcbd6bbc46d687bea3aa2c7d699a7381d54;hpb=95bc4bf5248120712946500416543bbfc6b7ae85;p=vchess.git diff --git a/client/src/components/BaseGame.vue b/client/src/components/BaseGame.vue index ee8b1fcb..ee3bea18 100644 --- a/client/src/components/BaseGame.vue +++ b/client/src/components/BaseGame.vue @@ -22,6 +22,7 @@ div#baseGame :incheck="incheck" @play-move="play" @click-square="clickSquare" + @rendered="adjustSize" ) #turnIndicator(v-if="showTurn") {{ turn }} #controls.button-group @@ -43,6 +44,7 @@ div#baseGame p#fenAnalyze(v-show="showFen") {{ (!!vr ? vr.getFen() : "") }} #movesList MoveList( + ref="moveslist" :show="showMoves" :canAnalyze="canAnalyze" :canDownload="allowDownloadPGN" @@ -167,7 +169,8 @@ export default { baseGameDiv.tabIndex = 0; baseGameDiv.addEventListener("click", this.focusBg); baseGameDiv.addEventListener("keydown", this.handleKeys); - baseGameDiv.addEventListener("wheel", this.handleScroll); + if (this.st.settings.scrollmove) + baseGameDiv.addEventListener("wheel", this.handleScroll); } document.getElementById("eogDiv") .addEventListener("click", processModalClick); @@ -205,6 +208,9 @@ export default { if (e.deltaY < 0) this.undo(); else if (e.deltaY > 0) this.play(); }, + adjustSize: function() { + this.$refs["moveslist"].adjustBoard("vertical"); + }, redrawBoard: function() { this.$refs["board"].re_setDrawings(); }, @@ -340,6 +346,7 @@ export default { pgn += '[Url "' + params.serverUrl + '/game/' + this.game.id + '"]\n'; if (!!this.game.cadence) pgn += '[Cadence "' + this.game.cadence + '"]\n'; + pgn += '[Options "' + JSON.stringify(this.game.options) + '"]\n'; pgn += '\n'; for (let i = 0; i < this.moves.length; i += 2) { if (i > 0) pgn += " "; @@ -520,7 +527,8 @@ export default { } this.inMultimove = true; //potentially this.cursor++; - } else if (!navigate) { + } + else if (!navigate) { // Already in the middle of a multi-move const L = this.moves.length; if (!Array.isArray(this.moves[L-1])) @@ -548,7 +556,8 @@ export default { if (moveIdx < move.length) setTimeout(executeMove, 500); else afterMove(smove, initurn); }); - } else { + } + else { playSubmove(smove); if (moveIdx < move.length) executeMove(); else afterMove(smove, initurn); @@ -567,7 +576,7 @@ export default { } } if (score != "*" && ["analyze", "versus"].includes(this.mode)) { - const message = getScoreMessage(score); + const message = getScoreMessage(score, V.ReverseColors); // Show score on screen this.showEndgameMsg(score + " . " + this.st.tr[message]); } @@ -600,7 +609,8 @@ export default { const L = this.moves.length; // NOTE: always emit the score, even in unfinished this.$emit("newmove", this.moves[L-1], { score: this.score }); - } else { + } + else { this.inPlay = false; if (this.stackToPlay.length > 0) // Move(s) arrived in-between @@ -659,7 +669,8 @@ export default { this.incheck = this.vr.getCheckSquares(); if (this.cursor >= 0) this.lastMove = this.moves[this.cursor]; else this.lastMove = null; - } else { + } + else { if (!move) { const minCursor = this.moves.length > 0 && this.moves[0].notation == "..."