ministryofjustice/atet

View on GitHub
app/javascript/packs/pages/claims/ClaimConfirmationPage.js

Summary

Maintainability
A
25 mins
Test Coverage
Function `monitorDownloadLink` has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
function monitorDownloadLink() {
const successNode = document.querySelector('.pdf-success');
const failureNode = document.querySelector('.pdf-failure');
const url = successNode.getAttribute('href')
let http = new XMLHttpRequest();
http.overrideMimeType("application/pdf");
http.open('GET', url, true);
http.onload = function (e) {
if (http.readyState === 4) {
if (http.status === 200) {
failureNode.style.display = 'none';
successNode.style.display = 'block';
} else {
failureNode.style.display = 'block';
successNode.style.display = 'none';
console.warn("Unable to find PDF, retrying " + url + " in 10 seconds");
setTimeout(function() { monitorDownloadLink() }, 10000);
}
}
};
http.send();
}
 
export default function ClaimConfirmationPage() {
monitorDownloadLink();
}