event retriggering bug fixe

Signed-off-by: bachy <git@g-u-i.net>
This commit is contained in:
bachy 2012-11-09 22:13:48 +01:00
parent 63df1c8f3a
commit d97c0a2e45
6 changed files with 38 additions and 33 deletions

File diff suppressed because one or more lines are too long

View File

@ -20,10 +20,12 @@ MaterioFlag = function(){
ajaxifyLinks(); ajaxifyLinks();
// trigger updated event for direct html loading // trigger updated event for direct html loading
setTimeout(function(){ if(isList()){
triggerContentChanged(); setTimeout(function(){
}, 10); triggerContentChanged();
}, 10);
}
}; };
function onFlaging(event){ function onFlaging(event){
@ -55,7 +57,7 @@ MaterioFlag = function(){
}; };
function onResultsUpdated(event){ function onResultsUpdated(event){
trace('onResultsUpdated', event); trace('MaterioFlag :: onResultsUpdated', event);
ajaxifyLinks(event.container); ajaxifyLinks(event.container);
}; };

File diff suppressed because one or more lines are too long

View File

@ -9,7 +9,7 @@ MaterioPageTitle = function(){
}; };
function onRefreshBlock(event){ function onRefreshBlock(event){
trace('onRefreshBlock', event); trace('MaterioPageTitle :: onRefreshBlock', event);
// var url = Drupal.settings.basePath+Drupal.settings.pathPrefix+'materio_page_title/refresh/block'; // var url = Drupal.settings.basePath+Drupal.settings.pathPrefix+'materio_page_title/refresh/block';
// $.getJSON(url, function(json){ // $.getJSON(url, function(json){
// trace('page title json', json); // trace('page title json', json);

File diff suppressed because one or more lines are too long

View File

@ -44,17 +44,20 @@ MaterioSearchApiAjax = function(){
.bind('history-state-change', onHistoryStateChange); .bind('history-state-change', onHistoryStateChange);
// trigger updated event for direct html loading // trigger updated event for direct html loading
setTimeout(function(){ if( isActuality() || isExplore() ){
var event = jQuery.Event('resultschanged'); setTimeout(function(){
var event = jQuery.Event('resultschanged');
if(isExplore())
event.container = '#content .search-results'; if(isExplore())
event.container = '#content .search-results';
if(isActuality())
event.container = '#content .actuality-items';
if(isActuality()) trace('MaterioSearchApiAjax :: initSearchAjax :: triggering resultschanged')
event.container = '#content .actuality-items'; $.event.trigger(event);
}, 10);
$.event.trigger(event); }
}, 10);
}; };
function getSearchKeys(){ function getSearchKeys(){
@ -98,21 +101,7 @@ MaterioSearchApiAjax = function(){
_isloadingresults = false; _isloadingresults = false;
$('#materio-search-api-search-form').removeClass('loading'); $('#materio-search-api-search-form').removeClass('loading');
var path = Drupal.settings.basePath + Drupal.settings.pathPrefix + json.search_path + '/' + json.keys;
var event = jQuery.Event('new-history-page');
event.path = path;
event.title = json.title;
event.content = json.return;
$.event.trigger(event);
for (language in Drupal.settings.materio_search_api_ajax.languages) {
var l = Drupal.settings.materio_search_api_ajax.languages[language];
$('#block-locale-language li.'+language+' a').attr('href', Drupal.settings.basePath + l.prefix+'/' + json.search_path + '/' + json.keys)
};
changeContent(json); changeContent(json);
}); });
} }
} }
@ -138,6 +127,7 @@ MaterioSearchApiAjax = function(){
function changeContent(json){ function changeContent(json){
trace('MaterioSearchApiAjax changeContent | json', json); trace('MaterioSearchApiAjax changeContent | json', json);
if(json.return){ if(json.return){
$.event.trigger('loaded-content'); $.event.trigger('loaded-content');
$('.inner-content',_$content).html(json.return); $('.inner-content',_$content).html(json.return);
@ -145,9 +135,21 @@ MaterioSearchApiAjax = function(){
}else{ }else{
trace('no results'); trace('no results');
} }
var event = jQuery.Event('new-history-page');
event.path = Drupal.settings.basePath + Drupal.settings.pathPrefix + json.search_path + '/' + json.keys;
event.title = json.title;
event.content = json.return;
$.event.trigger(event);
for (language in Drupal.settings.materio_search_api_ajax.languages) {
var l = Drupal.settings.materio_search_api_ajax.languages[language];
$('#block-locale-language li.'+language+' a').attr('href', Drupal.settings.basePath + l.prefix+'/' + json.search_path + '/' + json.keys)
};
}; };
function triggerContentChanged(){ function triggerContentChanged(){
trace('MaterioSearchApiAjax :: triggerContentChanged');
var event = jQuery.Event('resultschanged'); var event = jQuery.Event('resultschanged');
event.container = '#content .search-results, #content .actuality-items'; event.container = '#content .search-results, #content .actuality-items';
// event.title = json.title; // event.title = json.title;
@ -273,6 +275,7 @@ MaterioSearchApiAjax = function(){
function onHistoryStateChange(event){ function onHistoryStateChange(event){
if(isExplore() || isActuality()) if(isExplore() || isActuality())
triggerContentChanged(); triggerContentChanged();
// TODO: pushstate trogger state change, so we have a retriggerring here on loading new results … how to avoid this
}; };
/** /**