Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 28 additions & 1 deletion src/certificate.js
Original file line number Diff line number Diff line change
Expand Up @@ -300,6 +300,30 @@ const conditions = {
}
}

function formIsValid() {
return Object.keys(conditions).every(field => {
if (conditions[field].condition == 'pattern') {
return $(field).value.match(
conditions[field].pattern
);
}
else if (conditions[field].condition == 'length') {
return $(field).value.length > 0;
} else {
console.error(conditions[field].condition + "is an unknown conditition for field");
return true;
}
}) && getAndSaveReasons().length > 0;
}

function refreshEnableButton() {
if (formIsValid()) {
$("#generate-btn").removeAttribute("disabled");
} else {
$("#generate-btn").setAttribute("disabled", true);
}
}

Object.keys(conditions).forEach(field => {
$(field).addEventListener('input', () => {
if (conditions[field].condition == 'pattern') {
Expand All @@ -320,7 +344,10 @@ Object.keys(conditions).forEach(field => {
})
})

$$("input").forEach(input => input.addEventListener('input', refreshEnableButton))

function addVersion () {
document.getElementById('version').innerHTML = `${new Date().getFullYear()} - ${process.env.VERSION}`
}
addVersion()
addVersion();
document.addEventListener('DOMContentLoaded', refreshEnableButton);
2 changes: 1 addition & 1 deletion src/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -246,7 +246,7 @@ <h2 class="titre-2">Remplissez en ligne votre attestation numérique :</h2>


<p class="text-center mt-5">
<button type="button" id="generate-btn" class="btn btn-primary btn-attestation"><span ><i class="fa fa-file-pdf inline-block mr-1"></i> Générer mon attestation</span></button>
<button type="button" id="generate-btn" class="btn btn-primary btn-attestation" disabled><span ><i class="fa fa-file-pdf inline-block mr-1"></i> Générer mon attestation</span></button>
</p>

<div class="bg-primary d-none" id="snackbar">
Expand Down