From 85fcecfa5a3421a92eecfda6541de631078d5ebe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Z=C3=ADpek?= Date: Thu, 4 Apr 2024 13:59:18 +0200 Subject: [PATCH] Better refreshing --- .../DashboardGrid/components/BoxDialContent.tsx | 10 +++++++--- .../DashboardGrid/components/BoxGraphContent.tsx | 6 +++++- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/client/src/pages/dashboard/components/DashboardGrid/components/BoxDialContent.tsx b/client/src/pages/dashboard/components/DashboardGrid/components/BoxDialContent.tsx index c7c4086..225f523 100644 --- a/client/src/pages/dashboard/components/DashboardGrid/components/BoxDialContent.tsx +++ b/client/src/pages/dashboard/components/DashboardGrid/components/BoxDialContent.tsx @@ -1,6 +1,6 @@ import { getLatestSensorValue } from '@/api/sensorValues' import { DashboardDialData } from '@/utils/dashboard/parseDashboard' -import { useMemo } from 'preact/hooks' +import { useEffect, useMemo } from 'preact/hooks' import { useQuery } from 'react-query' import { useDashboardContext } from '../../../contexts/DashboardContext' import { BoxLoader } from './BoxLoader' @@ -23,11 +23,15 @@ export const BoxDialContent = ({ data, ...editableBoxProps }: Props) => { ) const value = useQuery( - ['/sensor/values/latest', valuesQuery], + ['/sensor/values/latest', data.sensor ?? -1], () => getLatestSensorValue(valuesQuery), - { enabled: !!data.sensor } + { enabled: !!data.sensor, retry: false } ) + useEffect(() => { + value.refetch() + }, [filter.customTo]) + const showFetchLoading = useDelayedState(value.isLoading, 500) const displayValue = useMemo(() => { diff --git a/client/src/pages/dashboard/components/DashboardGrid/components/BoxGraphContent.tsx b/client/src/pages/dashboard/components/DashboardGrid/components/BoxGraphContent.tsx index de0b064..764674c 100644 --- a/client/src/pages/dashboard/components/DashboardGrid/components/BoxGraphContent.tsx +++ b/client/src/pages/dashboard/components/DashboardGrid/components/BoxGraphContent.tsx @@ -26,11 +26,15 @@ export const BoxGraphContent = ({ data, ...editableBoxProps }: Props) => { } const values = useQuery( - ['/sensor/values', valuesQuery], + ['/sensor/values', data.sensor ?? -1], () => getSensorValues(valuesQuery), { enabled: !!data.sensor } ) + useEffect(() => { + values.refetch() + }, [filter.customFrom, filter.customTo]) + const showFetchLoading = useDelayedState(values.isLoading, 500) useEffect(() => {