diff --git a/public/js/v1.1.6/app/login.js b/public/js/v1.1.6/app/login.js index 9a8c82ba..a11abc15 100644 --- a/public/js/v1.1.6/app/login.js +++ b/public/js/v1.1.6/app/login.js @@ -565,75 +565,71 @@ define([ } }); }; + // -------------------------------------------------------------------- - // request character data for each character panel - $('.' + config.characterSelectionClass + ' .pf-dynamic-area').each(function(){ - var characterElement = $(this); + requirejs(['text!templates/ui/character_panel.html', 'mustache'], function(template, Mustache){ - characterElement.showLoadingAnimation(); + $('.' + config.characterSelectionClass + ' .pf-dynamic-area').each(function(){ + var characterElement = $(this); - var requestData = { - cookie: characterElement.data('cookie') - }; + characterElement.showLoadingAnimation(); - $.ajax({ - type: 'POST', - url: Init.path.getCookieCharacterData, - data: requestData, - dataType: 'json', - context: { - href: characterElement.data('href'), - cookieName: requestData.cookie, - characterElement: characterElement - } - }).done(function(responseData, textStatus, request){ - var characterElement = this.characterElement; - characterElement.hideLoadingAnimation(); + var requestData = { + cookie: characterElement.data('cookie') + }; - if( - responseData.error && - responseData.error.length > 0 - ){ - $('.' + config.dynamicMessageContainerClass).showMessage({ - type: responseData.error[0].type, - title: 'Character verification failed', - text: responseData.error[0].message - }); - } + $.ajax({ + type: 'POST', + url: Init.path.getCookieCharacterData, + data: requestData, + dataType: 'json', + context: { + cookieName: requestData.cookie, + characterElement: characterElement + } + }).done(function(responseData, textStatus, request){ + this.characterElement.hideLoadingAnimation(); - if(responseData.hasOwnProperty('character')){ + if( + responseData.error && + responseData.error.length > 0 + ){ + $('.' + config.dynamicMessageContainerClass).showMessage({ + type: responseData.error[0].type, + title: 'Character verification failed', + text: responseData.error[0].message + }); + } - var data = { - link: this.href, - cookieName: this.cookieName, - character: responseData.character - }; + if(responseData.hasOwnProperty('character')){ + + var data = { + link: this.characterElement.data('href'), + cookieName: this.cookieName, + character: responseData.character + }; - requirejs(['text!templates/ui/character_panel.html', 'mustache'], function(template, Mustache) { var content = Mustache.render(template, data); - characterElement.html(content); + this.characterElement.html(content); // show character panel (animation settings) - initCharacterAnimation(characterElement.find('.' + config.characterImageWrapperClass)); - }); - }else{ + initCharacterAnimation(this.characterElement.find('.' + config.characterImageWrapperClass)); + }else{ + // character data not available -> remove panel + removeCharacterPanel(this.characterElement); + } + }).fail(function( jqXHR, status, error) { + var characterElement = this.characterElement; + characterElement.hideLoadingAnimation(); + // character data not available -> remove panel removeCharacterPanel(this.characterElement); - } - - }).fail(function( jqXHR, status, error) { - var characterElement = this.characterElement; - characterElement.hideLoadingAnimation(); - - // character data not available -> remove panel - removeCharacterPanel(this.characterElement); + }); }); - }); }; - /** * default ajax error handler * -> show user notifications diff --git a/public/js/v1.1.6/app/util.js b/public/js/v1.1.6/app/util.js index 24244b14..8b4ef7b3 100644 --- a/public/js/v1.1.6/app/util.js +++ b/public/js/v1.1.6/app/util.js @@ -121,7 +121,9 @@ define([ var loadingElement = $(this); var overlay = loadingElement.find('.' + config.ajaxOverlayClass ); - $(overlay).velocity('reverse', { + // important: "stop" is required to stop "show" animation + // -> otherwise "complete" callback is not fired! + $(overlay).velocity('stop').velocity('reverse', { complete: function(){ $(this).remove(); // enable all events