X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fviews%2FAnalyze.vue;h=96ecdad9081ff84712ad6bc4b70ca7b0964ba538;hb=a0c41e7e23c9ff64031739e072f38e493bac8dca;hp=af6bface160a89ea8a98975be72984b03c9035bc;hpb=602d6befd30793111d3fda6e733f73e08d8b7a30;p=vchess.git diff --git a/client/src/views/Analyze.vue b/client/src/views/Analyze.vue index af6bface..96ecdad9 100644 --- a/client/src/views/Analyze.vue +++ b/client/src/views/Analyze.vue @@ -36,33 +36,32 @@ export default { }; }, watch: { - "$route": function(to, from) { - this.gameRef.fen = to.query["fen"].replace(/_/g, " "); - this.gameRef.vname = to.params["vname"]; - this.loadGame(); - }, + // NOTE: no watcher for $route change, because if fenStart doesn't change + // then it doesn't trigger BaseGame.re_init() and the result is weird. "vr.movesCount": function(fen) { this.curFen = this.vr.getFen(); this.adjustFenSize(); }, }, created: function() { - this.gameRef.fen = this.$route.query["fen"].replace(/_/g, " "); this.gameRef.vname = this.$route.params["vname"]; - if (this.gameRef.vname != "Dark") - this.initialize(this.loadGame); - else + if (this.gameRef.vname == "Dark") { alert(this.st.tr["Analyze in Dark mode makes no sense!"]); history.back(); //or this.$router.go(-1) } + else + { + this.gameRef.fen = this.$route.query["fen"].replace(/_/g, " "); + this.initialize(); + } }, methods: { - initialize: async function(callback) { + initialize: async function() { // Obtain VariantRules object const vModule = await import("@/variants/" + this.gameRef.vname + ".js"); window.V = vModule.VariantRules; - callback(); + this.loadGame(); }, loadGame: function() { // NOTE: no need to set score (~unused) @@ -71,7 +70,7 @@ export default { this.curFen = this.game.fen; this.adjustFenSize(); this.vr = new V(this.game.fen); - this.$set(this.game, "fenStart", this.gameRef.fen); //TODO: Vue3... + this.$set(this.game, "fenStart", this.gameRef.fen); }, adjustFenSize: function() { let fenInput = document.getElementById("fen");