projects
/
vchess.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
A few bug fixes
[vchess.git]
/
client
/
src
/
views
/
Hall.vue
diff --git
a/client/src/views/Hall.vue
b/client/src/views/Hall.vue
index
1bd5987
..
db483e1
100644
(file)
--- a/
client/src/views/Hall.vue
+++ b/
client/src/views/Hall.vue
@@
-14,7
+14,7
@@
main
p.text-center
span.variantName
| {{ curChallToAccept.vname }}
p.text-center
span.variantName
| {{ curChallToAccept.vname }}
- | {{ curChallToAccept.options.abridged }}
+ | {{ curChallToAccept.options.abridged
|| ''
}}
span {{ curChallToAccept.cadence }}
span {{ st.tr["with"] + " " + curChallToAccept.from.name }}
p.text-center(v-if="!!curChallToAccept.color")
span {{ curChallToAccept.cadence }}
span {{ st.tr["with"] + " " + curChallToAccept.from.name }}
p.text-center(v-if="!!curChallToAccept.color")
@@
-52,8
+52,8
@@
main
)
| {{ v.display }}
// Variant-specific options (often at least randomness)
)
| {{ v.display }}
// Variant-specific options (often at least randomness)
- fieldset(v-if="!!newchallenge.V")
- div(v-for="select of newchallenge.V.Options.select")
+ fieldset(v-if="!!newchallenge.V
&& newchallenge.V.Options
")
+ div(v-for="select of newchallenge.V.Options.select
|| []
")
label(:for="select.variable + '_opt'") {{ st.tr[select.label] }} *
select(:id="select.variable + '_opt'")
option(
label(:for="select.variable + '_opt'") {{ st.tr[select.label] }} *
select(:id="select.variable + '_opt'")
option(
@@
-62,7
+62,7
@@
main
:selected="o.value == select.defaut"
)
| {{ st.tr[o.label] }}
:selected="o.value == select.defaut"
)
| {{ st.tr[o.label] }}
- div(v-for="check of newchallenge.V.Options.check")
+ div(v-for="check of newchallenge.V.Options.check
|| []
")
label(:for="check.variable + '_opt'") {{ st.tr[check.label] }} *
input(
:id="check.variable + '_opt'"
label(:for="check.variable + '_opt'") {{ st.tr[check.label] }} *
input(
:id="check.variable + '_opt'"
@@
-178,7
+178,7
@@
main
)
td {{ pc.vname }}
td {{ pc.cadence }}
)
td {{ pc.vname }}
td {{ pc.cadence }}
- td(:class="getRandomnessClass(pc)") {{ pc.options.abridged }}
+ td(:class="getRandomnessClass(pc)") {{ pc.options.abridged
|| ''
}}
td.remove-preset(@click="removePresetChall($event, pc)")
img(src="/images/icons/delete.svg")
.row
td.remove-preset(@click="removePresetChall($event, pc)")
img(src="/images/icons/delete.svg")
.row
@@
-300,10
+300,6
@@
export default {
}
},
created: function() {
}
},
created: function() {
- // TODO: remove this patch soon:
- this.presetChalls.forEach(pc => {
- if (!pc.options) pc.options = { randomness: pc.randomness };
- });
document.addEventListener('visibilitychange', this.visibilityChange);
window.addEventListener('focus', this.onFocus);
window.addEventListener('blur', this.onBlur);
document.addEventListener('visibilitychange', this.visibilityChange);
window.addEventListener('focus', this.onFocus);
window.addEventListener('blur', this.onBlur);
@@
-479,10
+475,12
@@
export default {
this.conn = null;
},
getRandomnessClass: function(pc) {
this.conn = null;
},
getRandomnessClass: function(pc) {
- if (!pc.options.randomness) return {};
- return {
- ["random-" + pc.options.randomness]: true
- };
+ const opts = pc.options;
+ if (opts.randomness === undefined && opts.random === undefined)
+ return {};
+ if (opts.randomness !== undefined)
+ return { ["random-" + opts.randomness]: true };
+ return { ["random-" + (opts.random ? 2 : 0)]: true };
},
anonymousCount: function() {
let count = 0;
},
anonymousCount: function() {
let count = 0;
@@
-1084,30
+1082,31
@@
export default {
error = this.st.tr["Wrong color"];
}
}
error = this.st.tr["Wrong color"];
}
}
- if (!!error) {
- alert(error);
- return;
- }
- window.V = this.newchallenge.V;
- error = checkChallenge(this.newchallenge);
if (error) {
alert(error);
return;
}
if (error) {
alert(error);
return;
}
- // NOTE: "from" information is not required here
- let chall = Object.assign({}, this.newchallenge);
- chall.options = {};
+ window.V = this.newchallenge.V;
+ let chall = Object.assign({ options: {} }, this.newchallenge);
// Get/set options variables (if any) / TODO: v-model?!
// Get/set options variables (if any) / TODO: v-model?!
- for (const check of this.newchallenge.V.Options.check) {
+ for (const check of this.newchallenge.V.Options.check
|| []
) {
const elt = document.getElementById(check.variable + "_opt");
if (elt.checked) chall.options[check.variable] = true;
}
const elt = document.getElementById(check.variable + "_opt");
if (elt.checked) chall.options[check.variable] = true;
}
- for (const select of this.newchallenge.V.Options.select) {
+ for (const select of this.newchallenge.V.Options.select
|| []
) {
const elt = document.getElementById(select.variable + "_opt");
const elt = document.getElementById(select.variable + "_opt");
- chall.options[select.variable] = elt.value;
+ const tryIntVal = parseInt(elt.value, 10);
+ chall.options[select.variable] =
+ (isNaN(tryIntVal) ? elt.value : tryIntVal);
+ }
+ error = checkChallenge(chall);
+ if (error) {
+ alert(this.st.tr[error]);
+ return;
}
chall.options.abridged = V.AbbreviateOptions(chall.options);
// Add only if not already issued (not counting FEN):
}
chall.options.abridged = V.AbbreviateOptions(chall.options);
// Add only if not already issued (not counting FEN):
+ // NOTE: "from" information is not required here
if (this.challenges.some(c =>
(
c.from.sid == this.st.user.sid ||
if (this.challenges.some(c =>
(
c.from.sid == this.st.user.sid ||
@@
-1397,7
+1396,8
@@
export default {
moves: [],
clocks: [-1, -1], //-1 = unstarted
chats: [],
moves: [],
clocks: [-1, -1], //-1 = unstarted
chats: [],
- score: "*"
+ score: "*",
+ options: JSON.stringify(gameInfo.options)
}
);
setTimeout(
}
);
setTimeout(