Fix Lastpass input button handling in login form
* move hidden login form to the left to hide overlayed
Lastpass context buttons
* do dropdown toggling for login form manually to
not only ignore clicks into form but also into overlayed
Lastpass context buttons for closing the dropdown again;
do close dropdown for included a and button elements
though
This commit is contained in:
parent
881d3bb212
commit
de0ee08e05
4 changed files with 26 additions and 3 deletions
File diff suppressed because one or more lines are too long
|
|
@ -119,6 +119,28 @@ $(function() {
|
|||
self.elementUsernameInput = $("#login_user");
|
||||
self.elementPasswordInput = $("#login_pass");
|
||||
self.elementLoginButton = $("#login_button");
|
||||
|
||||
var toggle = $("li.dropdown#navbar_login");
|
||||
var button = $("a", toggle);
|
||||
|
||||
button.on("click", function(e) {
|
||||
$(this).parent().toggleClass("open");
|
||||
});
|
||||
|
||||
$("body").on("click", function(e) {
|
||||
var anyFormLinkOrButton = $("#login_dropdown_loggedout a, #login_dropdown_loggedin a, #login_dropdown_loggedout button, #login_dropdown_loggedin button");
|
||||
var dropdown = $("li.dropdown#navbar_login");
|
||||
var anyLastpassButton = $("#__lpform_login_user, #__lpform_login_pass");
|
||||
|
||||
var isLinkOrButton = anyFormLinkOrButton.is(e.target) || anyFormLinkOrButton.has(e.target).length !== 0;
|
||||
var isDropdown = dropdown.is(e.target) || dropdown.has(e.target).length === 0;
|
||||
var isLastpass = anyLastpassButton.is(e.target) || anyLastpassButton.has(e.target).length === 0;
|
||||
|
||||
if (isLinkOrButton || !(isDropdown || isLastpass)) {
|
||||
toggle.removeClass("open");
|
||||
}
|
||||
});
|
||||
|
||||
if (self.elementUsernameInput && self.elementUsernameInput.length
|
||||
&& self.elementLoginButton && self.elementLoginButton.length) {
|
||||
self.elementLoginButton.blur(function() {
|
||||
|
|
|
|||
|
|
@ -1150,6 +1150,7 @@ input[type=number] {
|
|||
overflow: hidden;
|
||||
border: 0;
|
||||
box-shadow: none;
|
||||
left: -9999px;
|
||||
}
|
||||
#loginForm {
|
||||
margin: 0;
|
||||
|
|
@ -1157,4 +1158,4 @@ input[type=number] {
|
|||
button {
|
||||
margin-top: 20px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
|
||||
<a href="#" class="dropdown-toggle">
|
||||
<i class="icon-user"></i> <span data-bind="text: loginState.userMenuText">{{ _('Login') }}</span>
|
||||
<b class="caret"></b>
|
||||
</a>
|
||||
|
|
|
|||
Loading…
Reference in a new issue