Replaced jQuery UI login dialog with home-grown login.
- New login hides the entire underlying page when open. - Fits the current design.
This commit is contained in:
42
www/js/ts.js
42
www/js/ts.js
@ -348,7 +348,7 @@ $(document).ready(function(){
|
||||
loadInitialData: function() {
|
||||
// assume we are authenticated
|
||||
|
||||
var username = $("#login-name").val(); // hackish
|
||||
var username = $("#username-input").val(); // hackish
|
||||
var data = jQuery.parseJSON($.ajax({
|
||||
url: '/ts_api/app/user_summary/' + username,
|
||||
async: false}).responseText);
|
||||
@ -365,32 +365,30 @@ $(document).ready(function(){
|
||||
});
|
||||
|
||||
TS.LoginView = Backbone.View.extend({
|
||||
el: $("#login-dialog"),
|
||||
el: $("#login"),
|
||||
|
||||
events: {
|
||||
"keypress #password-input" : "loginOnEnter",
|
||||
"click #login-button a" : "doLogin"
|
||||
},
|
||||
|
||||
initialize: function() {
|
||||
_.bindAll(this, 'doLogin', 'authenticate');
|
||||
_.bindAll(this, 'authenticate', 'doLogin', 'hide', 'loginOnEnter',
|
||||
'show');
|
||||
|
||||
var viewThis = this;
|
||||
$(this.el).dialog({
|
||||
autoOpen: false,
|
||||
height: 400,
|
||||
width: 400,
|
||||
modal: true,
|
||||
buttons: { Login: viewThis.doLogin}
|
||||
});
|
||||
},
|
||||
|
||||
action: function() {},
|
||||
|
||||
authenticate: function(nextAction) {
|
||||
this.action = nextAction;
|
||||
$(this.el).dialog("open");
|
||||
this.show();
|
||||
},
|
||||
|
||||
doLogin: function(){
|
||||
var viewThis = this;
|
||||
var name = $("#login-name");
|
||||
var pwd = $("#login-password");
|
||||
var name = this.$("#username-input");
|
||||
var pwd = $("#password-input");
|
||||
|
||||
// call the API via AJAX
|
||||
$.ajax({
|
||||
@ -405,15 +403,25 @@ $(document).ready(function(){
|
||||
// we should check that, FIXME
|
||||
var tips = $(".validate-tips");
|
||||
tips.text("Incorrect username/password combination.");
|
||||
tips.addClass("ui-state-error");
|
||||
tips.slideDown();
|
||||
},
|
||||
|
||||
success: function(data, textStatus, jqXHR) {
|
||||
$(viewThis.el).dialog("close");
|
||||
viewThis.action()
|
||||
viewThis.hide();
|
||||
viewThis.action();
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
hide: function() { $(this.el).addClass('hidden'); },
|
||||
|
||||
show: function() {
|
||||
$(this.el).removeClass('hidden');
|
||||
this.$("#username-input").focus();
|
||||
},
|
||||
|
||||
loginOnEnter: function(e) {
|
||||
if (e.keyCode == 13) { this.doLogin(); }
|
||||
}
|
||||
});
|
||||
|
||||
|
Reference in New Issue
Block a user