Merge pull request #651 from dbeaver/feat/qm-auto-refresh

feat(plugin-query-manager-aministration): CB-1628 add auto refresh
This commit is contained in:
Alexey
2022-02-11 16:27:53 +03:00
committed by GitHub
2 changed files with 29 additions and 0 deletions
+1
View File
@@ -143,6 +143,7 @@ export * from './useObservableRef';
export * from './useStateDelay';
export * from './useErrorDetails';
export * from './useAppLoadingScreen';
export * from './useInterval';
export * from './BlocksLocaleService';
export * from './Snackbars/NotificationMark';
export * from './Snackbars/SnackbarMarkups/SnackbarWrapper';
@@ -0,0 +1,28 @@
/*
* CloudBeaver - Cloud Database Manager
* Copyright (C) 2020-2022 DBeaver Corp and others
*
* Licensed under the Apache License, Version 2.0.
* you may not use this file except in compliance with the License.
*/
import { useEffect } from 'react';
import { useObjectRef } from './useObjectRef';
export function useInterval(callback: () => void, delay: number | null) {
const state = useObjectRef({ callback });
useEffect(() => {
if (delay === null) {
return;
}
const tick = () => {
state.callback();
};
const id = setInterval(tick, delay);
return () => clearInterval(id);
}, [delay]);
}