diff --git a/src/octoprint/static/js/app/viewmodels/loginstate.js b/src/octoprint/static/js/app/viewmodels/loginstate.js index d93f3280..661b1549 100644 --- a/src/octoprint/static/js/app/viewmodels/loginstate.js +++ b/src/octoprint/static/js/app/viewmodels/loginstate.js @@ -15,6 +15,10 @@ $(function() { self.currentUser = ko.observable(undefined); + self.elementUsernameInput = undefined; + self.elementPasswordInput = undefined; + self.elementLoginButton = undefined; + self.userMenuText = ko.computed(function() { if (self.loggedIn()) { return self.username(); @@ -103,7 +107,7 @@ $(function() { self.onLoginUserKeyup = function(data, event) { if (event.keyCode == 13) { - $("#login_pass").focus(); + self.elementPasswordInput.focus(); } }; @@ -113,12 +117,6 @@ $(function() { } }; - self.onLoginRememberKeyup = function(data, event) { - if (event.keyCode == 9) { - $("#login_user").focus(); - } - } - self.onAllBound = function(allViewModels) { self.allViewModels = allViewModels; }; @@ -127,6 +125,18 @@ $(function() { self.requestData(); }; + self.onStartup = function() { + self.elementUsernameInput = $("#login_user"); + self.elementPasswordInput = $("#login_pass"); + self.elementLoginButton = $("#login_button"); + if (self.elementUsernameInput && self.elementUsernameInput.length + && self.elementLoginButton && self.elementLoginButton.length) { + self.elementLoginButton.blur(function() { + self.elementUsernameInput.focus(); + }) + } + }; + self.onStartupComplete = function() { self.requestData(); }; diff --git a/src/octoprint/templates/navbar/login.jinja2 b/src/octoprint/templates/navbar/login.jinja2 index d500b107..f712f82d 100644 --- a/src/octoprint/templates/navbar/login.jinja2 +++ b/src/octoprint/templates/navbar/login.jinja2 @@ -8,7 +8,7 @@