Ola Flavio,
venho implementando seu projeto para e passo.
Ocorre que estou tendo um erro ao tentar ler os dados do Indexeddb.
Para rodar, fui obrigado a substituir o nome do campo data
pelo campo (variavel) privada _data
.
negociacoes.push( new Negociacao(dado.**_data**, dado.quantidade, dado._valor));
function listaTodos() {
let transaction = connection.transaction([`negociacoes`], `readwrite`);
let store = transaction.objectStore(`negociacoes`);
let cursor = store.openCursor();
let negociacoes = [];
cursor.onsuccess = e => {
let atual = e.target.result;
if(atual) {
let dado = atual.value;
console.log(dado);
negociacoes.push( new Negociacao(dado._data, dado.quantidade, dado.valor));
atual.continue();
} else {
console.log(negociacoes);
}
}
cursor.onerror = e => {
}
}
Note que no valor salvo no banco realmente NÃO existem as data, quantidade e valor
{_data: Tue Feb 21 2023 16:35:07 GMT-0300 (Brasilia Standard Time), _quantidade: 1, _valor: 200}
_data: Tue Feb 21 2023 16:35:07 GMT-0300 (Brasilia Standard Time)
No properties
_quantidade: 1
_valor: 200
Se faço um console.log(negociação)
, antes do let request = store.add(negociacao)
, temos
Negociacao {_data: Tue Feb 21 2023 16:53:11 GMT-0300 (Brasilia Standard Time), _quantidade: 1, _valor: 200}
_data: Tue Feb 21 2023 16:53:11 GMT-0300 (Brasilia Standard Time) {}
_quantidade: 1
_valor: 200
data: (...)
quantidade: (...)
valor: (...)
volume: (...)
Porém, minha dúvida, no seu video, o valor salvo também não continha.
veja o erro:
Uncaught TypeError: Cannot read properties of undefined (reading 'getTime')
Pode ajudar nesta questão?