-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathchat.js
More file actions
87 lines (67 loc) · 2.24 KB
/
chat.js
File metadata and controls
87 lines (67 loc) · 2.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
/*-----------------------global-----------------------* */
const messageButton = document.querySelector("#message-commit");
const messageInput = document.querySelector("#message-input");
const chatMessagesDiv = document.querySelector("#chat-messages");
const ListaMensagens = [];
/*----------------------functions-----------------------*/
function adicionarMensagem(apelido, mensagem) {
const object = {
apelido: apelido,
mensagem: mensagem,
};
ListaMensagens.push(object);
}
function createElementHtml(element) {
return document.createElement(element);
}
function addClass(element, className) {
element.classList.add(className);
}
function appendChildElement(parent, child) {
parent.appendChild(child);
}
function formatarMensagens() {
const messageDiv = createElementHtml("div");
addClass(messageDiv, "chat-message");
for (let indice = 0; indice < ListaMensagens.length; indice++){
const messageApelidoSpan = createElementHtml("span");
addClass( messageApelidoSpan, "chat-message-apelido");
messageApelidoSpan.innerText = ListaMensagens[indice].apelido;
const messageItemSpan =createElementHtml("span");
addClass( messageItemSpan, "chat-message-item");
messageItemSpan.innerText = ` ${ListaMensagens[indice].mensagem}`;
const brElement = createElementHtml("br");
appendChildElement(messageDiv, messageApelidoSpan);
appendChildElement(messageDiv, messageItemSpan);
appendChildElement(messageDiv, brElement);
}
return messageDiv;
}
function atualizarHTML() {
appendChildElement(chatMessagesDiv, formatarMensagens())
clearField();
addFocus();
}
function clearField() {
messageInput.value = "";
}
function addFocus() {
messageInput.focus();
}
function commitMessageClickHandler() {
const messageInputValue = messageInput.value.trim();
const apelido = "Pernalongha";
if (messageInputValue.length == 0) {
alert("coloque uma mensagem válida");
atualizarHTML();
return;
}
adicionarMensagem(apelido, messageInputValue);
atualizarHTML();
}
/*-----------------------events-----------------------* */
function runMain() {
messageButton.addEventListener("click", commitMessageClickHandler);
}
/*----------------------main--------------------------* */
runMain();