Better refreshing

This commit is contained in:
Jan Zípek 2024-04-04 13:59:18 +02:00
parent 4da4692c95
commit 85fcecfa5a
Signed by: kamen
GPG Key ID: A17882625B33AC31
2 changed files with 12 additions and 4 deletions

View File

@ -1,6 +1,6 @@
import { getLatestSensorValue } from '@/api/sensorValues' import { getLatestSensorValue } from '@/api/sensorValues'
import { DashboardDialData } from '@/utils/dashboard/parseDashboard' import { DashboardDialData } from '@/utils/dashboard/parseDashboard'
import { useMemo } from 'preact/hooks' import { useEffect, useMemo } from 'preact/hooks'
import { useQuery } from 'react-query' import { useQuery } from 'react-query'
import { useDashboardContext } from '../../../contexts/DashboardContext' import { useDashboardContext } from '../../../contexts/DashboardContext'
import { BoxLoader } from './BoxLoader' import { BoxLoader } from './BoxLoader'
@ -23,11 +23,15 @@ export const BoxDialContent = ({ data, ...editableBoxProps }: Props) => {
) )
const value = useQuery( const value = useQuery(
['/sensor/values/latest', valuesQuery], ['/sensor/values/latest', data.sensor ?? -1],
() => getLatestSensorValue(valuesQuery), () => getLatestSensorValue(valuesQuery),
{ enabled: !!data.sensor } { enabled: !!data.sensor, retry: false }
) )
useEffect(() => {
value.refetch()
}, [filter.customTo])
const showFetchLoading = useDelayedState(value.isLoading, 500) const showFetchLoading = useDelayedState(value.isLoading, 500)
const displayValue = useMemo(() => { const displayValue = useMemo(() => {

View File

@ -26,11 +26,15 @@ export const BoxGraphContent = ({ data, ...editableBoxProps }: Props) => {
} }
const values = useQuery( const values = useQuery(
['/sensor/values', valuesQuery], ['/sensor/values', data.sensor ?? -1],
() => getSensorValues(valuesQuery), () => getSensorValues(valuesQuery),
{ enabled: !!data.sensor } { enabled: !!data.sensor }
) )
useEffect(() => {
values.refetch()
}, [filter.customFrom, filter.customTo])
const showFetchLoading = useDelayedState(values.isLoading, 500) const showFetchLoading = useDelayedState(values.isLoading, 500)
useEffect(() => { useEffect(() => {