set focus to username or password input field

regardless of the currently active element
if at least one combination exists and autocomplete is enabled
This commit is contained in:
Philip Reimer 2020-11-11 00:39:58 +01:00
parent efb6b031f5
commit c82c5dd0b6

View file

@ -726,30 +726,24 @@ kpxc.fillInFromActiveElement = async function(passOnly = false) {
return;
}
const el = document.activeElement;
if (kpxc.combinations.length > 0 && kpxc.settings.autoCompleteUsernames) {
const field = passOnly ? kpxc.combinations[0].password : kpxc.combinations[0].username;
if (field && field.id !== el.id) {
// focus to the correct input field
field.focus();
// set focus to the input field
field.focus();
if (kpxc.credentials.length > 1) {
// More than one credential -> show autocomplete list
kpxcAutocomplete.showList(field);
return
} else {
// Just one credential -> fill the first combination found
kpxc.fillInCredentials(kpxc.combinations[0], kpxc.credentials[0].login, kpxc.credentials[0].uuid, passOnly);
return;
}
} else if (kpxc.credentials.length > 1) {
kpxcAutocomplete.showList(el);
if (kpxc.credentials.length > 1) {
// More than one credential -> show autocomplete list
kpxcAutocomplete.showList(field);
return
} else {
// Just one credential -> fill the first combination found
kpxc.fillInCredentials(kpxc.combinations[0], kpxc.credentials[0].login, kpxc.credentials[0].uuid, passOnly);
return;
}
}
// No previous combinations detected. Create a new one from active element
const el = document.activeElement;
let combination;
if (kpxc.combinations.length === 0) {
combination = await kpxc.createCombination(el);