fix: corrige erros de sintaxe ES6 - tudo para IIFE
- Converte logger.js para IIFE (remove export) - Converte state.js para IIFE (remove export) - Remove imports de app.js - Corrige referências aos scripts de teste removidos - Adiciona scripts de teste corretos
This commit is contained in:
@@ -557,6 +557,7 @@
|
|||||||
|
|
||||||
<!-- Utils (global) -->
|
<!-- Utils (global) -->
|
||||||
<script src="/js/utils/logger.js"></script>
|
<script src="/js/utils/logger.js"></script>
|
||||||
|
<script src="/js/core/state.js"></script>
|
||||||
|
|
||||||
<!-- Main app (legacy - mantido para compatibilidade) -->
|
<!-- Main app (legacy - mantido para compatibilidade) -->
|
||||||
<script src="/app.js"></script>
|
<script src="/app.js"></script>
|
||||||
@@ -612,11 +613,9 @@
|
|||||||
<script src="/js/core/backup-manager.js"></script>
|
<script src="/js/core/backup-manager.js"></script>
|
||||||
<script src="/js/ui/toast-manager.js"></script>
|
<script src="/js/ui/toast-manager.js"></script>
|
||||||
|
|
||||||
<!-- Sistema de Teste de Persistência -->
|
<!-- Test Suite -->
|
||||||
<script src="/js/tests/test-persistencia.js"></script>
|
<script src="/js/tests/test-backup-log.js"></script>
|
||||||
<script src="/js/tests/test-persistencia-simples.js"></script>
|
<script src="/js/tests/test-suite.js"></script>
|
||||||
<script src="/js/tests/verificador-persistencia.js"></script>
|
|
||||||
<script src="/js/tests/teste-manual-disponibilidade.js"></script>
|
|
||||||
|
|
||||||
<!-- Menu Mobile (Hamburger no topbar, sidebar dropdown) -->
|
<!-- Menu Mobile (Hamburger no topbar, sidebar dropdown) -->
|
||||||
<script type="module" src="/js/ui/mobile-menu.js"></script>
|
<script type="module" src="/js/ui/mobile-menu.js"></script>
|
||||||
|
|||||||
@@ -6,17 +6,7 @@
|
|||||||
// Logger disponível globalmente (carregado antes em logger.js)
|
// Logger disponível globalmente (carregado antes em logger.js)
|
||||||
// Usar window.Logger.info('mensagem') para logs controlados
|
// Usar window.Logger.info('mensagem') para logs controlados
|
||||||
|
|
||||||
// Import state from modules (userPreferences only - appState is still global for legacy)
|
// State e config disponíveis globalmente via script state.js (carregado antes)
|
||||||
import { userPreferences, loadPreferences, savePreferences, adminConfig } from './js/core/state.js';
|
|
||||||
|
|
||||||
// Make available globally for legacy code
|
|
||||||
window.userPreferences = userPreferences;
|
|
||||||
window.loadPreferences = loadPreferences;
|
|
||||||
window.savePreferences = savePreferences;
|
|
||||||
window.adminConfig = adminConfig;
|
|
||||||
|
|
||||||
// In-memory data storage (legacy - still global for compatibility)
|
|
||||||
const appState = {
|
|
||||||
|
|
||||||
// ========================================
|
// ========================================
|
||||||
// CSV MAPPING AND LOADING FUNCTIONS v6.6
|
// CSV MAPPING AND LOADING FUNCTIONS v6.6
|
||||||
|
|||||||
@@ -1,135 +1,152 @@
|
|||||||
/**
|
/**
|
||||||
* Application State Management
|
* Application State Management
|
||||||
* Central state for the entire application
|
* Central state for the entire application
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Main application state
|
// Main application state
|
||||||
export const appState = {
|
var appState = {
|
||||||
history: [],
|
history: [],
|
||||||
favorites: [],
|
favorites: [],
|
||||||
budgetItems: [],
|
budgetItems: [],
|
||||||
currentSection: 'cev',
|
currentSection: 'cev',
|
||||||
currentTheme: 'dark',
|
currentTheme: 'dark',
|
||||||
expertMode: false,
|
expertMode: false,
|
||||||
currentSidebarTab: 0
|
currentSidebarTab: 0
|
||||||
};
|
};
|
||||||
|
|
||||||
// User preferences (persisted to localStorage)
|
// User preferences (persisted to localStorage)
|
||||||
export let userPreferences = {
|
var userPreferences = {
|
||||||
theme: 'dark',
|
theme: 'dark',
|
||||||
colorScheme: 'default',
|
colorScheme: 'default',
|
||||||
fontSize: 'medium',
|
fontSize: 'medium',
|
||||||
fontFamily: 'default'
|
fontFamily: 'default'
|
||||||
};
|
};
|
||||||
|
|
||||||
// Load preferences from localStorage
|
// Load preferences from localStorage
|
||||||
export function loadPreferences() {
|
function loadPreferences() {
|
||||||
try {
|
try {
|
||||||
const saved = localStorage.getItem('acoCalcPreferences');
|
var saved = localStorage.getItem('acoCalcPreferences');
|
||||||
if (saved) {
|
if (saved) {
|
||||||
userPreferences = { ...userPreferences, ...JSON.parse(saved) };
|
var parsed = JSON.parse(saved);
|
||||||
}
|
for (var key in parsed) {
|
||||||
} catch (e) {
|
if (parsed.hasOwnProperty(key)) {
|
||||||
console.warn('Não foi possível carregar preferências:', e);
|
userPreferences[key] = parsed[key];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
// Save preferences to localStorage
|
} catch (e) {
|
||||||
export function savePreferences() {
|
console.warn('Nao foi possivel carregar preferencias:', e);
|
||||||
try {
|
}
|
||||||
localStorage.setItem('acoCalcPreferences', JSON.stringify(userPreferences));
|
}
|
||||||
} catch (e) {
|
|
||||||
console.warn('Não foi possível salvar preferências:', e);
|
// Save preferences to localStorage
|
||||||
}
|
function savePreferences() {
|
||||||
}
|
try {
|
||||||
|
localStorage.setItem('acoCalcPreferences', JSON.stringify(userPreferences));
|
||||||
// Admin configuration
|
} catch (e) {
|
||||||
export const adminConfig = {
|
console.warn('Nao foi possivel salvar preferencias:', e);
|
||||||
appName: 'SteelBase',
|
}
|
||||||
appSubtitle: 'Plataforma Técnica com Base de Dados de Materiais Brasileiros',
|
}
|
||||||
footerText: '© 2025 SteelBase v7.5 PROFESSIONAL EDITION - Plataforma Técnica com Base de Dados de Materiais Brasileiros',
|
|
||||||
themeDefault: 'escuro',
|
// Admin configuration
|
||||||
modeDefault: 'simples',
|
var adminConfig = {
|
||||||
toolsVisibility: {
|
appName: 'SteelBase',
|
||||||
'cev': true,
|
appSubtitle: 'Plataforma Tecnica com Base de Dados de Materiais Brasileiros',
|
||||||
'seletor': true,
|
footerText: '© 2025 SteelBase v7.5 PROFESSIONAL EDITION - Plataforma Tecnica com Base de Dados de Materiais Brasileiros',
|
||||||
'equivalencias': false,
|
themeDefault: 'escuro',
|
||||||
'comparativo': false,
|
modeDefault: 'simples',
|
||||||
'parafusos': true,
|
toolsVisibility: {
|
||||||
'layout': true,
|
'cev': true,
|
||||||
'parafuso-vs-solda': false,
|
'seletor': true,
|
||||||
'preaquecimento': true,
|
'equivalencias': false,
|
||||||
'dureza': true,
|
'comparativo': false,
|
||||||
'charpy': true,
|
'parafusos': true,
|
||||||
'certificado': false,
|
'layout': true,
|
||||||
'ultrassom': false,
|
'parafuso-vs-solda': false,
|
||||||
'area-pintura': true,
|
'preaquecimento': true,
|
||||||
'consumo-tinta': true,
|
'dureza': true,
|
||||||
'galvanizacao': false,
|
'charpy': true,
|
||||||
'custo-pintura': true,
|
'certificado': false,
|
||||||
'secagem': false,
|
'ultrassom': false,
|
||||||
'inspecao-pintura': false,
|
'area-pintura': true,
|
||||||
'orcamento': true,
|
'consumo-tinta': true,
|
||||||
'peso-rigging': false,
|
'galvanizacao': false,
|
||||||
'referencia': false
|
'custo-pintura': true,
|
||||||
}
|
'secagem': false,
|
||||||
};
|
'inspecao-pintura': false,
|
||||||
|
'orcamento': true,
|
||||||
/**
|
'peso-rigging': false,
|
||||||
* Update app state
|
'referencia': false
|
||||||
* @param {string} key - State key
|
}
|
||||||
* @param {any} value - New value
|
};
|
||||||
*/
|
|
||||||
export function updateState(key, value) {
|
/**
|
||||||
appState[key] = value;
|
* Update app state
|
||||||
}
|
* @param {string} key - State key
|
||||||
|
* @param {any} value - New value
|
||||||
/**
|
*/
|
||||||
* Get state value
|
function updateState(key, value) {
|
||||||
* @param {string} key - State key
|
appState[key] = value;
|
||||||
* @returns {any} State value
|
}
|
||||||
*/
|
|
||||||
export function getState(key) {
|
/**
|
||||||
return appState[key];
|
* Get state value
|
||||||
}
|
* @param {string} key - State key
|
||||||
|
* @returns {any} State value
|
||||||
/**
|
*/
|
||||||
* Update user preferences
|
function getState(key) {
|
||||||
* @param {string} key - Preference key
|
return appState[key];
|
||||||
* @param {any} value - New value
|
}
|
||||||
*/
|
|
||||||
export function updatePreference(key, value) {
|
/**
|
||||||
userPreferences[key] = value;
|
* Update user preferences
|
||||||
}
|
* @param {string} key - Preference key
|
||||||
|
* @param {any} value - New value
|
||||||
/**
|
*/
|
||||||
* Get preference value
|
function updatePreference(key, value) {
|
||||||
* @param {string} key - Preference key
|
userPreferences[key] = value;
|
||||||
* @returns {any} Preference value
|
}
|
||||||
*/
|
|
||||||
export function getPreference(key) {
|
/**
|
||||||
return userPreferences[key];
|
* Get preference value
|
||||||
}
|
* @param {string} key - Preference key
|
||||||
|
* @returns {any} Preference value
|
||||||
/**
|
*/
|
||||||
* Check if localStorage is available and has space
|
function getPreference(key) {
|
||||||
* @returns {object} Storage status
|
return userPreferences[key];
|
||||||
*/
|
}
|
||||||
export function checkStorage() {
|
|
||||||
try {
|
/**
|
||||||
const testKey = '__storage_test__';
|
* Check if localStorage is available and has space
|
||||||
localStorage.setItem(testKey, testKey);
|
* @returns {object} Storage status
|
||||||
localStorage.removeItem(testKey);
|
*/
|
||||||
|
function checkStorage() {
|
||||||
let totalSize = 0;
|
try {
|
||||||
for (let key in localStorage) {
|
var testKey = '__storage_test__';
|
||||||
if (localStorage.hasOwnProperty(key)) {
|
localStorage.setItem(testKey, testKey);
|
||||||
totalSize += localStorage[key].length * 2;
|
localStorage.removeItem(testKey);
|
||||||
}
|
|
||||||
}
|
var totalSize = 0;
|
||||||
|
for (var key in localStorage) {
|
||||||
return { available: true, usedBytes: totalSize };
|
if (localStorage.hasOwnProperty(key)) {
|
||||||
} catch (error) {
|
totalSize += localStorage[key].length * 2;
|
||||||
return { available: false, error: error.message };
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
return { available: true, usedBytes: totalSize };
|
||||||
|
} catch (error) {
|
||||||
|
return { available: false, error: error.message };
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Make available globally
|
||||||
|
window.appState = appState;
|
||||||
|
window.userPreferences = userPreferences;
|
||||||
|
window.loadPreferences = loadPreferences;
|
||||||
|
window.savePreferences = savePreferences;
|
||||||
|
window.adminConfig = adminConfig;
|
||||||
|
window.updateState = updateState;
|
||||||
|
window.getState = getState;
|
||||||
|
window.updatePreference = updatePreference;
|
||||||
|
window.getPreference = getPreference;
|
||||||
|
window.checkStorage = checkStorage;
|
||||||
@@ -2,15 +2,15 @@
|
|||||||
* Logger com níveis de debug
|
* Logger com níveis de debug
|
||||||
* Substitui console.log dispersos pelo código
|
* Substitui console.log dispersos pelo código
|
||||||
*/
|
*/
|
||||||
const Logger = (function() {
|
var Logger = (function() {
|
||||||
const LEVELS = {
|
var LEVELS = {
|
||||||
debug: 0,
|
debug: 0,
|
||||||
info: 1,
|
info: 1,
|
||||||
warn: 2,
|
warn: 2,
|
||||||
error: 3
|
error: 3
|
||||||
};
|
};
|
||||||
|
|
||||||
let currentLevel = LEVELS.info;
|
var currentLevel = LEVELS.info;
|
||||||
|
|
||||||
function setLevel(level) {
|
function setLevel(level) {
|
||||||
if (LEVELS[level] !== undefined) {
|
if (LEVELS[level] !== undefined) {
|
||||||
@@ -22,26 +22,26 @@ const Logger = (function() {
|
|||||||
return LEVELS[level] >= currentLevel;
|
return LEVELS[level] >= currentLevel;
|
||||||
}
|
}
|
||||||
|
|
||||||
function formatMessage(level, ...args) {
|
function formatMessage(level) {
|
||||||
const timestamp = new Date().toISOString().slice(11, 19);
|
var timestamp = new Date().toISOString().slice(11, 19);
|
||||||
return `[${timestamp}] [${level.toUpperCase()}]`;
|
return '[' + timestamp + '] [' + level.toUpperCase() + ']';
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
debug: function(...args) {
|
debug: function() {
|
||||||
if (shouldLog('debug')) console.debug(formatMessage('debug', ...args), ...args);
|
if (shouldLog('debug')) console.debug(formatMessage('debug'), arguments);
|
||||||
},
|
},
|
||||||
|
|
||||||
info: function(...args) {
|
info: function() {
|
||||||
if (shouldLog('info')) console.info(formatMessage('info', ...args), ...args);
|
if (shouldLog('info')) console.info(formatMessage('info'), arguments);
|
||||||
},
|
},
|
||||||
|
|
||||||
warn: function(...args) {
|
warn: function() {
|
||||||
if (shouldLog('warn')) console.warn(formatMessage('warn', ...args), ...args);
|
if (shouldLog('warn')) console.warn(formatMessage('warn'), arguments);
|
||||||
},
|
},
|
||||||
|
|
||||||
error: function(...args) {
|
error: function() {
|
||||||
if (shouldLog('error')) console.error(formatMessage('error', ...args), ...args);
|
if (shouldLog('error')) console.error(formatMessage('error'), arguments);
|
||||||
},
|
},
|
||||||
|
|
||||||
setLevel: setLevel,
|
setLevel: setLevel,
|
||||||
@@ -56,5 +56,4 @@ const Logger = (function() {
|
|||||||
};
|
};
|
||||||
})();
|
})();
|
||||||
|
|
||||||
window.Logger = Logger;
|
window.Logger = Logger;
|
||||||
export default Logger;
|
|
||||||
Reference in New Issue
Block a user