mirror of
https://github.com/zitadel/zitadel.git
synced 2025-04-26 08:50:49 +00:00

* fix: typo ZITADEL uppercase for OTP Issuer * fix: password validation after change in current user agent * fix: otp validation after setup in current user agent * add waiting * add waiting * show u2f state * regenerate css * add useragentID to webauthn verify * return mfa attribute in mgmt * switch between providers * use preferredLoginName for webauthn display * some fixes * correct translations for login * add some missing event translations * fix usersession test * remove unnecessary cancel button on password change done
53 lines
1.5 KiB
JavaScript
53 lines
1.5 KiB
JavaScript
function disableSubmit(checks, button) {
|
|
let form = document.getElementsByTagName('form')[0];
|
|
let inputs = form.getElementsByTagName('input');
|
|
button.disabled = true;
|
|
addRequiredEventListener(inputs, checks, form, button);
|
|
disableDoubleSubmit(form, button);
|
|
}
|
|
|
|
function addRequiredEventListener(inputs, checks, form, button) {
|
|
let eventType = 'input';
|
|
for (i = 0; i < inputs.length; i++) {
|
|
if (inputs[i].required) {
|
|
eventType = 'input';
|
|
if (inputs[i].type === 'checkbox') {
|
|
eventType = 'click';
|
|
}
|
|
inputs[i].addEventListener(eventType, function () {
|
|
toggleButton(checks, form, inputs, button);
|
|
});
|
|
}
|
|
}
|
|
}
|
|
|
|
function disableDoubleSubmit(form, button) {
|
|
form.addEventListener('submit', function() {
|
|
document.body.classList.add('waiting');
|
|
button.disabled = true;
|
|
})
|
|
}
|
|
|
|
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) {
|
|
if (inputs[i].type === 'checkbox' && !inputs[i].checked) {
|
|
return false
|
|
}
|
|
if (inputs[i].value === '') {
|
|
return false
|
|
}
|
|
}
|
|
}
|
|
return true;
|
|
} |