quintodrome/ui/src/common/useResourceRefresh.js

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

24 lines
608 B
JavaScript
Raw Normal View History

import { useSelector } from 'react-redux'
import { useState } from 'react'
import { useRefresh } from 'react-admin'
export const useResourceRefresh = (...resources) => {
const [lastTime, setLastTime] = useState(Date.now())
const refreshData = useSelector(
(state) => state.activity?.refresh || { lastTime }
)
const refresh = useRefresh()
const resource = refreshData.resource
if (refreshData.lastTime > lastTime) {
if (
resource === '' ||
resources.length === 0 ||
resources.includes(resource)
) {
refresh()
}
setLastTime(refreshData.lastTime)
}
}