rename getOppCol into static GetOppCol + start thinking about problems page
[vchess.git] / public / javascripts / index.js
index 29e48f7..3d35c45 100644 (file)
@@ -1,6 +1,6 @@
 // Javascript for index page: mostly counters updating
 new Vue({
-       el: "#indexPage",
+       el: "#VueElement",
        data: {
                counts: {},
                curPrefix: "",
@@ -8,7 +8,13 @@ new Vue({
        },
        computed: {
                sortedCounts: function () {
-                       const variantsCounts = variantArray.map( v => {
+                       // 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(capitalizedPrefix);
+                       })
+                       .map( v => {
                                return {
                                        name: v.name,
                                        desc: v.description,
@@ -43,46 +49,10 @@ new Vue({
                };
                this.conn.onmessage = socketMessageListener;
                this.conn.onclose = socketCloseListener;
-       },
-       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
-               };
-               // Show welcome dialog box if "first visit"
-               const visited = getCookie("visited");
-               if (!visited || visited !== "1")
-                       document.getElementById("modal-b4welcome").checked = true;
-       },
-       methods: {
-               showWelcomeMsg: function() {
-                       document.getElementById("modal-b4welcome").checked = false;
-                       document.getElementById("modal-welcome").checked = true;
-               },
-               markAsVisited: function() {
-                       setCookie('visited', '1');
-                       document.getElementById('modal-welcome').checked = false;
-               },
+
+               // 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)
+               // (helper: static fonction "GetNextCol()" dans base_rules.js)
        },
 });