Fixes about display
authorBenjamin Auder <benjamin.auder@somewhere>
Mon, 24 Feb 2020 16:17:28 +0000 (17:17 +0100)
committerBenjamin Auder <benjamin.auder@somewhere>
Mon, 24 Feb 2020 16:17:28 +0000 (17:17 +0100)
client/src/base_rules.js
client/src/components/BaseGame.vue
client/src/components/MoveList.vue

index 85f63a2..a47b853 100644 (file)
@@ -46,12 +46,19 @@ export const ChessRules = class ChessRules {
   static get CanAnalyze() {
     return true;
   }
+  // Patch: issues with javascript OOP, objects can't access static fields.
+  get canAnalyze() {
+    return V.CanAnalyze;
+  }
 
   // Some variants show incomplete information,
   // and thus show only a partial moves list or no list at all.
   static get ShowMoves() {
     return "all";
   }
+  get showMoves() {
+    return V.ShowMoves;
+  }
 
   // Turn "wb" into "B" (for FEN)
   static board2fen(b) {
index dc1ec67..47776de 100644 (file)
@@ -66,7 +66,8 @@ div#baseGame(
           | {{ st.tr["Rules"] }}
     #movesList
       MoveList(
-        v-if="showMoves"
+        v-if="showMoves != 'none'"
+        :show="showMoves"
         :score="game.score"
         :message="game.scoreMsg"
         :firstNum="firstMoveNumber"
@@ -115,10 +116,12 @@ export default {
   },
   computed: {
     showMoves: function() {
-      return this.game.score != "*" || (this.vr && this.vr.ShowMoves == "all");
+      return this.game.score != "*"
+        ? "all"
+        : (this.vr ? this.vr.showMoves : "none");
     },
     showTurn: function() {
-      return this.game.score == '*' && this.vr && this.vr.ShowMoves != "all";
+      return this.game.score == '*' && this.vr && this.vr.showMoves != "all";
     },
     turn: function() {
       return this.vr
@@ -126,10 +129,10 @@ export default {
         : "";
     },
     canAnalyze: function() {
-      return this.game.mode != "analyze" && this.vr && this.vr.CanAnalyze;
+      return this.game.mode != "analyze" && this.vr && this.vr.canAnalyze;
     },
     allowDownloadPGN: function() {
-      return this.game.score != "*" || (this.vr && this.vr.ShowMoves == "all");
+      return this.game.score != "*" || (this.vr && this.vr.showMoves == "all");
     }
   },
   created: function() {
index 48f082f..6df5a70 100644 (file)
@@ -2,7 +2,8 @@
 import { store } from "@/store";
 export default {
   name: "my-move-list",
-  props: ["moves", "cursor", "score", "message", "firstNum"],
+  props: ["moves", "show", "cursor", "score", "message", "firstNum"],
+  // TODO: if show == "byrows", show only full rows.
   render(h) {
     let rootElements = [];
     if (!!this.score && this.score != "*") {