From a3f69b64dfc20be8752c012f6b811d64889c28bc Mon Sep 17 00:00:00 2001 From: proddy Date: Fri, 16 Aug 2024 13:46:57 +0200 Subject: [PATCH] fix autorefresh in open dialog - #1920 --- interface/src/app/main/CustomEntities.tsx | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/interface/src/app/main/CustomEntities.tsx b/interface/src/app/main/CustomEntities.tsx index b922d84d8..b7b3e0ca6 100644 --- a/interface/src/app/main/CustomEntities.tsx +++ b/interface/src/app/main/CustomEntities.tsx @@ -1,4 +1,4 @@ -import { useCallback, useState } from 'react'; +import { useCallback, useEffect, useState } from 'react'; import { useBlocker } from 'react-router-dom'; import { toast } from 'react-toastify'; @@ -18,7 +18,7 @@ import { Table } from '@table-library/react-table-library/table'; import { useTheme } from '@table-library/react-table-library/theme'; -import { updateState, useAutoRequest, useRequest } from 'alova/client'; +import { updateState, useRequest } from 'alova/client'; import { BlockNavigation, ButtonRow, @@ -48,9 +48,20 @@ const CustomEntities = () => { data: entities, send: fetchEntities, error - } = useAutoRequest(readCustomEntities, { - initialData: [], - pollingTime: 2000 + } = useRequest(readCustomEntities, { + initialData: [] + }); + + useEffect(() => { + const timer = setInterval(async () => { + if (dialogOpen) { + return; + } + await fetchEntities(); + }, 2000); + return () => { + clearInterval(timer); + }; }); const { send: writeEntities } = useRequest(