If input field does not have focus:
- show autocomplete list if there are multiple credentials
- otherwise fill in credentials
This commit is contained in:
Philip Reimer 2020-11-03 19:34:25 +01:00
parent 376510c3f8
commit 0eaa8ee767

View file

@ -727,19 +727,22 @@ kpxc.fillInFromActiveElement = async function(passOnly = false) {
}
const el = document.activeElement;
if (el.nodeName !== 'INPUT') {
// No active input element selected -> fill the first combination found
if (kpxc.combinations.length > 0) {
kpxc.fillInCredentials(kpxc.combinations[0], kpxc.credentials[0].login, kpxc.credentials[0].uuid, passOnly);
// Focus to the input field
const field = passOnly ? kpxc.combinations[0].password : kpxc.combinations[0].username;
if (field) {
field.focus();
}
if (el.nodeName !== 'INPUT' && kpxc.combinations.length > 0 && kpxc.settings.autoCompleteUsernames) {
// No active input element selected -> focus to the input field
const field = passOnly ? kpxc.combinations[0].password : kpxc.combinations[0].username;
if (field) {
field.focus();
}
return;
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 && kpxc.combinations.length > 0 && kpxc.settings.autoCompleteUsernames) {
kpxcAutocomplete.showList(el);
return;