// Javascript for index page: mostly counters updating
new Vue({
- el: "#indexPage",
+ el: "#VueElement",
data: {
counts: {},
curPrefix: "",
conn: null,
+ display: "variants",
},
computed: {
sortedCounts: function () {
- // TODO: priorité aux parties corr où c'est à nous de jouer !
+ const capitalizedPrefix = this.curPrefix.replace(/^\w/, c => c.toUpperCase());
const variantsCounts = variantArray
.filter( v => {
- return v.name.startsWith(this.curPrefix);
+ return v.name.startsWith(capitalizedPrefix);
})
.map( v => {
return {
},
},
created: function() {
+ this.setDisplay();
+ window.onhashchange = this.setDisplay;
+
const url = socketUrl;
const sid = getRandString();
this.conn = new WebSocket(url + "/?sid=" + sid + "&page=index");
if (data.code == "counts")
this.counts = data.counts;
else if (data.code == "increase")
- this.counts[data.vname]++;
+ this.counts[data.vid]++;
else if (data.code == "decrease")
- this.counts[data.vname]--;
+ this.counts[data.vid]--;
};
const socketCloseListener = () => {
this.conn = new WebSocket(url + "/?sid=" + sid + "&page=index");
};
this.conn.onmessage = socketMessageListener;
this.conn.onclose = socketCloseListener;
+
+ // TODO: AJAX call get corr games (all variants)
+ // si dernier lastMove sur serveur n'est pas le mien et nextColor == moi, alors background orange
+ // ==> background orange si à moi de jouer par corr (sur main index)
+ // (helper: static fonction "GetNextCol()" dans base_rules.js)
+
},
-// mounted: function() {
-// // Handle key stroke
-// document.onkeydown = event => {
-// // Is it Back or Esc? If yes, apply action on current word
-// if (event.keyCode == 8) //Back
-// {
-// event.preventDefault();
-// this.curPrefix = this.curPrefix.slice(0,-1);
-// }
-// else if (event.keyCode == 27) //Esc
-// {
-// event.preventDefault();
-// this.curPrefix = "";
-// }
-// // Is it alphanumeric? If yes, stack it
-// else if (_.range(48,58).includes(event.keyCode)
-// || _.range(65,91).includes(event.keyCode)
-// || _.range(97,123).includes(event.keyCode))
-// {
-// let newChar = String.fromCharCode(event.keyCode);
-// this.curPrefix += this.curPrefix.length==0
-// ? newChar.toUpperCase()
-// : newChar.toLowerCase();
-// }
-// // ...ignore everything else
-// };
-// },
-});
+ methods: {
+ setDisplay: function() {
+ if (!location.hash)
+ location.hash = "#variants"; //default
+ this.display = location.hash.substr(1);
+ },
-// TODO:
-// si dernier lastMove sur serveur n'est pas le mien et nextColor == moi, alors background orange
-// ==> background orange si à moi de jouer par corr (sur main index)
-// (fonction "getNextCol()" dans base_rules.js ?)
+ },
+});