X-Git-Url: https://git.auder.net/?p=vchess.git;a=blobdiff_plain;f=client%2Fsrc%2Fviews%2FHall.vue;h=94a7bbad1d9f59f3288c5d0c775a393d68699384;hp=9fcc2e0d27007215b3e544244a5677a71a10bf40;hb=bae751bc6bc548791772c3ff5883a03deeb77264;hpb=902378e6276422d38b45f7d79282c2462f1124b1 diff --git a/client/src/views/Hall.vue b/client/src/views/Hall.vue index 9fcc2e0d..94a7bbad 100644 --- a/client/src/views/Hall.vue +++ b/client/src/views/Hall.vue @@ -172,9 +172,11 @@ main th {{ st.tr["Options"] }} th tbody + // TODO: remove the check !!pc.options tr( v-for="pc in presetChalls" @click="newChallFromPreset(pc)" + v-if="!!pc.options" ) td {{ pc.vname }} td {{ pc.cadence }} @@ -315,7 +317,7 @@ export default { id: my.id, name: my.name, tmpIds: { - tmpId: { page: "/", focus: true } + [tmpId]: { page: "/", focus: true } } } ); @@ -505,7 +507,7 @@ export default { }, invColor: function(c) { if (c == 'w') return this.st.tr["Black"]; - return this.tr.tr["White"]; + return this.st.tr["White"]; }, partialResetNewchallenge: function() { // Reset potential target and custom FEN: @@ -1059,6 +1061,7 @@ export default { this.newchallenge.vid = pchall.vid; this.newchallenge.cadence = pchall.cadence; this.newchallenge.options = pchall.options; + this.newchallenge.fromPreset = true; this.loadNewchallVariant(this.issueNewChallenge); }, issueNewChallenge: async function() { @@ -1094,17 +1097,20 @@ export default { return; } window.V = this.newchallenge.V; - let chall = Object.assign({ options: {} }, this.newchallenge); - // Get/set options variables (if any) / TODO: v-model?! - for (const check of this.newchallenge.V.Options.check || []) { - const elt = document.getElementById(check.variable + "_opt"); - chall.options[check.variable] = elt.checked; - } - for (const select of this.newchallenge.V.Options.select || []) { - const elt = document.getElementById(select.variable + "_opt"); - const tryIntVal = parseInt(elt.value, 10); - chall.options[select.variable] = - (isNaN(tryIntVal) ? elt.value : tryIntVal); + let chall = Object.assign({}, this.newchallenge); + if (!this.newchallenge.fromPreset) chall.options = { options: {} }; + if (V.Options && !this.newchallenge.fromPreset) { + // Get/set options variables (if any) / TODO: v-model?! + for (const check of this.newchallenge.V.Options.check || []) { + const elt = document.getElementById(check.variable + "_opt"); + chall.options[check.variable] = elt.checked; + } + for (const select of this.newchallenge.V.Options.select || []) { + const elt = document.getElementById(select.variable + "_opt"); + const tryIntVal = parseInt(elt.value, 10); + chall.options[select.variable] = + (isNaN(tryIntVal) ? elt.value : tryIntVal); + } } error = checkChallenge(chall); if (error) { @@ -1132,7 +1138,7 @@ export default { alert(this.st.tr["Challenge already exists"]); return; } - if (this.newchallenge.memorize) this.addPresetChall(this.newchallenge); + if (this.newchallenge.memorize) this.addPresetChall(chall); delete chall["V"]; delete chall["diag"]; const finishAddChallenge = cid => { @@ -1214,8 +1220,10 @@ export default { "POST", { data: { - chall: Object.assign({}, - chall, { options: JSON.stringify(chall.options) } + chall: Object.assign( + {}, + chall, + { options: JSON.stringify(chall.options) } ) }, success: (response) => { @@ -1472,8 +1480,8 @@ div#peopleWrap > .card #chat > .card max-width: 100% - margin: 0; - border: none; + margin: 0 + border: none #players > p margin-left: 5px