_search.js 5.78 KB

// Search Filter

import jquery from 'jquery';
import LazyLoad from "vanilla-lazyload";

var Search = (function($) {

  function init() {



    $('.search-box').css('margin-right', $('#main-nav .container').css('margin-right'));
    $('.search-box').css('opacity', '1');

    $('.badge').css('margin-right', $('#main-nav .container').css('margin-right'));
    $('#pojo-a11y-toolbar').css('margin-right', $('#main-nav .container').css('margin-right'));
    
    $('.badge').css('opacity', '1');
      setTimeout(() => {
        $('.badge').css('transition', '4s ease-in-out');
      }, "100");
    
    $(window).on('resize', function(){        
      $('.search-box').css('transition', '0s ease-in-out');
      $('.search-box').css('margin-right', $('#main-nav .container').css('margin-right'));
      $('#pojo-a11y-toolbar').css('margin-right', $('#main-nav .container').css('margin-right'));
      $('.badge').css('transition', '0s ease-in-out');
      $('.badge').css('margin-right', $('#main-nav .container').css('margin-right'));
      setTimeout(() => {
        $('.badge').css('transition', '4s ease-in-out');
        $('.search-box').css('transition', 'all 0.5s ease-in-out 0s');
      }, "100");
    });

    $(".searchandfilter ul li:contains('hidden')").hide();
    if ($('html:lang(fr-FR)').length) {
      $('<li class="sf-field-reset"><input type="submit" class="search-filter-reset-custom" value="EFFACER TOUT" ></li>').appendTo( jQuery( '#advance-search-modal .searchandfilter ul:first-child ' ) );
    }else{
      $('<li class="sf-field-reset"><input type="submit" class="search-filter-reset-custom" value="CLEAR ALL" ></li>').appendTo( jQuery( '#advance-search-modal .searchandfilter ul:first-child ' ) );
    }

    if ($('html:lang(fr-FR)').length && $('#search-wrapper:not(.news-search)').length) {
      $('.wpml-ls-link').attr('href', document.location.origin + '/search/');
    }else if($('#search-wrapper:not(.news-search)').length){
      $('.wpml-ls-link').attr('href', document.location.origin + '/search/?lang=fr');
    }

    if ($('html:lang(fr-FR)').length && $('.news-search').length) {
      $('.wpml-ls-link').attr('href', document.location.origin + '/news/');
    }else if($('.news-search').length){
      $('.wpml-ls-link').attr('href', document.location.origin + '/news/?lang=fr');
    }

    $(document).on("click", ".search-filter-reset-custom", function(e){
        e.preventDefault();
        $(this).closest('.searchandfilter')[0].reset();
        $('#top-search').val();
        return false;
    });

  

    $(document).on("click", "#search-wrapper:not(.news-search) .search-filter-reset", function(e){
      e.preventDefault();
      const searchParams = new URLSearchParams(window.location.search)
      var lang = searchParams.get('lang')
      const search = new URLSearchParams();
      search.set('_sf_s', $('#top-search').val());
      if(lang){
        search.set('lang',lang);  
      }
      location.search = search.toString();
      return false;
    }); 

    $(document).on("click", ".news-search .search-filter-reset", function(e){
      e.preventDefault();
      const searchParams = new URLSearchParams(window.location.search)
      var lang = searchParams.get('lang')
      var sft_category = searchParams.get('_sft_category')
      const search = new URLSearchParams();
      search.set('_sft_category',sft_category);
      if(lang){
        search.set('lang',lang);  
      }
      location.search = search.toString();
      return false;
    }); 
    
    $(document).on("click", ".top-go", function(e){
      e.preventDefault();
      $('#search-sidebar [name="_sf_search[]"]').val($('#top-search').val());
      $('#search-sidebar [name="_sf_submit"]').click()
      return false;
    });  
    $('#advance-search-modal').appendTo("#full-width-page-wrapper");

  
    $(document).on("keydown", "#top-search", function(e){
      if(e.keyCode == 13) {
        e.preventDefault();
        $('#search-sidebar [name="_sf_search[]"]').val($('#top-search').val());
        $('#search-sidebar [name="_sf_submit"]').click()
        return false;
      }
    });  

    $(document).on("click", '#advance-search-modal [name="_sf_submit"]', function(e){
       $('#advance-search-modal .searchandfilter').hide();
       $('[data-sf-form-id="399"]').trigger("submit");
       //$('[data-sf-form-id="102"]').trigger("submit");
       $('.searching-loading').show();
       $('.overlay').show();
       //$('#full-width-page-wrapper #content').css('opacity', '0');
        setTimeout(() => {
            window.location.href = window.location.href
        }, "3000");
    });

  
    $(document).on("click", ".advance-search-button", function(e){
      $('.badge').hide();
    });

    $(document).on("click", ".advance-search-button-footer", function(e){
      $('#advance-search-modal').modal('show');
      $('.badge').hide();
    });
  
    var myModal = document.getElementById('advance-search-modal');

    if(myModal){
        myModal.addEventListener('hidden.bs.modal', function () {
          $('#search-box-content').removeClass('show');
          $('.search-box').removeClass('show');
          $('.badge').show();
        })
    }

    $(document).on("change",' #top-news-select  input[type="radio"][name="_sft_category[]"]', function(e){
      const search = new URLSearchParams(location.search);
      if (this.value == 'news') { 
            search.set('_sft_category', 'news');
        }else if (this.value == 'news-fr') {
            search.set('_sft_category', 'news-fr');
        }else if (this.value == 'events') {
            search.set('_sft_category', 'events');
        }else if (this.value == 'events-fr') {
            search.set('_sft_category', 'events-fr');
        }
       location.search = search.toString();
    });
  

  }

  return {
    init: init
  };

}(jquery));

jquery(document).ready(Search.init);

export { Search };