mirror of
https://github.com/kmitresse/Cards-Rush.git
synced 2026-05-16 09:05:28 +00:00
feat(DevWeb): Create WebsocketToolkit.js
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
export default class Message {
|
||||
constructor(rawMessage) {
|
||||
// Parse the message
|
||||
const message = JSON.parse(rawMessage);
|
||||
message.data = JSON.parse(message.data);
|
||||
|
||||
console.log(message);
|
||||
|
||||
// Set the message properties
|
||||
this.type = message.type;
|
||||
this.data = message.data;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
import Message from "./Message.js";
|
||||
|
||||
export default class WebsocketToolkit {
|
||||
|
||||
action = {}
|
||||
|
||||
constructor(url) {
|
||||
this.url = url;
|
||||
this.ws = new WebSocket(url);
|
||||
}
|
||||
|
||||
onOpen(callback) {
|
||||
this.ws.onopen = callback;
|
||||
}
|
||||
|
||||
onMessage(type, callback) {
|
||||
this.action[type] = callback;
|
||||
this.ws.onmessage = (event) => {
|
||||
const message = new Message(event.data);
|
||||
this.action[message.type](message.data)
|
||||
};
|
||||
}
|
||||
|
||||
onClose(callback) {
|
||||
this.ws.onclose = callback;
|
||||
}
|
||||
|
||||
onError(callback) {
|
||||
this.ws.onerror = callback;
|
||||
}
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
const nbColorsElement = document.getElementById("nbColors");
|
||||
const nbValuesElement = document.getElementById("nbValues");
|
||||
const nbRoundsElement = document.getElementById("nbRounds")
|
||||
|
||||
/**
|
||||
* Mise à jour du nombre de rounds max en fonction du nombre de couleurs et de valeurs séléctionnés
|
||||
*/
|
||||
function updateOnChange() {
|
||||
nbRoundsElement.max = nbColorsElement.value * nbValuesElement.value;
|
||||
|
||||
nbRoundsElement.value =
|
||||
(nbRoundsElement.value > nbRoundsElement.max)
|
||||
? nbRoundsElement.max
|
||||
: nbRoundsElement.value
|
||||
;
|
||||
}
|
||||
|
||||
nbColorsElement.addEventListener("change", updateOnChange);
|
||||
nbValuesElement.addEventListener("change", updateOnChange);
|
||||
Reference in New Issue
Block a user