mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-22 09:56:01 +00:00
memorize grid config
This commit is contained in:
18
packages/web/src/utility/useGridConfig.js
Normal file
18
packages/web/src/utility/useGridConfig.js
Normal file
@@ -0,0 +1,18 @@
|
||||
import { createGridConfig } from '@dbgate/datalib';
|
||||
import React from 'react';
|
||||
|
||||
const loadGridConfigFunc = (tabid) => () => {
|
||||
const existing = localStorage.getItem(`grid_${tabid}`);
|
||||
if (existing) return JSON.parse(existing);
|
||||
return createGridConfig();
|
||||
};
|
||||
|
||||
export default function useGridConfig(tabid) {
|
||||
const [config, setConfig] = React.useState(loadGridConfigFunc(tabid));
|
||||
|
||||
React.useEffect(() => {
|
||||
localStorage.setItem(`grid_${tabid}`, JSON.stringify(config));
|
||||
}, [config]);
|
||||
|
||||
return [config, setConfig];
|
||||
}
|
||||
Reference in New Issue
Block a user