X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=public%2Fjavascripts%2Fcomponents%2Frules.js;h=e9df1ecc0c0a1699d5d00c32beb4b8b8fb5c5a9f;hb=582df3497b0f91dd4b645386a059eac9e98da1bb;hp=660f0be9976e56109716fed35aed292a3affb755;hpb=da06a6eb0237123ce43fdb01cb06246b8b57f5e5;p=vchess.git diff --git a/public/javascripts/components/rules.js b/public/javascripts/components/rules.js index 660f0be9..e9df1ecc 100644 --- a/public/javascripts/components/rules.js +++ b/public/javascripts/components/rules.js @@ -1,18 +1,44 @@ // Load rules on variant page Vue.component('my-rules', { + props: ["settings"], data: function() { - return { content: "" }; + return { + content: "", + display: "rules", + mode: "computer", + mycolor: "w", + allowMovelist: true, + fen: "", + }; }, - template: `
`, + + // TODO: third button "see a sample game" (comp VS comp) + + template: ` +
+
+ + +
+
+ + +
+ `, mounted: function() { // AJAX request to get rules content (plain text, HTML) - ajax("/rules/" + variant, "GET", response => { + ajax("/rules/" + variant.name, "GET", response => { let replaceByDiag = (match, p1, p2) => { - const args = self.parseFen(p2); + const args = this.parseFen(p2); return getDiagram(args); }; - self.content = response.replace(/(fen:)([^:]*):/g, replaceByDiag); - } + this.content = response.replace(/(fen:)([^:]*):/g, replaceByDiag); + }); }, methods: { parseFen(fen) { @@ -21,7 +47,12 @@ Vue.component('my-rules', { position: fenParts[0], marks: fenParts[1], orientation: fenParts[2], + shadow: fenParts[3], }; }, + startComputerGame: function() { + this.fen = V.GenRandInitFen(); + this.display = "computer"; + }, }, })