_search.js 4.36 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 ' ) );
    }
    $(document).on("click", ".search-filter-reset-custom", function(e){
        e.preventDefault();
        $(this).closest('.searchandfilter')[0].reset();
        $('#top-search').val();
        return false;
    });

    //$('.search-filter-reset').unbind('click');

    $(document).on("click", ".search-filter-reset", function(e){
      e.preventDefault();
      console.log('reset');
      const search = new URLSearchParams();
      search.set('_sf_s', $('#top-search').val());
      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;
    });  
    

    
    
    $(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();
      setTimeout(() => {
          window.location.href = window.location.href
      }, "5000");
    });

  
    $(document).on("click", ".advance-search-button", function(e){
      $('#search-box-content').addClass('show');
      $('.search-box').addClass('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 };