aboutsummaryrefslogtreecommitdiff
path: root/src/manage.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/manage.js')
-rw-r--r--src/manage.js48
1 files changed, 31 insertions, 17 deletions
diff --git a/src/manage.js b/src/manage.js
index 7449866..f8fe220 100644
--- a/src/manage.js
+++ b/src/manage.js
@@ -1,4 +1,4 @@
-import { Court, Guest, Player } from "./data";
+import { Court, Guest, Regular } from "./data";
export class Manager {
constructor(description, maxCount) {
@@ -49,8 +49,8 @@ export class Manager {
p.addEventListener("click", () => {
this.data[idx].toggle();
this.store();
- p.classList.toggle("is-success");
- p.classList.toggle("is-danger");
+ p.classList.toggle("secondary");
+ p.classList.toggle("outline");
});
}
}
@@ -94,8 +94,10 @@ function normalize(data) {
}
export class GuestManager extends Manager {
- constructor() {
- super("Guest", 18);
+ constructor(description, count) {
+ if ( typeof description === "undefined" ) { description = "Guest"; };
+ if ( typeof count === "undefined" ) { count = 18; };
+ super(description, count);
}
createItem(i) {
return new Guest(i, randomStatus());
@@ -109,6 +111,13 @@ export class GuestManager extends Manager {
active() {
return normalize(super.active());
}
+ update(list) {
+ for (let index = 0; index < this.data.length; index++ ){
+ if (this.data[index].name in list) {
+ this.data[index].games += 1;
+ }
+ }
+ }
}
export function randomLevel() {
@@ -116,33 +125,38 @@ export function randomLevel() {
return Math.floor(Math.random() * maxLevel + 1);
}
-export class RegularManager extends Manager {
+export class RegularManager extends GuestManager {
constructor() {
super("Regular", 71);
addLoadBehaviour(this);
}
createItem(i) {
- return new Player(i, randomStatus(), randomLevel());
+ return new Regular(i, randomStatus(), randomLevel());
}
loadItem(data) {
let id = Number(data.id);
- let name = data.name;
let level = Number(data.level);
let status = Boolean(Number(data.status));
let games = Number(data.games);
- return new Player(id, status, level, games, name);
+ let firstName = data.firstName;
+ let lastName = data.lastName;
+ return new Regular(id, status, level, games, firstName, lastName);
}
- active() {
- return normalize(super.active());
+ reset() {
+ for (let index = 0; index < this.data.length; index++ ){
+ this.data[index].games = 0;
+ this.data[index].status = false;
+ }
}
}
function parseLineToPlayer(data) {
- var info = data.split(",");
- var id = Number(info[0].trim());
- var name = info[1].trim() + " " + info[2].trim();
- var level = Number(info[3].trim());
- return new Player(id, randomStatus(), level, 0, name);
+ const info = data.split(",");
+ const id = Number(info[0].trim());
+ const firstName = info[1].trim();
+ const lastName = info[2].trim();
+ const level = Number(info[3].trim());
+ return new Regular(id, randomStatus(), level, 0, firstName, lastName);
}
function parseCsv(data) {
@@ -162,7 +176,7 @@ function parseCsv(data) {
}
function addLoadBehaviour(p) {
- const f = document.querySelector("#player-load input[type=file]");
+ const f = document.getElementById("player-load");
f.addEventListener("change", () => {
const file = f.files[0];
let importData;