(function ($, undefined) { var $searchForm, $search, $universCheckboxes; function getSelectedUnivers() { var univers = []; for (var i = 0; i < JS_UNIVERS_CODES.length; i++) { var universCode = JS_UNIVERS_CODES[i]; if ($(".enseignes-univers-" + universCode, $searchForm).is(":checked")) { univers.push(universCode); } } return univers; } function enseigneSearch() { return $.trim($search.val()); } function filterEnseignes() { var universFilter = getSelectedUnivers(); var searchValue = enseigneSearch(); $('.alphabet-index').each(function () { var $alphabetIndex = $(this); $alphabetIndex.hide(); $('.enseigne', $alphabetIndex).each(function () { var $enseigne = $(this); var enseigneLabel = $enseigne.attr('data-label'); var enseigneMaskInfo = $enseigne.attr('data-maskinfo'); var enseigneUnivers = getBrandUnivers(enseigneMaskInfo); var isEnseigneToShow = false; if (universFilter.length == 0) { isEnseigneToShow = true; } else { for (let universFilterIndex = 0; universFilterIndex < universFilter.length; universFilterIndex++) { var univers = universFilter[universFilterIndex]; if (enseigneUnivers.includes(univers)) { isEnseigneToShow = true; } else { isEnseigneToShow = false; break; } } } if (isEnseigneToShow) { if (searchValue == '') { isEnseigneToShow = true; } else { var matcher = new RegExp("\\b" + searchValue.toLowerCase(), "i"); isEnseigneToShow = matcher.test(enseigneLabel) } } isEnseigneToShow ? $alphabetIndex.show() && $enseigne.show() : $enseigne.hide(); }); }); } $(document).ready(function () { $searchForm = $('.enseignes-search'); $search = $('#search'); $universCheckboxes = $('input[type=checkbox]', $searchForm); $universCheckboxes.on('click', function (e) { console.log('check'); filterEnseignes(); }); $search.keyup(function () { filterEnseignes(); }); filterEnseignes(); //CTA plus/moins infos sur la page enseignes var $moreinfoBtn = $('.info .more-info'); var $lessinfoBtn = $('.info .less-info'); var $textmoreInfo = $('.enseignes .info'); $moreinfoBtn.on(g_clickOrTap, function(e) { e.stopPropagation(); e.preventDefault(); $textmoreInfo.addClass("open"); }); $lessinfoBtn.on(g_clickOrTap, function(e) { e.stopPropagation(); e.preventDefault(); $textmoreInfo.removeClass("open"); }); }); })(jQueryBottincarto);