|
|
@ -75,6 +75,8 @@ export default function FileElement({ |
|
|
|
const [fileProperties, setFileProperties] = React.useState<any>(null); |
|
|
|
const [fileProperties, setFileProperties] = React.useState<any>(null); |
|
|
|
const [downloadLoader, setDownloadLoader] = React.useState<any>(false); |
|
|
|
const [downloadLoader, setDownloadLoader] = React.useState<any>(false); |
|
|
|
const downloads = useSelector((state: RootState) => state.global?.downloads); |
|
|
|
const downloads = useSelector((state: RootState) => state.global?.downloads); |
|
|
|
|
|
|
|
const status = React.useRef<null | string>(null) |
|
|
|
|
|
|
|
|
|
|
|
const hasCommencedDownload = React.useRef(false); |
|
|
|
const hasCommencedDownload = React.useRef(false); |
|
|
|
const dispatch = useDispatch(); |
|
|
|
const dispatch = useDispatch(); |
|
|
|
const reDownload = React.useRef<boolean>(false) |
|
|
|
const reDownload = React.useRef<boolean>(false) |
|
|
@ -200,10 +202,10 @@ export default function FileElement({ |
|
|
|
const refetchInInterval = ()=> { |
|
|
|
const refetchInInterval = ()=> { |
|
|
|
try { |
|
|
|
try { |
|
|
|
const interval = setInterval(()=> { |
|
|
|
const interval = setInterval(()=> { |
|
|
|
if(resourceStatus?.current === 'DOWNLOADED'){ |
|
|
|
if(status?.current === 'DOWNLOADED'){ |
|
|
|
refetch() |
|
|
|
refetch() |
|
|
|
} |
|
|
|
} |
|
|
|
if(resourceStatus?.current === 'READY'){ |
|
|
|
if(status?.current === 'READY'){ |
|
|
|
clearInterval(interval); |
|
|
|
clearInterval(interval); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -213,6 +215,20 @@ export default function FileElement({ |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
React.useEffect(() => { |
|
|
|
|
|
|
|
if(resourceStatus?.status){ |
|
|
|
|
|
|
|
status.current = resourceStatus?.status |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if ( |
|
|
|
|
|
|
|
resourceStatus?.status === 'DOWNLOADED' && |
|
|
|
|
|
|
|
reDownload?.current === false |
|
|
|
|
|
|
|
) { |
|
|
|
|
|
|
|
refetchInInterval() |
|
|
|
|
|
|
|
reDownload.current = true |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}, [resourceStatus]) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
React.useEffect(() => { |
|
|
|
React.useEffect(() => { |
|
|
|
if ( |
|
|
|
if ( |
|
|
|
resourceStatus?.status === "READY" && |
|
|
|
resourceStatus?.status === "READY" && |
|
|
@ -227,12 +243,6 @@ export default function FileElement({ |
|
|
|
alertType: "info", |
|
|
|
alertType: "info", |
|
|
|
}) |
|
|
|
}) |
|
|
|
); |
|
|
|
); |
|
|
|
} else if ( |
|
|
|
|
|
|
|
resourceStatus?.status === 'DOWNLOADED' && |
|
|
|
|
|
|
|
reDownload?.current === false |
|
|
|
|
|
|
|
) { |
|
|
|
|
|
|
|
refetchInInterval() |
|
|
|
|
|
|
|
reDownload.current = true |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
}, [resourceStatus, download]); |
|
|
|
}, [resourceStatus, download]); |
|
|
|
|
|
|
|
|
|
|
|