Olá a todos. No terminal onde subo o servidor com
npm start
tenho recebido a seguinte mensagem:
(node:3760) [DEP0066] DeprecationWarning: OutgoingMessage.prototype._headers is deprecated
Não sei se é devido a essa mensagem, mas o botão "Importar Negociações" parou de funcionar. Tava funcionando até antes da implementação do JSON.parse, exibindo o array de objetos. Agora nada.
class NegociacaoController {
constructor() {
let $ = document.querySelector.bind(document);
this._inputData = $("#data");
this._inputQtde = $("#quantidade");
this._inputValor = $("#valor");
this._listaNegociacoes = new Bind(
new ListaNegociacoes(), new NegociacoesView($('#negociacoesView'), 'adiciona', 'esvazia'));
this._mensagem = new Bind(
new Mensagem(), new MensagemView($('#mensagem'), 'texto'));
}
adicionaNegociacao(event) {
event.preventDefault();
this._listaNegociacoes.adiciona(this._criaNegociacao());
this._mensagem.texto = 'Negociação adicionada com sucesso!';
this._limpaFormulario();
}
importaNegociacoes() {
let xhr = new XMLHttpRequest();
xhr.open('GET', 'negociacoes/semana');
xhr.onreadystatechange = () => {
if (xhr.readyState == 4) {
if (xhr.status == 200) {
JSON.parse(xhr.responseText)
.map(objeto => new Negociacao(new Date(objeto.data), objeto.quantidade, objeto.valor))
.forEach(negociacao => this._listaNegociacoes.adiciona(negociacao));
} else {
console.log(xhr.responseText);
this._mensagem.texto = 'Não foi possível obter os dados do servidor.';
}
}
}
xhr.send();
}
limpaLista() {
this._listaNegociacoes.esvazia();
this._mensagem.texto = 'Lista apagada com sucesso';
}
_criaNegociacao() {
return new Negociacao(
DateHelper.textoParaData(this._inputData.value),
this._inputQtde.value,
this._inputValor.value
)
}
_limpaFormulario() {
this._inputData.value = '';
this._inputQtde.value = 1;
this._inputValor.value = 0.0;
this._inputData.focus();
}
}