jam-cloud/web/app/assets/javascripts/web/signinDialog.js

88 lines
2.5 KiB
JavaScript

(function(context,$) {
"use strict";
context.JK = context.JK || {};
context.JK.SigninDialog = function(app) {
var logger = context.JK.logger;
var rest = context.JK.Rest();
var dialogId = '#signin-dialog';
function reset() {
$(dialogId + ' #signin-form').removeClass('login-error')
$(dialogId + ' input[name=email]').val('');
$(dialogId + ' input[name=password]').val('');
$(dialogId + ' input[name=remember_me]').attr('checked', 'checked')
}
function login() {
var email = $(dialogId + ' input[name=email]').val();
var password = $(dialogId + ' input[name=password]').val();
var rememberMe = $(dialogId + ' input[name=remember_me]').is(':checked')
rest.login({email: email, password: password, remember_me: rememberMe})
.done(function() {
app.layout.closeDialog('signin-dialog')
window.location = '/client'
})
.fail(function(jqXHR) {
if(jqXHR.status == 422) {
$(dialogId + ' #signin-form').addClass('login-error')
}
else {
app.notifyServerError(jqXHR, "Unable to log in")
}
})
}
function events() {
$(dialogId + ' .signin-cancel').click(function(e) {
app.layout.closeDialog('signin-dialog');
e.stopPropagation();
return false;
});
$(dialogId + ' #signin-form').submit(function(e) {
login();
return false;
});
$(dialogId + ' .signin-submit').click(function(e) {
login();
return false;
});
$(dialogId + ' .show-signup-dialog').click(function(e) {
console.log("wtf")
app.layout.closeDialog('signin-dialog')
app.layout.showDialog('signup-dialog')
return false;
})
}
function beforeShow() {
reset();
}
function afterHide() {
}
function initialize(){
var dialogBindings = {
'beforeShow' : beforeShow,
'afterHide': afterHide
};
app.bindDialog('signin-dialog', dialogBindings);
events();
}
this.initialize = initialize;
}
})(window, jQuery);