This commit is contained in:
Jan Prochazka
2021-02-22 21:09:06 +01:00
parent 1bb5f4974d
commit 390447c948
10 changed files with 741 additions and 39 deletions

View File

@@ -2,20 +2,24 @@ import { createGridConfig } from 'dbgate-datalib';
import { writable } from 'svelte/store';
import { onDestroy } from 'svelte';
const loadGridConfigFunc = tabid => () => {
const existing = localStorage.getItem(`tabdata_grid_${tabid}`);
if (existing) {
return {
...createGridConfig(),
...JSON.parse(existing),
};
function doLoadGridConfigFunc(tabid) {
try {
const existing = localStorage.getItem(`tabdata_grid_${tabid}`);
if (existing) {
return {
...createGridConfig(),
...JSON.parse(existing),
};
}
} catch (err) {
console.warn('Error loading grid config:', err.message);
}
return createGridConfig();
};
}
export default function useGridConfig(tabid) {
const config = writable(loadGridConfigFunc(tabid));
const config = writable(doLoadGridConfigFunc(tabid));
const unsubscribe = config.subscribe(value => localStorage.setItem(`tabdata_grid_${tabid}`, JSON.stringify(value)));
onDestroy(unsubscribe)
onDestroy(unsubscribe);
return config;
}