{{ formattedTime }}
@@ -299,7 +217,7 @@ new Vue({
},
reset: function(e) {
this.running = false;
- this.time = 10; //1:30
+ this.time = 5400; //1:30
},
start: function() {
if (!this.running)
@@ -321,6 +239,88 @@ new Vue({
this.reset();
},
},
+ 'my-ranking': {
+ props: ['players','sortByScore','writeScoreToDb'],
+ template: `
+
+
+
+ Rang |
+ Joueur |
+ Points |
+ Mini-pts |
+
+
+ {{ p.rank }} |
+ {{ p.prenom }} {{ p.nom }} |
+ {{ p.pdt }} |
+ {{ p.session }} |
+
+
+
+
+
+
+
+ `,
+ computed: {
+ sortedPlayers: function() {
+ let res = this.rankPeople();
+ // Add rank information (taking care of ex-aequos)
+ let rank = 1;
+ for (let i=0; i
{ return Object.assign({}, p); }) //to not alter original array
+ .sort(this.sortByScore);
+ },
+ resetPlayers: function() {
+ this.players
+ .slice(1) //discard Toto
+ .forEach( p => {
+ p.pdt = 0;
+ p.session = 0;
+ p.available = 1;
+ });
+ this.writeScoreToDb();
+ document.getElementById("runPairing").click(); //TODO: hack...
+ },
+ restoreLast: function() {
+ let xhr = new XMLHttpRequest();
+ let self = this;
+ xhr.onreadystatechange = function() {
+ if (this.readyState == 4 && this.status == 200)
+ {
+ let players = JSON.parse(xhr.responseText);
+ if (players.length > 0)
+ {
+ players.unshift({ //add ghost 4th player for 3-players tables
+ prenom: "Toto",
+ nom: "",
+ pdt: 0,
+ session: 0,
+ available: 0,
+ });
+ self.players = players;
+ }
+ }
+ };
+ xhr.open("GET", "scripts/rw_players.php?restore=1", true);
+ xhr.send(null);
+ },
+ },
+ },
},
created: function() {
let xhr = new XMLHttpRequest();