commit 106aa3a629e5544b2ee1cf3b0bba27c3613bcbb2
parent ce00a7951979e861adbb7e0e22594656a09f41ed
Author: Oshgnacknak <osh@oshgnacknak.de>
Date: Sun, 16 Dec 2018 12:22:24 +0100
Remove player feature
Diffstat:
3 files changed, 30 insertions(+), 9 deletions(-)
diff --git a/domlib.js b/domlib.js
@@ -26,5 +26,12 @@ function updatePlayerTable() {
}
}
+function onEnter(callback) {
+ return function(event) {
+ if (event.keyCode == 13) {
+ callback(event);
+ }
+ }
+}
-export {createElement, updatePlayerTable};
+export {createElement, updatePlayerTable, onEnter};
diff --git a/index.html b/index.html
@@ -19,6 +19,9 @@
<p id="player_add">
Name: <input id="player_name_input" type="text" value="">
<button id="player_add_button">Add Player</button>
+ <br>
+ ID: <input id="player_id_input" type="number" value="">
+ <button id="player_remove_button">Remove Player</button>
</p>
<p>
diff --git a/main.js b/main.js
@@ -1,25 +1,36 @@
-import {createElement, updatePlayerTable} from "./domlib.js";
+import {createElement, updatePlayerTable, onEnter} from "./domlib.js";
import players from "./players.js";
import Player from "./player.js";
player_add_button.onclick = addPlayer;
-player_name_input.onkeypress = event => {
- if (event.keyCode == 13) {
- addPlayer();
- }
-}
+player_name_input.onkeypress = onEnter(addPlayer);
-function addPlayer(event){
+player_remove_button.onclick = removePlayer;
+player_id_input.onkeypress = onEnter(removePlayer);
+
+function addPlayer(){
players.push(new Player(player_name_input.value, players.length));
player_name_input.value = "";
updatePlayerTable();
}
+function removePlayer(){
+ const id = player_id_input.value-1;
+ if (isNaN(id) || id < 0) {
+ return;
+ }
+ players.splice(id, 1);
+ for (let i = id; i < players.length; i++) {
+ players[i].id = i;
+ }
+ updatePlayerTable();
+}
+
function main() {
updatePlayerTable();
}
window.addEventListener("load", main);
window.onbeforeunload = event => {
- return "true";
+ return players.length > 0;
}