/** * We offer the best and most useful modules PrestaShop and modifications for your online store. * * We are experts and professionals in PrestaShop * * @author PresTeamShop.com * @copyright 2011-2018 PresTeamShop * @license see file: LICENSE.txt * @category PrestaShop * @category Module */ var AppFPP = { debug: true, searchers: [], removedElements: [], limiter_url: '#', //VOLVER ESTO EN OPCION DE CONFIGURACION. sections_remove: [ '#home-page-tabs', '#homepage-slider', '#htmlcontent_top', '#subcategories', '#editorial_block_center', '.slogan', '.cat-name', '.iosSlider_tb20', '.advanced_banner_container', '.rev_slider_wrapper', '.content-top .container', '.tab-content' ], init: function (){ $.cookie.json = true; $.totalStorage = $.totalStorageFPP; AppFPP.ui.resetSelects(); AppFPP.ui.initSlider(); AppFPP.ui.createEvents(); AppFPP.ui.initSearcher(); AppFPP.ui.initSearcherByUrl(); AppFPP.ui.checkEmptyContainer(); AppFPP.utils.removeUniform(); //AppFPP.ui.removeAllCookies(); //compatibilidad con otros modulos. En el caso que no exista se crea. if ($('#layered_form').length <= 0){ $('.filterproductspro').before('
'); } }, ui: { createEvents: function (){ // Selected Filters $('.filterproductspro').on('click', '.searcher .searcher_title, .searcher .title_block',AppFPP.ui.collapsibleSearcher); $('.filterproductspro').on('click', '.filter .block-header-filter', AppFPP.ui.collapsibleFilter); $('.filterproductspro').on('click','.remove-filter',{search: true}, AppFPP.ui.removeSelectedFilter); $('.filterproductspro').on('click','.remove-all-filter',AppFPP.ui.removeAllSelectedFilter); // Events Controls $('.filterproductspro').on('click','.execute-search',AppFPP.ui.onExecuteSearch); $('.filterproductspro').on('click','.search-again',AppFPP.ui.onExecuteSearch); $('.filterproductspro').on('keypress','.option-text',AppFPP.ui.onKeyPressOption); $('.filterproductspro').on('change','.option-text',AppFPP.ui.onBlurInput); $('.filterproductspro').on('click','.option-color',AppFPP.ui.onClickColor); $('.filterproductspro').on('click','.option-check',AppFPP.ui.onClickCheck); $('.filterproductspro').on('click','.option-radio',AppFPP.ui.onClickRadio); $('.filterproductspro').on('click','.option-image',AppFPP.ui.onClickImage); $('.filterproductspro').on('change','.option-select',AppFPP.ui.onChangeOption); $(window).on('hashchange', AppFPP.ui.initSearcherByUrl); $(FilterProductsPro.CONFIGS.FPP_COLUMN_NAME).on('click', '.selected_filters .selected_options span', function(e){ var id_option = $(e.currentTarget).data('id'); //var id_filter = $(e.currentTarget).data('id-filter'); var id_searcher = $(e.currentTarget).data('id-searcher'); $('.filterproductspro .searcher[data-id='+id_searcher+'] .selectedFilters .selected-option[data-id='+id_option+'] .remove-filter').trigger('click'); }); var $searcher = $('.filterproductspro:eq(0)'); $(window).scroll(function() { if ($(window).width() < 768 && $searcher.length > 0) { $searcher.addClass('searcher_mobile'); if (FilterProductsPro.CONFIGS.FPP_SEARCHER_STICKY) { // var top_searcher = $searcher.offset().top + $searcher.height(); var $product_list = $(FilterProductsPro.CONFIGS.FPP_COLUMN_NAME).find('.product_list'); if ($product_list.length <= 0) { $product_list = $(FilterProductsPro.CONFIGS.FPP_COLUMN_NAME); } // var top_product_list = $product_list.offset().top + $product_list.height(); $searcher.addClass('searcher_mobile'); if (!$searcher.visible()) { // if ($(window).scrollTop() >= top_searcher && $(window).scrollTop() < top_product_list) { if (!$searcher.find('.searcher').hasClass('stick_searcher')) { if ($searcher.find('.searcher').hasClass('searcher-expand')) { $searcher.find('.searcher').toggleClass('searcher-collapse searcher-expand'); } $searcher.addClass('sticked'); $searcher.find('.searcher').addClass('stick_searcher'); } // } else { // $searcher.removeClass('sticked'); // $searcher.find('.searcher').removeClass('stick_searcher'); // } } else { $searcher.removeClass('sticked'); $searcher.find('.searcher').removeClass('stick_searcher'); } } } else { $searcher.removeClass('searcher_mobile'); } }); $(window).trigger('scroll'); $(window).resize(function(){ $searcher.removeClass('sticked'); $searcher.find('.searcher').removeClass('stick_searcher'); $(window).trigger('scroll'); }); }, resetSelects: function (){ $('.option-select').val(""); }, collapsibleSearcher: function (e){ $(e.currentTarget).parent().toggleClass('searcher-collapse searcher-expand'); /*$(e.currentTarget).toggleClass('searcher_collapse searcher_expand'); $(e.currentTarget).children('i').toggleClass('fa-pts-plus fa-pts-minus'); $(e.currentTarget).parents('.searcher').find('.block_content').toggleClass('block_content_collapse block_content_expand'); var id_searcher = $(e.currentTarget).parents('.searcher').data('id'); if ($(e.currentTarget).hasClass('searcher_expand')){ $.totalStorageFPP('is_collapsible_searcher_' + id_searcher,false); } else { $.totalStorageFPP('is_collapsible_searcher_' + id_searcher,true); }*/ }, collapsibleFilter: function (e){ $(e.currentTarget).parent().toggleClass('filter-collapse filter-expand'); /*$(e.currentTarget).parents('.filter').find('.block-content-filter').toggleClass('block-content-filter-collapse'); $(e.currentTarget).children('i').toggleClass('fa-pts-plus fa-pts-minus'); var id_filter = $(e.currentTarget).parents('.filter').data('id'); if ($(e.currentTarget).hasClass('collapse-filter-in')){ $.totalStorageFPP('is_collapsible_filter_' + id_filter,false); } else { $.totalStorageFPP('is_collapsible_filter_' + id_filter,true); }*/ }, overrideEvents: function (){ $('#selectPrductSort').die().off('change'); $('#selectProductSort').die().off('change'); $('.selectProductSort').die().off('change'); $("#selectPrductSort, #selectProductSort, .selectProductSort").on('change',AppFPP.ui.onChangeProductSort); $('#pagination a').die().off('click'); $('.pagination a').die().off('click'); $("#pagination a, .pagination a").on('click',AppFPP.ui.onClickPagination); $("#pagination :submit, .pagination :submit").on('click',AppFPP.ui.onClickSubmitPagination); $('select#nb_item, select#nb_item_bottom').removeAttr('onchange'); $('select#nb_item').die().off('change'); $('select#nb_item_bottom').die().off('change'); $("select#nb_item, select#nb_item_bottom").on('change',AppFPP.ui.onChangeNumberRecord); }, checkEmptyContainer: function (){ $('.filterpro.filter > div.block-content-filter').each(function (i,div){ $select = $(div).find('select'); $other_elements = $(div).find('input, img, button, .option-slider, .option-text'); if (($select.find('option').length == 1 && !$select.hasClass('is_filter_depend')) || ($select.length <= 0 && $other_elements.length <= 0)){ if (typeof $(div).find('> .no-options')[0] === typeof undefined){ $(div).append($('
').addClass('no-options').append('').text(FilterProductsPro.Msg.no_options_lang)); $select.hide(); } } else { $(div).find('> .no-options').remove(); $select.show(); } }); }, initSearcher: function (){ // Searcher if (AppFPP.searchers) { $.each(AppFPP.searchers,function (index, value){ var searcher = value.searcher; if (searcher) { var filters = searcher.filters; // Filters $.each(filters,function (index,filter){ var id_filter = filter.id_filter; var filter_cookie = AppFPP.ui.getCookie('filter' + id_filter); if (typeof filter_cookie !== typeof undefined){ // 4 -> Text Input if (filter.control == FilterProductsPro.GLOBALS_VARS_JS.control_types.input){ $('.filterproductspro').find('.filter[data-id="' + id_filter + '"] .option-text').val(filter_cookie.text); if (filter_cookie.value){ var search = filter_cookie.text.toLowerCase(); var result = $.grep(filter.products,function (el){ return el.name.toLowerCase().indexOf(search) > -1; }); filter.result = []; $.each(result,function (idx,value){ filter.result.push(value.id_product); }); AppFPP.ui.addSelectedFilter({currentTarget: $('.filterproductspro').find('.filter[data-id="' + id_filter + '"] .option-text')},null,id_filter); } } // 5 -> Slider if (filter.control == FilterProductsPro.GLOBALS_VARS_JS.control_types.slider){ $('.filterproductspro').find('.filter[data-id="' + id_filter + '"] .option-slider').prev().val(formatCurrency(parseFloat(filter_cookie.values[ 0 ]),currencyFormat,currencySign,currencyBlank) + " - " + formatCurrency(parseFloat(filter_cookie.values[ 1 ]),currencyFormat,currencySign,currencyBlank)); $('.filterproductspro').find('.filter[data-id="' + id_filter + '"] .option-slider')[0].noUiSlider.set(filter_cookie.values); if (filter_cookie.value){ filter.result = []; $.each(filter.products,function (index,value){ if (filter_cookie.values[ 0 ] <= value.price && value.price <= filter_cookie.values[ 1 ]){ filter.result.push(value.id_product); } }); AppFPP.ui.addSelectedFilter({currentTarget: $('.filterproductspro').find('.filter[data-id="' + id_filter + '"] .option-slider')},null,id_filter); } } } var options_list = filter.options; // Options $.each(options_list,function (index,options){ $.each(options,function (index,option){ var id_option = option.id_option; var option_cookie = AppFPP.ui.getCookie('option' + id_option); if (typeof option_cookie !== typeof undefined){ if (filter.control == 1 || filter.control == 2 || filter.control == 3){ // When is select if (option_cookie.control == 1){ $('.filterproductspro').find('.option[data-id="' + id_option + '"]').prop(option_cookie.prop,option_cookie.value); //Add to selected filter if (option_cookie.value){ /* test */ var $selects = $('.filterproductspro').find('.option[data-id="' + id_option + '"]').parent('select'); $.each($selects,function (index,ele){ AppFPP.ui.addSelectedFilter({currentTarget: ele},id_option); var $ele = $(ele); if ($ele.hasClass('is_filter_depend')){ // filter customs depends if ($ele.hasClass('filter_custom')){ var id_parent = $(ele).find('option[data-id="' + $(ele).val() + '"]').data('id-parent'); var id_filter_next = $(ele).data('id-filter-next'); var $select_next = $(ele).parents('.searcher').find('.filter[data-id="' + id_filter_next + '"] select'); // Filter Depends AppFPP.fn.getOptionDependecyCustom({id_parent: id_parent,id_option: option.id_option},function (err,response){ if (!err){ var options = response.list_options; AppFPP.ui.fillSelects($select_next,options); AppFPP.utils.getFilterById(id_filter_next,function (_filter){ _filter.options = {1: options}; }); // Add to Selected Filters if (option.id_option !== ""){ ///AppFPP.ui.addSelectedFilter({currentTarget: ele},option.id_option); } } return; }); } if ($ele.hasClass('filter_category')){ var id_filter_next = $ele.data('id-filter-next'); var $select_next = $ele.parents('.searcher').find('.filter[data-id="' + id_filter_next + '"] select'); AppFPP.fn.getOptionDependecy({id_option: id_option,id_filter_next: id_filter_next},function (err,response){ if (!err){ var options = response.list_options; AppFPP.ui.fillSelects($select_next,options); AppFPP.utils.getFilterById(id_filter_next,function (_filter){ _filter.options = {1: options}; }); } return; }); } if ($ele.hasClass('filter_attribute')){ var ids_options = []; ids_options.push(id_option); var $searcher = $ele.parents('.searcher'); var $content_selected_filters = $searcher.find('.selectedFilters'); var $list_filters = $content_selected_filters.find('.filter-list'); $.each($list_filters.children(),function (idx,ele){ ids_options.push($(ele).data('id')); }); AppFPP.fn.getOptionDependecyAttribute({id_searcher: searcher.id_searcher,id_option: id_option,ids_options: ids_options,id_filter_next: id_filter_next},function (err,response){ if (!err){ var options = response.list_options; var id_product_options = response.id_product_options; AppFPP.ui.fillSelects($select_next,options); if ($select_next.hasClass('filter_custom') || $select_next.hasClass('filter_category') || $select_next.hasClass('filter_attribute')){ AppFPP.utils.getFilterById(id_filter_next,function (_filter){ _filter.options = {1: options}; }); } // Add to Selected Filters if (id_option !== ""){ AppFPP.ui.addSelectedFilter(event,id_option); $list_filters = $content_selected_filters.find('.filter-list'); $.each($list_filters.children(),function (idx,ele){ var id_option = $(ele).data('id'); AppFPP.utils.getOptionById(id_option,function (option, filter){ if (!option.hasOwnProperty('products_list')){ option.products_list = JSON.parse(option.products); } $.each(id_product_options,function (idx,id_product){ if (option.products_list.indexOf(id_product) == -1){ option.products_list.push(id_product); } }); option.products = JSON.stringify(option.products_list); }); }); } } return; }); } else { $ele.prop('disabled',false); } } }); } } // When is radio if (option_cookie.control == 2){ $('.filterproductspro').find('.option[data-id="' + id_option + '"]').prop(option_cookie.prop,option_cookie.value); //Add to selected filter if (option_cookie.value){ $.each($('.filterproductspro').find('.option[data-id="' + id_option + '"]'),function (index,ele){ var $ele = $(ele); if ($ele.hasClass('option-radio')){ AppFPP.ui.addSelectedFilter({currentTarget: ele},id_option); } }); } } // When is check if (option_cookie.control == 3){ if (option_cookie.hasOwnProperty('color')){ // When is color if (option_cookie.value){ $('.filterproductspro').find('.option[data-id="' + id_option + '"]').addClass('active'); //Add to selected filter $.each($('.filterproductspro').find('.option[data-id="' + id_option + '"]'),function (index,ele){ AppFPP.ui.addSelectedFilter({currentTarget: ele},id_option); }); } } else if (option_cookie.hasOwnProperty('image')){ // When is image if (option_cookie.value){ $('.filterproductspro').find('.option[data-id="' + id_option + '"]').addClass('active'); //Add to selected filter $.each($('.filterproductspro').find('.option[data-id="' + id_option + '"]'),function (index,ele){ AppFPP.ui.addSelectedFilter({currentTarget: ele},id_option); }); } } else { // When is normal check $('.filterproductspro').find('.option[data-id="' + id_option + '"]').prop(option_cookie.prop,option_cookie.value); //Add to selected filter if (option_cookie.value){ $.each($('.filterproductspro').find('.option[data-id="' + id_option + '"]'),function (index,ele){ var $ele = $(ele); if ($ele.hasClass('option-check')){ AppFPP.ui.addSelectedFilter({currentTarget: ele},id_option); } }); } } } // Hidden Option if (!option_cookie.show){ AppFPP.ui.hiddenOptions(id_option); } //option.hidden = option_cookie.hidden; } } }); }); }); if ($('.searcher[data-id="' + searcher.id_searcher + '"]').find('.selectedFilters').is(":visible")){ AppFPP.utils.getSearcherById(searcher.id_searcher,function (searcher){ // Instant Search if (searcher.instant_search == "1" && searcher.enable_cookies == "0"){ AppFPP.ui.instantSearch({currentTarget: $('.searcher[data-id="' + searcher.id_searcher + '"]').find('.selectedFilters')}); } }); } } }); } }, buildDependencyOptions: function (){ if ($ele.hasClass('filter_custom')){ var id_filter_next = $ele.data('id-filter-next'); var $select_next = $ele.parents('.searcher').find('.filter[data-id="' + id_filter_next + '"] select'); var id_parent = option.id_parent; if (option.id_parent == "0"){ id_parent = option.id_dependency_option; } if (first){ id_parent = 0; first = false; } AppFPP.fn.getOptionDependecyCustom({id_parent: id_parent,id_option: id_option},function (err,response){ if (!err){ var options = response.list_options; AppFPP.ui.fillSelects($select_next,options); AppFPP.utils.getFilterById(filter.id_filter_next,function (_filter){ _filter.options = {1: options}; }); } }); } if ($ele.hasClass('filter_category')){ var id_filter_next = $ele.data('id-filter-next'); var $select_next = $ele.parents('.searcher').find('.filter[data-id="' + id_filter_next + '"] select'); AppFPP.fn.getOptionDependecy({id_option: id_option,id_filter_next: id_filter_next},function (err,response){ if (!err){ var options = response.list_options; AppFPP.ui.fillSelects($select_next,options); /**/ AppFPP.utils.getFilterById(id_filter_next,function (_filter){ _filter.options = {1: options}; }); /**/ } return; }); } if ($ele.hasClass('filter_attribute')){ var ids_options = []; ids_options.push(id_option); /**/ var $searcher = $ele.parents('.searcher'); var $content_selected_filters = $searcher.find('.selectedFilters'); var $list_filters = $content_selected_filters.find('.filter-list'); $.each($list_filters.children(),function (idx,ele){ ids_options.push($(ele).data('id')); }); AppFPP.fn.getOptionDependecyAttribute({id_searcher: searcher.id_searcher,id_option: id_option,ids_options: ids_options,id_filter_next: id_filter_next},function (err,response){ if (!err){ var options = response.list_options; var id_product_options = response.id_product_options; AppFPP.ui.fillSelects($select_next,options); /**/ if ($select_next.hasClass('filter_custom') || $select_next.hasClass('filter_category') || $select_next.hasClass('filter_attribute')){ AppFPP.utils.getFilterById(id_filter_next,function (_filter){ _filter.options = {1: options}; }); } /**/ // Add to Selected Filters if (id_option !== ""){ AppFPP.ui.addSelectedFilter(event,id_option); /**/ $list_filters = $content_selected_filters.find('.filter-list'); $.each($list_filters.children(),function (idx,ele){ var id_option = $(ele).data('id'); AppFPP.utils.getOptionById(id_option,function (option, filter){ if (!option.hasOwnProperty('products_list')){ option.products_list = JSON.parse(option.products); } $.each(id_product_options,function (idx,id_product){ if (option.products_list.indexOf(id_product) == -1){ option.products_list.push(id_product); } }); option.products = JSON.stringify(option.products_list); }); }); /**/ } } return; }); } }, addFilterToUrl: function (id_searcher){ if (FilterProductsPro.CONFIGS.FPP_SHOW_FILTER_IN_URL){ var params = {}; var $searcher = $('.searcher[data-id="' + id_searcher + '"]'); var selected_filters = $searcher.find('.selectedFilters .filter-list').children(); var json_params = {}; $.each(selected_filters,function (index,element){ var filter_link = $(element).find('span').data('link'); var option_link = ''; if (typeof $(element).data('id') !== typeof undefined){ AppFPP.utils.getOptionById($(element).data('id'),function (option, filter){ option_link = option.link; }); } else { var $slider = $searcher.find('.filterpro_slider_container[data-id-filter="' + $(element).data('id-filter') + '"]'); var $text_input = $searcher.find('input.option-text[data-id-filter="' + $(element).data('id-filter') + '"]'); if ($slider.length){ var min_price = parseFloat($slider.data('min-value-selected')); var max_price = parseFloat($slider.data('max-value-selected')); params.price_range = [min_price, max_price]; option_link = params.price_range.join('_'); } if ($text_input.length){ params.search = $text_input.val(); option_link = params.search.trim().replace(/\s/g,"_"); } } json_params[filter_link] = (json_params[filter_link] == undefined) ? option_link : json_params[filter_link] + '+' + option_link; //array_params.push(filter_link+'-'+option_link); }); var array_params = []; $.each(json_params,function (key,value){ array_params.push(key + '-' + value); }); var url = document.URL; if (url.indexOf(AppFPP.limiter_url) !== -1){ var parts_url = url.split(AppFPP.limiter_url); if (parts_url.length > 0){ url = parts_url.shift(); } } if (array_params.length > 0){ if (url.substr(url.length - 1) == "/"){ //se comenta pues daba error cuando la tienda no tiene el mostrar los id en la url. //url = url.slice(0,-1); } url += AppFPP.limiter_url + 's-' + id_searcher + '/' + array_params.join('/'); } history.pushState('','page',url); } }, initSearcherByUrl: function (){ // Original var url = decodeURI(document.URL); var id_searcher = 0; if (url.indexOf(AppFPP.limiter_url) !== -1){ var parts_url = url.split(AppFPP.limiter_url); var filters_url = parts_url.pop().split('/'); var searcher_url = filters_url.shift(); var id_searcher = searcher_url.split('-').pop(); //------------------------------------------------------- //Limpia los filtros que se tengan puestos para colocar los nuevos de la URL. var $list_content = $('.filterproductspro .searcher[data-id='+id_searcher+'] .filter-list'); $.each($list_content.children(),function (index, option){ var $option = $(option); var id_filter = $option.data('id-filter'); var id_option = $option.data('id'); AppFPP.ui.removeSelectedFilter({currentTarget: $option.find('.remove-filter')},id_option,id_filter,true); }); //------------------------------------------------------- if (filters_url.length > 0){ $.each(filters_url,function (key,link_url){ var parts = link_url.split('-'); var link_filter = parts.shift(); var array_options = parts.shift().split('+'); AppFPP.utils.getFilterByLink(id_searcher,link_filter,function (filter){ id_searcher = filter.id_searcher; if (filter.control == 1 || filter.control == 2 || filter.control == 3){ $.each(array_options,function (key, link){ link = decodeURIComponent(link); //se descodifica por si tiene tildes o simbolos. AppFPP.utils.getOptionByLinkFilterAndLinkOption(id_searcher,link_filter,link,function (option){ // When is select if (filter.control == 1){ $('.filterproductspro').find('.option[data-id="' + option.id_option + '"]').prop('selected',true); var $selects = $('.filterproductspro').find('.option[data-id="' + option.id_option + '"]').parent('select'); var $option_selected = $('.filterproductspro').find('.selected-option[data-id="' + option.id_option + '"]'); if (typeof $option_selected[0] === typeof undefined){ $.each($selects,function (index,ele){ $(ele).prop('disabled',false); /**/ if ($(ele).hasClass('filter_category')){ var id_filter_next = $(ele).data('id-filter-next'); var $select_next = $(ele).parents('.searcher').find('.filter[data-id="' + id_filter_next + '"] select'); AppFPP.fn.getOptionDependecy({id_searcher: id_searcher,id_option: option.id_option,id_filter_next: id_filter_next},function (err,response){ if (!err){ var options = response.list_options; AppFPP.ui.fillSelects($select_next,options); /**/ if ($select_next.hasClass('filter_custom') || $select_next.hasClass('filter_category')){ AppFPP.utils.getFilterById(id_filter_next,function (_filter){ _filter.options = {1: options}; }); } /**/ // Add to Selected Filters if (option.id_option !== ""){ AppFPP.ui.addSelectedFilter({currentTarget: ele},option.id_option); } } return; }); } else if ($(ele).hasClass('filter_custom')){ var id_parent = $(ele).find('option[data-id="' + $(ele).val() + '"]').data('id-parent'); var id_filter_next = $(ele).data('id-filter-next'); var $select_next = $(ele).parents('.searcher').find('.filter[data-id="' + id_filter_next + '"] select'); // Filter Depends AppFPP.fn.getOptionDependecyCustom({id_parent: id_parent,id_option: option.id_option},function (err,response){ if (!err){ var options = response.list_options; AppFPP.ui.fillSelects($select_next,options); /**/ AppFPP.utils.getFilterById(id_filter_next,function (_filter){ _filter.options = {1: options}; }); /**/ // Add to Selected Filters if (option.id_option !== ""){ AppFPP.ui.addSelectedFilter({currentTarget: ele},option.id_option); } } return; }); } else if ($(ele).hasClass('filter_attribute')){ var $searcher = $(ele).parents('.searcher'); var $content_selected_filters = $searcher.find('.selectedFilters'); var $list_filters = $content_selected_filters.find('.filter-list'); var id_filter_next = $(ele).data('id-filter-next'); var $select_next = $(ele).parents('.searcher').find('.filter[data-id="' + id_filter_next + '"] select'); var ids_options = []; ids_options.push(option.id_option); $.each($list_filters.children(),function (idx,ele){ ids_options.push($(ele).data('id')); }); AppFPP.fn.getOptionDependecyAttribute({id_searcher: id_searcher,id_option: option.id_option,ids_options: ids_options,id_filter_next: id_filter_next},function (err,response){ if (!err){ var options = response.list_options; var id_product_options = response.id_product_options; AppFPP.ui.fillSelects($select_next,options); /**/ if ($select_next.hasClass('filter_custom') || $select_next.hasClass('filter_category') || $select_next.hasClass('filter_attribute')){ AppFPP.utils.getFilterById(id_filter_next,function (_filter){ _filter.options = {1: options}; }); } /**/ // Add to Selected Filters if (option.id_option !== ""){ AppFPP.ui.addSelectedFilter({currentTarget: ele},option.id_option); /**/ $list_filters = $content_selected_filters.find('.filter-list'); $.each($list_filters.children(),function (idx,ele){ var id_option = $(ele).data('id'); AppFPP.utils.getOptionById(id_option,function (option, filter){ if (!option.hasOwnProperty('products_list')){ option.products_list = JSON.parse(option.products); } $.each(id_product_options,function (idx,id_product){ if (option.products_list.indexOf(id_product) == -1){ option.products_list.push(id_product); } }); option.products = JSON.stringify(option.products_list); }); }); /**/ } } return; }); } else { AppFPP.ui.addSelectedFilter({currentTarget: ele},option.id_option); } /**/ // AppFPP.ui.addSelectedFilter({currentTarget: ele},option.id_option); }); } } // When is radio if (filter.control == 2){ $('.filterproductspro').find('.option[data-id="' + option.id_option + '"]').prop('checked',true); //Add to selected filter $.each($('.filterproductspro').find('.option[data-id="' + option.id_option + '"]'),function (index,ele){ var $ele = $(ele); if ($ele.hasClass('option-radio')){ var $option_selected = $('.filterproductspro').find('.selected-option[data-id="' + option.id_option + '"]'); if (typeof $option_selected[0] === typeof undefined){ AppFPP.ui.addSelectedFilter({currentTarget: ele},option.id_option); } } }); } // When is check if (filter.control == 3){ // image - color $('.filterproductspro').find('.option[data-id="' + option.id_option + '"]').addClass('active'); // normal check $('.filterproductspro').find('.option[data-id="' + option.id_option + '"]').prop('checked',true); var $option_selected = $('.filterproductspro').find('.selected-option[data-id="' + option.id_option + '"]'); if (typeof $option_selected[0] === typeof undefined){ $.each($('.filterproductspro').find('.option[data-id="' + option.id_option + '"]'),function (index,ele){ if ($(ele).hasClass('option-check') || $(ele).hasClass('option-color')){ AppFPP.ui.addSelectedFilter({currentTarget: ele},option.id_option); } }); } } }); }); } // 4 -> Text Input if (filter.control == 4){ var text = ""; if (array_options.length > 0){ text = array_options.shift().split('_').join(" "); } $('.filterproductspro').find('.filter[data-id="' + filter.id_filter + '"] .option-text').val(text); // var search = text.toLowerCase(); // var result = $.grep(filter.products,function (el){ // return el.name.toLowerCase().indexOf(search) > -1; // }); // // filter.result = []; // // $.each(result,function (idx,value){ // filter.result.push(value.id_product); // }); var $option_selected = $('.filterproductspro').find('.selected-option[data-id-filter="' + filter.id_filter + '"]'); if (typeof $option_selected[0] === typeof undefined){ AppFPP.ui.addSelectedFilter({currentTarget: $('.filterproductspro').find('.filter[data-id="' + filter.id_filter + '"] .option-text')},null,filter.id_filter); } } // 5 -> Slider if (filter.control == 5){ var values = ""; if (array_options.length > 0){ values = array_options.shift().split('_'); } var $slider = $('.filterproductspro').find('.filter[data-id="' + filter.id_filter + '"] .option-slider'); $slider.prev().val(formatCurrency(parseFloat(values[ 0 ]),currencyFormat,currencySign,currencyBlank) + " - " + formatCurrency(parseFloat(values[ 1 ]),currencyFormat,currencySign,currencyBlank)); $slider[0].noUiSlider.set(values); $slider.data('min-value-selected', parseFloat(values[0])); $slider.data('max-value-selected', parseFloat(values[1])); filter.result = []; $.each(filter.products,function (index,value){ if (parseFloat(values[ 0 ]) <= parseFloat(value.price) && parseFloat(value.price) <= parseFloat(values[ 1 ])){ filter.result.push(value.id_product); } }); var $option_selected = $('.filterproductspro').find('.selected-option[data-id-filter="' + filter.id_filter + '"]'); if (typeof $option_selected[0] === typeof undefined){ AppFPP.ui.addSelectedFilter({currentTarget: $('.filterproductspro').find('.filter[data-id="' + filter.id_filter + '"] .option-slider')},null,filter.id_filter); } } }); }); if ($('.searcher[data-id="' + id_searcher + '"]').find('.selectedFilters .filter-list').children().length > 0){ AppFPP.ui.onExecuteSearch({currentTarget: $('.searcher[data-id="' + id_searcher + '"]').find('.selectedFilters')}); } } } }, addSelectedFilter: function (event,id_option,id_filter){ var $searcher = $(event.currentTarget).parents('.searcher'); var $content_selected_filters = $searcher.find('.selectedFilters'); var $list_filters = $content_selected_filters.find('.filter-list'); // Si el contenedor esta oculto, lo muestro if ($list_filters.children().length === 0){ $content_selected_filters.removeClass('hidden'); } var $option = $(event.currentTarget); var filter_name = ''; var option_name = ''; var link = ''; var class_name = ''; var id_searcher = $searcher.data('id'); var active = true; var control = $option.data('control'); var data_cookie = {}; var $div = $('
').addClass('cf selected-option'); // select if ($option.hasClass('option-select')){ filter_name = $option.parents('.filter').find('.filterpro_subtitle').text(); //option_name = $option.find('option:selected').text(); option_name = $option.find('option:selected').data('name'); link = $option.parents('.filter').find('.filterpro_subtitle').data('link'); class_name = 'option-select'; /********** Filter Depends *********/ if ($option.hasClass('is_filter_depend')){ var id_filter_current = $option.parents('.filter').data('id'); var id_filter_next = $option.data('id-filter-next'); var id_parent = $option.find('option:selected').data('id-parent'); $div.attr('data-id-filter-current',id_filter_current); $div.attr('data-id-filter-next',id_filter_next); $div.attr('data-id-parent', id_parent); } data_cookie = {control: control,prop: 'selected',value: active,show: true}; } // color if ($option.hasClass('option-color')){ filter_name = $option.parents('.filter').find('.filterpro_subtitle').text(); option_name = $option.data('name'); /**/ link = $option.parents('.filter').find('.filterpro_subtitle').data('link'); class_name = 'option-color'; /**/ data_cookie = {color: true,control: control,prop: 'class',value: active,show: true}; } // check if ($option.hasClass('option-check')){ filter_name = $option.parents('.filter').find('.filterpro_subtitle').text(); //option_name = $option.next().text(); option_name = $option.data('name'); /**/ link = $option.parents('.filter').find('.filterpro_subtitle').data('link'); class_name = 'option-check'; /**/ data_cookie = {control: control,prop: 'checked',value: active,show: true}; } // radio if ($option.hasClass('option-radio')){ filter_name = $option.parents('.filter').find('.filterpro_subtitle').text(); option_name = $option.data('name'); /**/ link = $option.parents('.filter').find('.filterpro_subtitle').data('link'); class_name = 'option-radio'; /**/ data_cookie = {control: control,prop: 'checked',value: active,show: true}; } // image if ($option.hasClass('option-image')){ filter_name = $option.parents('.filter').find('.filterpro_subtitle').text(); option_name = $option.data('name'); /**/ link = $option.parents('.filter').find('.filterpro_subtitle').data('link'); class_name = 'option-image'; /**/ data_cookie = {image: true,control: control,prop: 'class',value: active,show: true}; } // slider if ($option.hasClass('option-slider')){ var min_value_selected = formatCurrency(parseFloat($option.data('min-value-selected')),currencyFormat,currencySign,currencyBlank); var max_value_selected = formatCurrency(parseFloat($option.data('max-value-selected')),currencyFormat,currencySign,currencyBlank); $div.attr('data-min', parseFloat($option.data('min-value-selected'))); $div.attr('data-max', parseFloat($option.data('max-value-selected'))); filter_name = $option.parents('.filter').find('.filterpro_subtitle').text(); option_name = min_value_selected + ' - ' + max_value_selected; link = $option.parents('.filter').find('.filterpro_subtitle').data('link'); class_name = 'option-slider'; data_cookie = {control: control, value: active, values: [min_value_selected, max_value_selected], show: true}; } // text input if ($option.hasClass('option-text')){ filter_name = $option.parents('.filter').find('.filterpro_subtitle').text(); option_name = $option.val(); link = $option.parents('.filter').find('.filterpro_subtitle').data('link'); class_name = 'option-text'; data_cookie = {control: control,value: active,text: option_name,show: true}; } data_cookie.id_searcher = id_searcher; //var $div = $('
').addClass('cf col-xs-12 selected-option'); if (id_option){ $div.attr('data-id',id_option); $div.attr('data-filter-id',$option.parents('.filter').data('id')); $div.attr('data-filter-control',class_name); } else { $div.attr('data-id-filter',id_filter); $div.attr('data-filter-control',class_name); } $div.append( $('').addClass('fa-pts fa-pts-times remove-filter'), $('').attr('data-link',link).text(' ' + filter_name + ': ' + option_name) ).appendTo($list_filters); AppFPP.ui.addFilterToUrl(id_searcher); if (id_filter){ AppFPP.utils.relationOptions(event,id_searcher,id_option,active,function (hidden){ AppFPP.ui.addCookie(id_searcher,'filter' + id_filter,data_cookie); }); } else { AppFPP.ui.resetNumberTotalProducts(id_searcher); // Relation Options AppFPP.utils.relationOptions(event,id_searcher,id_option,active,function (hidden){ AppFPP.ui.addCookie(id_searcher,'option' + id_option,data_cookie); }); } }, resetNumberTotalProducts: function (id_searcher){ if (FilterProductsPro.CONFIGS.FPP_SHOW_TOTAL_PRODUCTS_OPTION){ function intersect(a, b) { var t; if (b.length > a.length) t = b, b = a, a = t; // indexOf to loop over shorter return a.filter(function (e) { return b.indexOf(e) > -1; }); } var id_options_selected = AppFPP.utils.getOptionsSelected(id_searcher); var current_products_option_selected_intersection = []; $.each(id_options_selected, function(i, id_option) { var current_products_option_selected = []; AppFPP.utils.getOptionById(id_option, function (option, filter){ current_products_option_selected = JSON.parse(option.products); }); if (current_products_option_selected_intersection.length == 0) { current_products_option_selected_intersection = current_products_option_selected; } else { current_products_option_selected_intersection = intersect(current_products_option_selected_intersection, current_products_option_selected); } }); AppFPP.utils.getSearcherById(id_searcher, function (searcher) { $.each(searcher.filters, function (i, filter){ $.each(filter.options, function (i, options){ $.each(options, function (i, opt) { if (typeof opt.products === 'string'){ var $span_number_option = $('.filterproductspro').find('div.option[data-id="' + opt.id_option + '"] span'); opt.products_list = JSON.parse(opt.products); var cant_products = opt.products_list.length; if (id_options_selected.length > 0) { cant_products = 0; $.each(current_products_option_selected_intersection, function (i, id_product){ var index = opt.products_list.indexOf(id_product); if (index !== -1){ cant_products++; } }); } if ($span_number_option.length > 0) { $span_number_option.text('(' + cant_products + ')'); } } }); }); }); }); } }, removeSelectedFilter: function (event,_id_option,_id_filter,remove_all){ var id_filter = _id_filter; var id_option = _id_option; if (_id_option === undefined){ id_option = $(event.currentTarget).parents('.selected-option').data('id'); if (id_option === undefined){ id_filter = $(event.currentTarget).parents('.selected-option').data('id-filter'); } } var $searcher = $(event.currentTarget).parents('.searcher'); var $content_selected_filters = $searcher.find('.selectedFilters'); var $list_filters = $content_selected_filters.find('.filter-list'); var $option_selected = $list_filters.find('.selected-option[data-id="' + id_option + '"]'); var $option = $searcher.find('.option[data-id="' + id_option + '"]'); if (id_filter){ $option_selected = $list_filters.find('.selected-option[data-id-filter="' + id_filter + '"]'); $option = $searcher.find('.option[data-id-filter="' + id_filter + '"]'); } var id_searcher = $searcher.data('id'); var active = false; if ($option.hasClass('is_select')){ // Test if ($option.parent('select').hasClass('is_filter_depend')){ var id_filter_next = $option_selected.data('id-filter-next'); //Only categoies or custom if ($option.parent('select').hasClass('filter_category') || $option.parent('select').hasClass('filter_custom')){ $.each($list_filters.children(),function (i,ele){ var $ele = $(ele); if (typeof id_filter_next !== typeof undefined && id_filter_next == $ele.data('id-filter-current')){ var $select_next = $searcher.find('.filter[data-id="' + id_filter_next + '"] select'); id_filter_next = $ele.data('id-filter-next'); AppFPP.ui.removeCookie('option' + $ele.data('id')); if ($select.hasClass('filter_custom') || $select.hasClass('filter_category') || $select.hasClass('filter_attribute')) { AppFPP.ui.fillSelects($select_next,[]); $ele.remove(); } else { $select_next.prop('disabled',true); $select_next.find('.option[data-id=""]').prop('selected',true); } } }); } else { var $select_next = $searcher.find('.filter[data-id="' + id_filter_next + '"] select'); $select_next.prop('disabled',true); $select_next.find('.option[data-id=""]').prop('selected',true); $.each($list_filters.children(),function (i,ele){ var $ele = $(ele); if (typeof id_filter_next !== typeof undefined && id_filter_next == $ele.data('id-filter-current')){ $select_next = $searcher.find('.filter[data-id="' + id_filter_next + '"] select'); $select_next.prop('disabled',true); $select_next.find('.option[data-id=""]').prop('selected',true); id_filter_next = $ele.data('id-filter-next'); AppFPP.ui.removeCookie('option' + $ele.data('id')); AppFPP.utils.getOptionById($ele.data('id'),function (option, filter){ option.hidden = []; }); $ele.remove(); } }); } } if (_id_option === undefined || remove_all){ $option.parent('select').find('.option[data-id=""]').prop('selected',true); } } if ($option.hasClass('option-color')){ $option.removeClass('active'); } if ($option.hasClass('option-check')){ $option.prop('checked',false); } if ($option.hasClass('option-radio')){ $option.prop('checked',false); } if ($option.hasClass('option-image')){ $option.removeClass('active'); } if ($option.hasClass('option-text')){ $option.val(''); } $option_selected.remove(); if ($list_filters.children().length === 0){ $content_selected_filters.addClass('hidden'); } AppFPP.ui.addFilterToUrl(id_searcher); AppFPP.ui.resetNumberTotalProducts(id_searcher); // Relation Options AppFPP.utils.relationOptions(event, id_searcher, id_option, active, function (){ AppFPP.ui.removeCookie('option' + id_option); }); if (event.data !== undefined && event.data.search){ AppFPP.ui.instantSearch({currentTarget: $content_selected_filters}); } }, removeAllSelectedFilter: function (event){ var $parent = $(event.currentTarget).parents('.selectedFilters'); var $list_content = $parent.find('.filter-list'); $.each($list_content.children(),function (index, option){ var $option = $(option); var id_filter = $option.data('id-filter'); var id_option = $option.data('id'); AppFPP.ui.removeSelectedFilter({currentTarget: $option.find('.remove-filter')},id_option,id_filter,true); }); $(FilterProductsPro.CONFIGS.FPP_COLUMN_NAME).find('.selected_filters').remove(); AppFPP.ui.instantSearch(event); }, onKeyPressOption: function (event){ if (event.keyCode == 13){ AppFPP.ui.onTextInput(event); } }, onBlurInput: function (event){ AppFPP.ui.onTextInput(event); }, onTextInput: function (event){ var id_searcher = $(event.currentTarget).parents('.searcher').data('id'); var id_filter = $(event.currentTarget).parents('.filter').data('id'); var id_option = null; var value = $(event.currentTarget).val(); AppFPP.utils.getFilterById(id_filter,function (filter){ // var search = value.toLowerCase(); // var result = $.grep(filter.products,function (el){ // return el.name.toLowerCase().indexOf(search) > -1; // }); // // var result_options = $.grep(filter.options_group,function (el){ // return el.name.toLowerCase().indexOf(search) > -1; // }); // // filter.result = []; // // $.each(result,function (idx,value){ // filter.result.push(value.id_product); // }); // // $.each(result_options,function (idx,value){ // filter.result = $.merge(filter.result,JSON.parse(value.products)); // }); if (value !== ""){ // removeSelectedFilter AppFPP.ui.removeSelectedFilter(event,id_option,id_filter); $(event.currentTarget).val(value); // addSelectedFilter AppFPP.ui.addSelectedFilter(event,id_option,id_filter); } else { // removeSelectedFilter AppFPP.ui.removeSelectedFilter(event,id_option,id_filter); } var $button_search = $('.searcher[data-id="' + id_searcher + '"]').find('button.execute-search'); if ($button_search.length > 0) { $button_search.trigger('click'); } else { AppFPP.ui.instantSearch(event); } }); }, onClickColor: function (event){ var $ele = $(event.currentTarget); var id_option = $ele.data('id'); if ($ele.hasClass('active')){ $ele.removeClass('active'); AppFPP.ui.removeSelectedFilter(event,id_option); } else { $ele.addClass('active'); AppFPP.ui.addSelectedFilter(event,id_option); } AppFPP.ui.instantSearch(event); }, onClickCheck: function (event){ var $ele = $(event.currentTarget); var id_option = $ele.data('id'); var checked = $ele.is(':checked'); if (checked){ AppFPP.ui.addSelectedFilter(event,id_option); } else { AppFPP.ui.removeSelectedFilter(event,id_option); } AppFPP.ui.instantSearch(event); }, onClickRadio: function (event){ var $ele = $(event.currentTarget); var id_option = $ele.data('id'); var $radio_options = $ele.parents('.filterpro-radios').find('.option-radio:not([data-id="' + id_option + '"])'); if ($('.filterproductspro').find('.selected-option[data-id="' + id_option + '"]').length <= 0) { $ele.prop('checked', true); // Remove Selected Filters $.each($radio_options,function (index, option){ var id_option_tmp = $(option).val(); if ($('.filterproductspro').find('.selected-option[data-id="' + id_option_tmp + '"]').length > 0) { AppFPP.ui.removeSelectedFilter(event, id_option_tmp); } }); AppFPP.ui.addSelectedFilter(event,id_option); AppFPP.ui.instantSearch(event); } }, onClickImage: function (event){ var $ele = $(event.currentTarget); var id_option = $ele.data('id'); if ($ele.hasClass('active')){ $ele.removeClass('active'); AppFPP.ui.removeSelectedFilter(event,id_option); } else { $ele.addClass('active'); AppFPP.ui.addSelectedFilter(event,id_option); } AppFPP.ui.instantSearch(event); }, onChangeOption: function (event){ var $ele = $(event.currentTarget); var id_searcher = $ele.parents('.searcher').data('id'); var id_filter = $ele.parents('.filter').data('id'); var id_option = $ele.val(); // Remove Selected Filters var $searcher = $(event.currentTarget).parents('.searcher'); var $content_selected_filters = $searcher.find('.selectedFilters'); var $list_filters = $content_selected_filters.find('.filter-list'); $.each($list_filters.children(),function (idx,option){ if ($(option).data('filter-id') == id_filter){ AppFPP.ui.removeSelectedFilter(event,$(option).data('id')); } }); // Filter Depends if ($ele.hasClass('is_filter_depend')){ var id_filter_next = $ele.data('id-filter-next'); var $select_next = $ele.parents('.searcher').find('.filter[data-id="' + id_filter_next + '"] select'); if ($ele.hasClass('filter_custom')){ var id_parent = $ele.find('option[data-id="' + $ele.val() + '"]').data('id-parent'); // Filter Depends AppFPP.fn.getOptionDependecyCustom({id_parent: id_parent,id_option: id_option},function (err,response){ if (!err){ var options = response.list_options; AppFPP.ui.fillSelects($select_next,options); AppFPP.utils.getFilterById(id_filter_next,function (_filter){ _filter.options = {1: options}; }); // Add to Selected Filters if (id_option !== ""){ AppFPP.ui.addSelectedFilter(event,id_option); } } return; }); } else { if ($ele.hasClass('filter_category')){ AppFPP.fn.getOptionDependecy({id_searcher: id_searcher,id_option: id_option,id_filter_next: id_filter_next},function (err,response){ if (!err){ var options = response.list_options; AppFPP.ui.fillSelects($select_next,options); if ($select_next.hasClass('filter_custom') || $select_next.hasClass('filter_category')){ AppFPP.utils.getFilterById(id_filter_next,function (_filter){ _filter.options = {1: options}; }); } // Add to Selected Filters if (id_option !== ""){ AppFPP.ui.addSelectedFilter(event,id_option); } } return; }); } else if ($ele.hasClass('filter_attribute')){ var ids_options = []; ids_options.push(id_option); $.each($list_filters.children(),function (idx,ele){ ids_options.push($(ele).data('id')); }); AppFPP.fn.getOptionDependecyAttribute({id_searcher: id_searcher,id_option: id_option,ids_options: ids_options,id_filter_next: id_filter_next},function (err,response){ if (!err){ var options = response.list_options; var id_product_options = response.id_product_options; AppFPP.ui.fillSelects($select_next,options); if ($select_next.hasClass('filter_custom') || $select_next.hasClass('filter_category') || $select_next.hasClass('filter_attribute')){ AppFPP.utils.getFilterById(id_filter_next,function (_filter){ _filter.options = {1: options}; }); } // Add to Selected Filters if (id_option !== ""){ AppFPP.ui.addSelectedFilter(event,id_option); $list_filters = $content_selected_filters.find('.filter-list'); $.each($list_filters.children(),function (idx,ele){ var id_option = $(ele).data('id'); AppFPP.utils.getOptionById(id_option,function (option, filter){ if (!option.hasOwnProperty('products_list')){ option.products_list = JSON.parse(option.products); } $.each(id_product_options,function (idx,id_product){ if (option.products_list.indexOf(id_product) == -1){ option.products_list.push(id_product); } }); option.products = JSON.stringify(option.products_list); }); }); } } return; }); } else { $select_next.prop('disabled',true); if (id_option !== ""){ $select_next.prop('disabled',false); AppFPP.ui.addSelectedFilter(event,id_option); } } } } else { // Add to Selected Filters if (id_option !== ""){ AppFPP.ui.addSelectedFilter(event,id_option); } } $(event.currentTarget).blur(); AppFPP.ui.instantSearch(event); }, onChangeProductSort: function (event){ var id_searcher_result = $(FilterProductsPro.CONFIGS.FPP_COLUMN_NAME).data('id-searcher-result'); var form = $(this).parents('form');//{2} var url = $(form).attr('action'); if (url == null || url == undefined || url == ''){ event.stopPropagation(); event.preventDefault(); } var splitData = new Array('position','asc'); if ($(this).val().match(/[a-z]:[a-z0-9]/gi)) splitData = $(this).val().split(':'); else { url = ''; var vars = $(this).val().split('?');//Parte la url por {?} para obtener las variables pasadas por GET vars = vars[1] = undefined ? vars[1] : vars[1].split('&');//Obtiene la 2da posicion donde se encuentran las variables y parte la cadena por {&} var orderby = vars[0] != undefined ? vars[0] : '';//Obtiene la 1da posicion la cual contiene la variable {orderby={valor}} var orderway = vars[1] != undefined ? vars[1] : '';//Obtiene la 2ra posicion la cual contiene la varibla {orderway={$valor}} if (orderby != '' && orderway != '') splitData = new Array(orderby.split('=')[1],orderway.split('=')[1]);//Parte cada variable por {=} y obtiene la 2da posicion la cual posee el valor } var data = { orderby: splitData[0], orderway: splitData[1] }; if ($('select#nb_page_items').length > 0){ data.n = $('select#nb_page_items').val(); } else if ($('select#nb_item').length > 0){ data.n = $('select#nb_item').val(); } //if ($(document).find('.selectedFilters').is(':visible')){ AppFPP.ui.onExecuteSearch({currentTarget: $('.searcher[data-id="' + id_searcher_result + '"]').find('.selectedFilters'), sort: data}); //} }, onClickPagination: function (event){ var id_searcher_result = $(FilterProductsPro.CONFIGS.FPP_COLUMN_NAME).data('id-searcher-result'); var url = $(this).attr('href'); if (url == null || url == undefined || url == ''){ //event.stopPropagation(); //event.preventDefault(); } var splitData = new Array('',''); if ($('#selectPrductSort, #selectProductSort').length > 0){ splitData = $('#selectPrductSort, #selectProductSort').val().split(':'); } var data = { orderby: splitData[0], orderway: splitData[1], p: url.split('p=')[1] }; if ($('select#nb_page_items').length > 0){ data.n = $('select#nb_page_items').val(); } else if ($('select#nb_item').length > 0){ data.n = $('select#nb_item').val(); } AppFPP.ui.onExecuteSearch({currentTarget: $('.searcher[data-id="' + id_searcher_result + '"]').find('.selectedFilters'), sort: data}); //if ($(document).find('.selectedFilters').is(':visible')){ event.stopPropagation(); event.preventDefault(); //} }, onClickSubmitPagination: function (event){ var id_searcher_result = $(FilterProductsPro.CONFIGS.FPP_COLUMN_NAME).data('id-searcher-result'); var form = $(this).parents('form');//{2} var url = $(form).attr('action'); if (url == null || url == undefined || url == ''){ //event.stopPropagation(); //event.preventDefault(); } var splitData = new Array('',''); if ($('#selectPrductSort, #selectProductSort').length > 0){ splitData = $('#selectPrductSort, #selectProductSort').val().split(':'); } var data = { orderby: splitData[0], orderway: splitData[1], p: url.split('p=')[1] }; if ($(event.currentTarget).is(':button')) { data.n = $('input#nb_item').val(); } else if ($('select#nb_page_items').length > 0){ data.n = $('select#nb_page_items').val(); } else if ($('select#nb_item').length > 0){ data.n = $('select#nb_item').val(); } AppFPP.ui.onExecuteSearch({currentTarget: $('.searcher[data-id="' + id_searcher_result + '"]').find('.selectedFilters'), sort: data}); //if ($(document).find('.selectedFilters').is(':visible')){ event.stopPropagation(); event.preventDefault(); //} }, onChangeNumberRecord: function (event){ var id_searcher_result = $(FilterProductsPro.CONFIGS.FPP_COLUMN_NAME).data('id-searcher-result'); var form = $(this).parents('form');//{2} var url = $(form).attr('action'); if (url == null || url == undefined || url == ''){ //event.stopPropagation(); //event.preventDefault(); } var splitData = new Array('',''); if ($('#selectPrductSort').length > 0){ var splitData = $('#selectPrductSort').val().split(':'); } var data = { orderby: splitData[0], orderway: splitData[1], p: url.split('p=')[1] }; var nb_item = $(event.currentTarget).val(); if (nb_item != undefined && nb_item != ''){ data.n = nb_item; } AppFPP.ui.onExecuteSearch({currentTarget: $('.searcher[data-id="' + id_searcher_result + '"]').find('.selectedFilters'), sort: data}); event.stopPropagation(); event.preventDefault(); }, fillSelects: function ($select,options){ if ($select.hasClass('filter_custom') || $select.hasClass('filter_category') || $select.hasClass('filter_attribute')){ $select.children().remove(); $select.prop('disabled',(options.length == 0) ? true : false); var $option = $('