- fixed "non clickable" character selection panels, closed #332

This commit is contained in:
Exodus4D
2016-10-09 13:34:53 +02:00
parent b05035442f
commit 5e48cce5ab
2 changed files with 50 additions and 52 deletions

View File

@@ -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

View File

@@ -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