mirror of
https://github.com/dbeaver/cloudbeaver.git
synced 2026-09-24 16:04:36 +08:00
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:
@@ -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]);
|
||||
}
|
||||
Reference in New Issue
Block a user