reorganização de arquivos
This commit is contained in:
parent
317b0b3b3e
commit
fa1f93aedc
23 changed files with 3 additions and 3 deletions
49
src/componentes/EliTabela/colunasStorage.ts
Normal file
49
src/componentes/EliTabela/colunasStorage.ts
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
export type EliTabelaColunasConfig = {
|
||||
/** Rotulos das colunas visiveis (em ordem). */
|
||||
visiveis: string[];
|
||||
/** Rotulos das colunas invisiveis. */
|
||||
invisiveis: string[];
|
||||
};
|
||||
|
||||
const STORAGE_PREFIX = "eli:tabela";
|
||||
|
||||
export function storageKeyColunas(nomeTabela: string) {
|
||||
return `${STORAGE_PREFIX}:${nomeTabela}:colunas`;
|
||||
}
|
||||
|
||||
function normalizarConfig(valor: unknown): EliTabelaColunasConfig {
|
||||
if (!valor || typeof valor !== "object") {
|
||||
return { visiveis: [], invisiveis: [] };
|
||||
}
|
||||
|
||||
const v = valor as any;
|
||||
const visiveis = Array.isArray(v.visiveis) ? v.visiveis.filter((x: any) => typeof x === "string") : [];
|
||||
const invisiveis = Array.isArray(v.invisiveis) ? v.invisiveis.filter((x: any) => typeof x === "string") : [];
|
||||
return { visiveis, invisiveis };
|
||||
}
|
||||
|
||||
export function carregarConfigColunas(nomeTabela: string): EliTabelaColunasConfig {
|
||||
try {
|
||||
const raw = window.localStorage.getItem(storageKeyColunas(nomeTabela));
|
||||
if (!raw) return { visiveis: [], invisiveis: [] };
|
||||
return normalizarConfig(JSON.parse(raw));
|
||||
} catch {
|
||||
return { visiveis: [], invisiveis: [] };
|
||||
}
|
||||
}
|
||||
|
||||
export function salvarConfigColunas(nomeTabela: string, config: EliTabelaColunasConfig) {
|
||||
try {
|
||||
window.localStorage.setItem(storageKeyColunas(nomeTabela), JSON.stringify(normalizarConfig(config)));
|
||||
} catch {
|
||||
// ignore
|
||||
}
|
||||
}
|
||||
|
||||
export function limparConfigColunas(nomeTabela: string) {
|
||||
try {
|
||||
window.localStorage.removeItem(storageKeyColunas(nomeTabela));
|
||||
} catch {
|
||||
// ignore
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue