export type EliTabelaFiltroAvancadoSalvo = Array<{ coluna: keyof T valor: any }>; function key(nomeTabela: string) { return `eli_tabela:${nomeTabela}:filtro_avancado`; } export function carregarFiltroAvancado(nomeTabela: string): EliTabelaFiltroAvancadoSalvo { try { const raw = localStorage.getItem(key(nomeTabela)); if (!raw) return [] as unknown as EliTabelaFiltroAvancadoSalvo; const parsed = JSON.parse(raw); return Array.isArray(parsed) ? (parsed as EliTabelaFiltroAvancadoSalvo) : ([] as any); } catch { return [] as unknown as EliTabelaFiltroAvancadoSalvo; } } export function salvarFiltroAvancado(nomeTabela: string, filtros: EliTabelaFiltroAvancadoSalvo) { try { localStorage.setItem(key(nomeTabela), JSON.stringify(filtros ?? [])); } catch { // ignore } } export function limparFiltroAvancado(nomeTabela: string) { try { localStorage.removeItem(key(nomeTabela)); } catch { // ignore } }