gameContainer.style.width = boardSize + movesWidth + "px";
document.getElementById("boardSize").value =
(boardSize * 100) / (window.innerWidth - movesWidth);
- // timeout to avoid calling too many time the adjust method
- let timeoutLaunched = false;
- window.addEventListener("resize", () => {
- if (!timeoutLaunched) {
- timeoutLaunched = true;
- this.adjustBoard();
- setTimeout(() => { timeoutLaunched = false; }, 500);
- }
- });
+ window.addEventListener("resize", this.adjustBoard);
+ },
+ beforeDestroy: function() {
+ window.removeEventListener("resize", this.adjustBoard);
},
watch: {
cursor: function(newCursor) {
return { tooltip: !("ontouchstart" in window) };
},
gotoMove: function(index) {
- this.$emit("goto-move", index);
+ // Goto move except if click on current move:
+ if (this.cursor != index) this.$emit("goto-move", index);
},
adjustBoard: function() {
const boardContainer = document.getElementById("boardContainer");
if (!boardContainer) return; //no board on page
- let arrows = document.getElementById("arrowCanvas");
- // TODO: arrows on board don't scale
- if (!!arrows) this.$emit("reset-arrows");
const k = document.getElementById("boardSize").value;
const movesWidth = window.innerWidth >= 768 ? 280 : 0;
const minBoardWidth = 240; //TODO: these 240 and 280 are arbitrary...
boardContainer.style.width = boardSize + "px";
document.getElementById("gameContainer").style.width =
boardSize + movesWidth + "px";
+ this.$emit("redraw-board");
}
}
};