/** * Created by robert on 9/17/15. */ (function(){ var loginFun = function(){ $('#disabled').css('display', ''); $('#disabled').css('cursor', 'wait'); codeq.comms.connect() .then(function () { return codeq.comms.login($('#username').val(), $('#password').val()); }) .then(function (data) { $('#disabled').css('display', 'none'); $('#disabled').css('cursor', ''); if (data.code !== 0) throw new Error('Login failed, code: ' + data.code + ', message: ' + data.message); //merge these settings into the already existing default settings var sett = data.settings; $.merge(true, codeq.settings, sett); if('lan' in sett && sett['lan'] in codeq.supportedLangs){ codeq.setLang(sett['lan']); } codeq.globalStateMachine.transition('language'); //codeq.activateState('language'); }) .fail(function (reason) { $('#disabled').css('display', 'none'); $('#disabled').css('cursor', ''); codeq.log.error('Login failed: ' + reason, reason); alert('Login request failed: ' + reason); $('#disabled').css('display', 'none'); }) .done(); }; codeq.globalStateMachine.register('login',{ 'enter': function(){ $('#signed-in-title').html(''); $("#submit").on('click', loginFun); $('#modalLogIn').modal(); $("#screen_login").css('display', ''); $('#disabled').css('display', 'none'); }, 'exit' : function(){ $("#submit").off('click', loginFun); $("#screen_login").css('display', 'none'); $('#signed-in-title').html('Signed in as '+$('#username').val()); $("#password").val(''); } }); })();