From 946fc0c50c04e6793eecbcdedda442991c8acca3 Mon Sep 17 00:00:00 2001 From: "mary.vtyurina" <mary.vtyurina@gmail.com> Date: Sun, 5 Jul 2015 10:26:48 +0300 Subject: [PATCH] Authorization popup window improvements * Auto focus to the login text field * Authorization by pressing "Enter" button * Changed window title --- media/js/profile.js | 66 ++++++++++++------- media/less/modal.less | 10 ++- ~dev_rating/application/views/popup/sign.twig | 5 +- 3 files changed, 53 insertions(+), 28 deletions(-) diff --git a/media/js/profile.js b/media/js/profile.js index 5ae4b2787..bd659d612 100644 --- a/media/js/profile.js +++ b/media/js/profile.js @@ -2,6 +2,8 @@ $(function () { var jProfiler = $('#profileInfo').first(); var isOpened = false; var flag = false; + var jLogin = $('#login'); + var jPass = $('#password'); // Показ профиля при нажатии $('#settingsButton').click(function () { @@ -41,33 +43,12 @@ $(function () { type: "POST", url: URLdir + "handler/Session/closeSession", success: function (data) { - $('.popup_overlay').css('display', 'block'); - - $('#signin_b').click(function () { - - $.post(URLdir + 'handler/sign/in', { - 'login': $('#login').val(), - 'password': $.sha1($('#password').val()) - }, - function (data) { - data = $.parseJSON(data); - if (data.success === true) { - $('.popup_overlay').css('display', 'none'); - //location.reload(); - setSessionTimer(15); - } - else { - $('.auth_error').show(); - } - }); - - }); + jLogin.focus(); } }); } - function setSessionTimer(time) { timer = setTimeout(function () { $.ajax({ @@ -78,7 +59,6 @@ $(function () { wait = parseInt(data, 10); if (wait <= 10) { closeSession(); - return; } else { setSessionTimer(wait - 10); } @@ -89,4 +69,44 @@ $(function () { setSessionTimer(1); + + function authorize(login, pass) { + $.post(URLdir + 'handler/sign/in', { + 'login': login, + 'password': $.sha1(pass) + }, + function (data) { + data = $.parseJSON(data); + if (data.success) { + $('.popup_overlay').hide(); + setSessionTimer(15); + } else { + $('.auth_error').show(); + } + }); + } + + function checkFieldsAndAuthorize() { + var login = jLogin.val(); + var pass = jPass.val(); + + if (login.length > 0 && pass.length > 0) { + authorize(login, pass); + } else { + !login.length ? jLogin.focus() : jPass.focus(); + } + } + + jLogin.keypress(function (event) { + if (event.keyCode == 13) + checkFieldsAndAuthorize(); + }); + + jPass.keypress(function (event) { + if (event.keyCode == 13) + checkFieldsAndAuthorize(); + }); + + $('#signin_b').click(checkFieldsAndAuthorize); + }); diff --git a/media/less/modal.less b/media/less/modal.less index 130cc1672..c5769b087 100644 --- a/media/less/modal.less +++ b/media/less/modal.less @@ -6,6 +6,12 @@ color: #aaaaaa; } +.auth_title +{ + font-size: x-large; + margin-bottom: 0.5em; +} + .auth_form { padding: 3px; @@ -74,7 +80,7 @@ max-width: 300px; padding: 20px; border: 3px solid #fff; - border-radius: 10px; + border-radius: 7px; box-shadow: inset 0 1px 2px 1px rgba(0,0,0,.4); background: #fff; vertical-align: middle @@ -111,4 +117,4 @@ -webkit-transform: scale3d(1,1,1); -webkit-box-shadow: 0 3px 20px rgba(0,0,0,0.9); } -} \ No newline at end of file +} diff --git a/~dev_rating/application/views/popup/sign.twig b/~dev_rating/application/views/popup/sign.twig index dbe1a0e6f..81ef324d6 100644 --- a/~dev_rating/application/views/popup/sign.twig +++ b/~dev_rating/application/views/popup/sign.twig @@ -1,8 +1,7 @@ <div class="popup_overlay"> <div class="popup"> <form action="sign" method='POST' id='signin_f'> - <div class="session_info">Пожалуйста, авторизируйтесь заново</div> - <div class='auth_error'>Неправильный логин/E-Mail или пароль</div> + <div class='auth_title'>Авторизация</div> <div class='inputs'> <div class="auth_form"> <input type="text" id="login" name="login" placeholder="Логин или E-Mail" value=""> @@ -21,4 +20,4 @@ {{ HTML.anchor('sign/up', 'Активировать аккаунт')|raw }} | {{ HTML.anchor('remind', 'Забыли пароль?')|raw }} </div> </div> -</div> \ No newline at end of file +</div> -- GitLab