Uma implementação simples de uma engine de chat utilizando técnica de empilhamento com arrays e atualização de elementos com innerHTML.
- Crie um arquivo HTML chamada:
index.html
- Crie um arquivo Javascript chamado:
chat.js
No arquivo HTML index.html
- Faça o carregamento do Javascript no HTML
- Crie uma estrutura de HTML que seja similar a essa:
<div id="chat-container">
<div id="chat-messages"></div>
<input type="text" id="message-input" placeholder="Digite uma mensagem..." autofocus>
<button id="message-commit">Adicionar mensagem</button>
</div>
No arquivo Javascript chat.js
- Crie um array chamado
listaMensagens
- Implemente uma função chamada
adicionarMensagem
. Essa função deve receber 2 argumentos:apelido
emensagem
. Essa função deve empilhar no arraylistaMensagens
um objeto com a seguinte estrutura:
{
"apelido": "...",
"mensagem": "...",
}
- Implemente uma função chamada
formatarMensagens
, sem argumentos. O objetivo dessa função é percorrer o arraylistaMensagens
e montar uma estrutura de HTML com a seguinte estrutura:
<div class="chat-message">
<span class="chat-message-apelido">
<!-- implementar apelido aqui -->
</span>
<span class="chat-message-item">
<!-- implementar mensagem -->
</span>
</div>
- Implemente uma função chamada:
atualizarHTML
, sem argumentos. O objetivo dessa função é receber os valores formatados da funçãoformatarMensagens
e atualizar o conteudo da div#chat-messages
. - Implemente uma função chamada
commitMessageClickHandler
, sem argumentos. Essa função deve ser executada ao pressionar o botão#message-commit
. O objetivo dessa função é executar a função:adicionarMensagem
passando o valor de#message-input
com um apelido que você desejar associar. Não esquecer de limpar o input#message-input
. - Faça o tratamento para evitar mensagens em branco utilizando o método .trim() da classe String.