fixed infinite scroll with advenced search
This commit is contained in:
		@@ -4,7 +4,8 @@ stringTypes.push($this.val());types[$this.val()]=$this.attr('checked');});if(!_i
 | 
			
		||||
$.event.trigger({type:'new-history-page',path:Drupal.settings.basePath+Drupal.settings.pathPrefix+json.path,title:json.title,content:json.returned});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(){$.event.trigger({type:'resultschanged',container:'#content .search-results, #content .actuality-items'});};function onInitScrollerPager(event){if(isActuality()||isExplore())
 | 
			
		||||
event.pager.hide();};function onLoadScrollerPager(event){if(!_isloadingresults){if(isExplore())
 | 
			
		||||
loadNextResultsPage(event.href);if(isActuality())
 | 
			
		||||
loadNextActualityPage(event.href);}};function loadNextResultsPage(href){trace('loadNextResultsPage');var keys=href.match(/explore\/([^\/|\?]+)/);var page=href.match(/\?page=([0-9]+)/);var url=Drupal.settings.basePath+Drupal.settings.pathPrefix+'materio_search_api_ajax/search/'+page[1];loadNextPage(url,keys[1],$('.materiobase-results',_$content),'.search-results');};function loadNextActualityPage(href){var page=href.match(/\?page=([0-9]+)/);var url=Drupal.settings.basePath+Drupal.settings.pathPrefix+'materio_search_api_ajax/actuality/'+page[1];loadNextPage(url,'',$('.materiobase-actuality',_$content),'.actuality-items');};function loadNextPage(url,keys,$container,target){_isloadingresults=true;$container.addClass('loading');$.getJSON(url,{'keys':keys},function(json){$container.removeClass('loading');addNextpage(json,target);});};function addNextpage(json,container_class){if(json){var $newcontent=$(json.returned),$newitems=$(container_class,$newcontent).children('article'),$newpager=$('ul.pager',$newcontent);$(container_class,_$content).append($newitems);$('ul.pager',_$content).replaceWith($newpager.hide());$(container_class,_$content).children('.just-added').each(function(i){var $this=$(this);setTimeout(function(){$this.removeClass('just-added');},150*i);});$.event.trigger({type:'resultscompleted',container:$(container_class,_$content)});}
 | 
			
		||||
loadNextActualityPage(event.href);}};function loadNextResultsPage(href){trace('loadNextResultsPage',href);var searchmode=href.match(/explore\/filters\//)?'advanced':'fulltext';trace("searchmode",searchmode);if(searchmode=='advanced'){var keys=href.match(/explore\/filters\/([^\/|\?]+)/);}else{var keys=href.match(/explore\/([^\/|\?]+)/);}
 | 
			
		||||
var page=href.match(/\?page=([0-9]+)/);var url=Drupal.settings.basePath+Drupal.settings.pathPrefix+'materio_search_api_ajax/search/'+page[1];loadNextPage(url,keys[1],$('.materiobase-results',_$content),'.search-results',searchmode);};function loadNextActualityPage(href){var page=href.match(/\?page=([0-9]+)/);var url=Drupal.settings.basePath+Drupal.settings.pathPrefix+'materio_search_api_ajax/actuality/'+page[1];loadNextPage(url,'',$('.materiobase-actuality',_$content),'.actuality-items');};function loadNextPage(url,keys,$container,target,searchmode){searchmode=searchmode||"fulltext";_isloadingresults=true;$container.addClass('loading');$.getJSON(url,{'keys':keys,'searchmode':searchmode},function(json){$container.removeClass('loading');addNextpage(json,target);});};function addNextpage(json,container_class){if(json){var $newcontent=$(json.returned),$newitems=$(container_class,$newcontent).children('article'),$newpager=$('ul.pager',$newcontent);$(container_class,_$content).append($newitems);$('ul.pager',_$content).replaceWith($newpager.hide());$(container_class,_$content).children('.just-added').each(function(i){var $this=$(this);setTimeout(function(){$this.removeClass('just-added');},150*i);});$.event.trigger({type:'resultscompleted',container:$(container_class,_$content)});}
 | 
			
		||||
_isloadingresults=false;};function addNextpageItemByItem($newcontent,container_class){$('ul.pager',_$content).remove();$(container_class,_$content).append($(container_class,$newcontent).children('article').eq(0));if($(container_class,$newcontent).children('article').length){setTimeout(function(){addNextpageItemByItem($newcontent,container_class);},200);}else{_isloadingresults=false;$('ul.pager',_$content).replaceWith($('ul.pager',$newcontent).hide());$.event.trigger({type:'resultscompleted',container:$(container_class,_$content)});}};function initViewMode(){$('.viewmode-link').click(function(event){event.preventDefault();if(!$(this).is('.active')){$(this).trigger({type:'vm-clicked'});changeViewMode($(this).attr('rel'),$(this));}else{$(this).trigger({type:'vm-clicked-active'});}
 | 
			
		||||
return false;});};function changeViewMode(vm,$btn){if(!_isloadingresults){_isloadingresults=true;$.getJSON(Drupal.settings.basePath+'materio_search_api_ajax/viewmode/change/'+vm,function(json){_isloadingresults=false;if(json.statut=="saved"){$.event.trigger({type:"record-stat",categorie:'Viewmode',action:vm,label:isActuality()?'Actualities':'Search results'});$.event.trigger('view-mode-changed');$('.viewmode-link, .viewmode-link i').removeClass('active');$btn.addClass('active').find('i').addClass('active');}});}};function onViewModeChanged(event){if(isExplore())
 | 
			
		||||
loadResults(getSearchKeys());if(isActuality())
 | 
			
		||||
 
 | 
			
		||||
@@ -220,12 +220,18 @@ MaterioSearchApiAjax = function(){
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  function loadNextResultsPage(href){
 | 
			
		||||
    trace('loadNextResultsPage');
 | 
			
		||||
    var keys = href.match(/explore\/([^\/|\?]+)/);
 | 
			
		||||
    trace('loadNextResultsPage', href);
 | 
			
		||||
    var searchmode = href.match(/explore\/filters\//) ? 'advanced' : 'fulltext';
 | 
			
		||||
    trace("searchmode", searchmode);
 | 
			
		||||
    if(searchmode == 'advanced'){
 | 
			
		||||
      var keys = href.match(/explore\/filters\/([^\/|\?]+)/);
 | 
			
		||||
    }else{
 | 
			
		||||
      var keys = href.match(/explore\/([^\/|\?]+)/);
 | 
			
		||||
    }
 | 
			
		||||
    var page = href.match(/\?page=([0-9]+)/);
 | 
			
		||||
    var url = Drupal.settings.basePath+Drupal.settings.pathPrefix+'materio_search_api_ajax/search/'+page[1];
 | 
			
		||||
 | 
			
		||||
    loadNextPage(url, keys[1], $('.materiobase-results', _$content), '.search-results');
 | 
			
		||||
    loadNextPage(url, keys[1], $('.materiobase-results', _$content), '.search-results', searchmode);
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  function loadNextActualityPage(href){
 | 
			
		||||
@@ -236,11 +242,15 @@ MaterioSearchApiAjax = function(){
 | 
			
		||||
    loadNextPage(url, '', $('.materiobase-actuality', _$content), '.actuality-items');
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  function loadNextPage(url, keys, $container, target){
 | 
			
		||||
  function loadNextPage(url, keys, $container, target, searchmode){
 | 
			
		||||
    // trace('MaterioSearchApiAjax :: loadNextPage()');
 | 
			
		||||
 | 
			
		||||
    // define mode (between full text or only term selected on autocompletion)
 | 
			
		||||
    searchmode = searchmode || "fulltext";
 | 
			
		||||
 | 
			
		||||
    _isloadingresults = true;
 | 
			
		||||
    $container.addClass('loading');
 | 
			
		||||
    $.getJSON(url, {'keys':keys}, function(json){
 | 
			
		||||
    $.getJSON(url, {'keys':keys,'searchmode':searchmode}, function(json){
 | 
			
		||||
      //trace('json', json);
 | 
			
		||||
      $container.removeClass('loading');
 | 
			
		||||
      addNextpage(json, target);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user