+ notation: function(moveIdx) {
+ const move = this.moves[moveIdx];
+ if (this.score != "*") return getFullNotation(move);
+ if (
+ ['none','highlight'].includes(this.show) ||
+ (
+ this.show == "byrow" &&
+ moveIdx == this.moves.length-1 &&
+ moveIdx % 2 == 0
+ )
+ ) {
+ return "?";
+ }
+ return getFullNotation(move);
+ },
+ btnTooltipClass: function() {
+ return { tooltip: !("ontouchstart" in window) };
+ },
+ clickRulesBtn: function() {
+ const key = "rr_" + this.vname;
+ if (!localStorage.getItem(key)) {
+ localStorage.setItem(key, '1');
+ document.getElementById("rulesBtn").classList.remove("highlightRules");
+ }
+ this.$emit("showrules");
+ },
+ gotoMove: function(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
+ const k = document.getElementById("boardSize").value;
+ const movesWidth = window.innerWidth >= 768 ? 280 : 0;
+ const minBoardWidth = 240; //TODO: these 240 and 280 are arbitrary...
+ // Value of 0 is board min size; 100 is window.width [- movesWidth]
+ const boardSize =
+ minBoardWidth +
+ (k * (window.innerWidth - (movesWidth + minBoardWidth))) / 100;
+ localStorage.setItem("boardSize", boardSize);
+ boardContainer.style.width = boardSize + "px";
+ document.getElementById("gameContainer").style.width =
+ boardSize + movesWidth + "px";
+ this.$emit("redraw-board");
+ }
+ }