first commit
This commit is contained in:
52
media/com_users/js/two-factor-focus.js
Normal file
52
media/com_users/js/two-factor-focus.js
Normal file
@ -0,0 +1,52 @@
|
||||
/**
|
||||
* @copyright (C) 2022 Open Source Matters, Inc. <https://www.joomla.org>
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
|
||||
(() => {
|
||||
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
var _document$getElementB;
|
||||
const elCodeField = document.getElementById('users-mfa-code');
|
||||
const elValidateButton = document.getElementById('users-mfa-captive-button-submit');
|
||||
const elToolbarButton = (_document$getElementB = document.getElementById('toolbar-user-mfa-submit')) == null ? void 0 : _document$getElementB.querySelector('button');
|
||||
|
||||
// Focus the code field. If the code field is hidden, focus the submit button (useful e.g. for WebAuthn)
|
||||
if (elCodeField && elCodeField.style.display !== 'none' && !elCodeField.classList.contains('visually-hidden') && elCodeField.type !== 'hidden') {
|
||||
elCodeField.focus();
|
||||
} else {
|
||||
if (elValidateButton) {
|
||||
elValidateButton.focus();
|
||||
}
|
||||
if (elToolbarButton) {
|
||||
elToolbarButton.focus();
|
||||
}
|
||||
}
|
||||
|
||||
// Capture the admin toolbar buttons, make them click the inline buttons
|
||||
document.querySelectorAll('.button-user-mfa-submit').forEach(elButton => {
|
||||
elButton.addEventListener('click', e => {
|
||||
e.preventDefault();
|
||||
elValidateButton.click();
|
||||
});
|
||||
});
|
||||
document.querySelectorAll('.button-user-mfa-logout').forEach(elButton => {
|
||||
elButton.addEventListener('click', e => {
|
||||
e.preventDefault();
|
||||
const elLogout = document.getElementById('users-mfa-captive-button-logout');
|
||||
if (elLogout) {
|
||||
elLogout.click();
|
||||
}
|
||||
});
|
||||
});
|
||||
document.querySelectorAll('.button-user-mfa-choose-another').forEach(elButton => {
|
||||
elButton.addEventListener('click', e => {
|
||||
e.preventDefault();
|
||||
const elChooseAnother = document.getElementById('users-mfa-captive-form-choose-another');
|
||||
if (elChooseAnother) {
|
||||
elChooseAnother.click();
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
})();
|
||||
Reference in New Issue
Block a user