aboutsummaryrefslogtreecommitdiff
path: root/src/manage.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/manage.js')
-rw-r--r--src/manage.js79
1 files changed, 57 insertions, 22 deletions
diff --git a/src/manage.js b/src/manage.js
index 7449866..10a9896 100644
--- a/src/manage.js
+++ b/src/manage.js
@@ -1,4 +1,11 @@
-import { Court, Guest, Player } from "./data";
+import { Court, Guest, Regular } from "./data";
+import { uniqueNamesGenerator, names, adjectives } from 'unique-names-generator';
+
+const config = {
+ dictionaries: [adjectives, names],
+ style: 'capital',
+ length: 2
+}
export class Manager {
constructor(description, maxCount) {
@@ -38,7 +45,7 @@ export class Manager {
return i.render();
})
.join("");
- let elementId = this.data[0].description + "_list";
+ let elementId = this.data[0].description + "-list";
document.getElementById(elementId).innerHTML = renderedHTML;
this.addBehaviour();
}
@@ -49,8 +56,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 +101,14 @@ 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 +122,15 @@ export class GuestManager extends Manager {
active() {
return normalize(super.active());
}
+ incrementGames(list) {
+ for (let index = 0; index < this.data.length; index++) {
+ if (list.includes(this.data[index].name)) {
+ console.log("Added game count to " + this.data[index].name);
+ this.data[index].games += 1;
+ }
+ }
+ this.store();
+ }
}
export function randomLevel() {
@@ -116,33 +138,42 @@ 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());
+ const name = uniqueNamesGenerator(config);
+ console.log(name);
+ const firstName = name.split("_")[0];
+ const lastName = name.split("_")[1];
+ return new Regular(i, randomStatus(), randomLevel(), 0, firstName, lastName);
}
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);
+ const id = Number(data.id);
+ const level = Number(data.level);
+ const status = Boolean(Number(data.status));
+ const games = Number(data.games);
+ const firstName = data.firstName;
+ const 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) {
@@ -161,8 +192,12 @@ function parseCsv(data) {
return players;
}
+document.getElementById("button-player-load").addEventListener("click", () => {
+ document.getElementById("player-load").click();
+});
+
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;