# 🐛 Debug - Cantoneiras Não Carregam ## 🔍 Checklist de Verificação ### 1. Abrir Console do Navegador Pressione `F12` e vá para a aba "Console" ### 2. Verificar Mensagens de Inicialização Ao carregar a página, você deve ver: ``` ✅ Data Manager carregado e disponível globalmente 🗄️ Inicializando Data Manager v1.0.0 📥 Cache vazio ou desatualizado. Carregando dados... 🔄 Iniciando atualização completa dos dados... 📊 Carregando Cantoneiras... ✅ Cantoneiras: 39 itens carregados ``` **Se NÃO ver essas mensagens:** - ❌ Scripts não foram carregados corretamente - ❌ Verifique se os arquivos existem em `js/database/` ### 3. Acessar Menu Cantoneiras Clique em: **MATERIAIS** → **Catálogo de Perfis** → **Cantoneiras** No console, você deve ver: ``` 📊 carregarCantoneiras() - INICIANDO 🔍 Verificando disponibilidade: - carregarCantoneirasV2: function - window.dataManager: object - exibirCantoneirasV2: function ✅ Usando Data Manager V2 🔧 carregarCantoneirasV2() - Nova versão com Data Manager ✅ Elemento tbody encontrado 📊 Carregando cantoneiras do banco de dados... ✅ 39 cantoneiras carregadas do Data Manager 📋 Exibindo 39 cantoneiras na tabela ✅ Tabela atualizada com sucesso ``` ### 4. Verificar Erros Comuns #### Erro: "dataManager não existe" **Causa**: Script não carregado ou erro de inicialização **Solução**: ```javascript // No console, execute: console.log('Data Manager:', window.dataManager); console.log('Funções V2:', typeof carregarCantoneirasV2); ``` Se retornar `undefined`, recarregue a página com `Ctrl + F5` #### Erro: "cantoneiras-tbody não encontrado" **Causa**: Elemento HTML não existe ou timing incorreto **Solução**: ```javascript // No console, execute: console.log('Tbody:', document.getElementById('cantoneiras-tbody')); ``` Se retornar `null`, o HTML não foi renderizado ainda. #### Erro: "HTTP 404" ao carregar CSV **Causa**: Arquivo CSV não existe **Solução**: Verificar se existe `BD/perfis/cantoneiras_brasil_completo.csv` #### Erro: "Parsing error" no CSV **Causa**: Formato do CSV incorreto **Solução**: Verificar se CSV tem cabeçalho correto --- ## 🔧 Testes Manuais no Console ### Teste 1: Verificar Data Manager ```javascript // Copie e cole no console: console.log('=== TESTE DATA MANAGER ==='); console.log('1. Data Manager existe?', !!window.dataManager); console.log('2. Versão:', window.dataManager?.version); console.log('3. Stats:', window.dataManager?.getCacheStats()); ``` **Resultado esperado:** ``` === TESTE DATA MANAGER === 1. Data Manager existe? true 2. Versão: 1.0.0 3. Stats: {version: "1.0.0", hasCache: true, ...} ``` ### Teste 2: Verificar Funções V2 ```javascript console.log('=== TESTE FUNÇÕES V2 ==='); console.log('1. carregarCantoneirasV2:', typeof carregarCantoneirasV2); console.log('2. exibirCantoneirasV2:', typeof exibirCantoneirasV2); console.log('3. filtrarCantoneirasV2:', typeof filtrarCantoneirasV2); ``` **Resultado esperado:** ``` === TESTE FUNÇÕES V2 === 1. carregarCantoneirasV2: function 2. exibirCantoneirasV2: function 3. filtrarCantoneirasV2: function ``` ### Teste 3: Carregar Dados Manualmente ```javascript // Forçar carregamento: await window.dataManager.getData('cantoneiras').then(dados => { console.log('✅ Dados carregados:', dados.length, 'itens'); console.log('Primeiro item:', dados[0]); }); ``` **Resultado esperado:** ``` ✅ Dados carregados: 39 itens Primeiro item: {id: "l25_25_3", nome: "L25x25x3", ...} ``` ### Teste 4: Exibir na Tabela Manualmente ```javascript // Carregar e exibir: await carregarCantoneirasV2(); ``` **Resultado esperado:** - Tabela preenchida com 39 linhas - Dados visíveis --- ## 🚨 Soluções Rápidas ### Solução 1: Recarregar Scripts ```javascript // No console: location.reload(true); // Força reload sem cache ``` ### Solução 2: Limpar Cache e Recarregar ```javascript // No console: localStorage.clear(); location.reload(); ``` ### Solução 3: Forçar Atualização de Dados ```javascript // No console: await window.dataManager.updateAllData(); ``` ### Solução 4: Carregar Método Legado ```javascript // No console: async function carregarLegado() { const response = await fetch('BD/perfis/cantoneiras_brasil_completo.csv'); const csvText = await response.text(); const linhas = csvText.trim().split('\n'); const dados = []; for (let i = 1; i < linhas.length; i++) { const linha = linhas[i].trim(); if (!linha) continue; const colunas = linha.split(','); if (colunas.length >= 9) { dados.push({ id: colunas[0].trim(), nome: colunas[1].trim(), lado_mm: parseFloat(colunas[2]), espessura_mm: parseFloat(colunas[3]), peso_kg_m: parseFloat(colunas[4]), area_cm2: parseFloat(colunas[5]), momento_inercia_cm4: parseFloat(colunas[6]), raio_giracao_cm: parseFloat(colunas[7]), tipo: colunas[8].trim() }); } } console.log('✅ Carregado:', dados.length, 'cantoneiras'); // Exibir na tabela const tbody = document.getElementById('cantoneiras-tbody'); if (tbody) { tbody.innerHTML = dados.map(item => `