feat: add terms on register and register org (#699)

* feat: add terms on register and register org

* feat: add terms on register and register org

* update form_submit.js to handle checkboxes correctly

* feat: free tier on org reg

Co-authored-by: Livio Amstutz <[email protected]>
This commit is contained in:
Fabi
2020-09-07 14:52:49 +02:00
committed by GitHub
co-authored by Livio Amstutz
parent cca92874ab
commit 4bc1eff373
16 changed files with 196 additions and 40 deletions
@@ -1,28 +1,44 @@
function disableSubmit(checks, button) {
let form = document.getElementsByTagName('form')[0];
let inputs = form.getElementsByTagName('input');
button.disabled = true;
addRequiredEventListener(inputs, checks, form, button);
}
function addRequiredEventListener(inputs, checks, form, button) {
let eventType = 'input';
for (i = 0; i < inputs.length; i++) {
button.disabled = true;
inputs[i].addEventListener('input', function () {
if (checks != undefined) {
if (checks() === false) {
button.disabled = true;
return
}
if (inputs[i].required) {
eventType = 'input';
if (inputs[i].type === 'checkbox') {
eventType = 'click';
}
if (checkRequired(form, inputs) === false) {
button.disabled = true;
return
}
button.disabled = false;
});
inputs[i].addEventListener(eventType, function () {
toggleButton(checks, form, inputs, button);
});
}
}
}
function checkRequired(form, inputs) {
function toggleButton(checks, form, inputs, button) {
if (checks !== undefined) {
if (checks() === false) {
button.disabled = true;
return
}
}
button.disabled = !allRequiredDone(form, inputs);
}
function allRequiredDone(form, inputs) {
for (i = 0; i < inputs.length; i++) {
if (inputs[i].required && inputs[i].value == '') {
return false
if (inputs[i].required) {
if (inputs[i].type === 'checkbox' && !inputs[i].checked) {
return false
}
if (inputs[i].value === '') {
return false
}
}
}
return true;