1
0
mirror of https://gitlab.com/animath/si/plateforme.git synced 2025-02-06 14:53:05 +00:00
Emmy D'Anello b9ce4c737c
First play with websockets
Signed-off-by: Emmy D'Anello <emmy.danello@animath.fr>
2023-04-04 10:25:47 +02:00

38 lines
1.4 KiB
JavaScript

const tournaments = JSON.parse(document.getElementById('tournaments_list').textContent)
const sockets = {}
for (let tournament of tournaments) {
let socket = new WebSocket(
'ws://' + window.location.host + '/ws/draw/' + tournament.id + '/'
)
sockets[tournament.id] = socket
// TODO: For now, we only have a chatbot. Need to implementthe drawing interface
socket.onmessage = function(e) {
console.log(e.data)
const data = JSON.parse(e.data)
console.log(data)
document.querySelector('#chat-log-' + tournament.id).value += (data.message + '\n')
}
socket.onclose = function(e) {
console.error('Chat socket closed unexpectedly')
}
document.querySelector('#chat-message-' + tournament.id + '-input').focus();
document.querySelector('#chat-message-' + tournament.id + '-input').onkeyup = function(e) {
if (e.keyCode === 13) { // enter, return
document.querySelector('#chat-message-' + tournament.id + '-submit').click();
}
};
document.querySelector('#chat-message-' + tournament.id + '-submit').onclick = function(e) {
const messageInputDom = document.querySelector('#chat-message-' + tournament.id + '-input');
const message = messageInputDom.value;
socket.send(JSON.stringify({
'message': message
}));
messageInputDom.value = '';
};
}