},
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:
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() {
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) {
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 => {
"POST",
{
data: {
- chall: Object.assign({},
- chall, { options: JSON.stringify(chall.options) }
+ chall: Object.assign(
+ {},
+ chall,
+ { options: JSON.stringify(chall.options) }
)
},
success: (response) => {