{"version":3,"sources":["shared/searchBar.js"],"names":["$searchForm","$","document","on","e","refreshGroupFilterText","submit","$dropdownMenu","resetDropdownMenu","closest","refreshRegionFilterText","updateRegionHiddenInput","this","refreshFilterButtonText","prop","$filterElt","defautText","$checkedItems","length","find","selectedFilterText","itemIndex","checkedItemLabel","each","elt","attr","text","toString","$btnFilter","toggleClass","regionCode","hiddenVal","data","$hiddenInput","val","click.bs.dropdown","target","is","stopPropagation","parent","shown.bs.dropdown","addClass","preventDefault","filtersData","serialize","location","assign"],"mappings":"aAAA,IAAMA,YAAcC,EAAE,wBAAtBA,EAAAC,UAAMF,MAAcC,WAKdC,EAAAA,UAAFC,GAAe,QAAS,8BAA+B,SAAAC,GACnDC,IACAL,YAAYM,WAIZL,EAAAC,UAAMK,GAAAA,QAAkB,6BAAxB,SAAAH,GACAI,IAAAA,EAAkBD,EAAAA,MAAlBE,QAAA,kBACAJ,EAAsBE,GAG1BF,MAGIK,EAAAA,UAAAA,GAAAA,QAAuB,+BAAA,SAAAN,GACvBJ,IAHJU,IAMER,YAAaI,WAGXK,EAAAA,UAAAA,GAAAA,QAAuB,8BAAA,SAAAP,GACvBM,IAAAA,EAAuBT,EAAAW,MAAAH,QAAA,kBAJ3BD,EAAAD,GAGII,IAIAN,MAAJ,IAAIA,EAAyB,WAIzBK,EAA0BV,YAA1BU,KAAAA,oBAAsC,aAAtCA,EAA0B,WAI1BF,EAAoBR,YAApBQ,KAAAA,qBAA6C,iBAA7CA,EAAoB,SAAUD,GAI9BM,EAAAA,KAAAA,aAA0BC,KAA1BD,WAAAA,IAAAA,EAA0B,SAAUE,EAAYC,GAG5CC,IAAAA,EAAcC,EAAYC,KAAA,eACtBC,EAAkBL,EAAtBI,KAAA,iBACAF,GAA6BI,EAA7BJ,EAAmBC,OAAUG,CACnBC,IAAAA,EAAmBP,GAD7BE,EAAcM,KAAK,SAAUF,EAAWG,GAEhCH,IAASC,EAAQP,EAAAI,KAAA,cAAAlB,EAAAW,MAAAa,KAAA,MAAA,MAAAC,OACjBN,GAAqBE,IAArBF,EAEKC,EAAeC,MAGnB,CAAA,KAAAD,EAAA,GAKEK,OAbXN,GAAA,OAAAH,EAAAC,OAAA,GAAAS,YAagBP,EAJRA,GAA+BH,KAAAA,KAQvCW,EAAgBZ,KAAAA,GAChBY,EAAWC,YAAY,UAAvB,QADAD,EAAWF,KAAKV,GAChBY,EAAWC,YAAY,UAAU,IAKrClB,EAA0B,WAItBM,IAAAA,EAAAjB,YAA0BmB,KAAA,4BAC1BF,EAAmBjB,YAAUqB,KAAWG,mCAC9BM,EAAU,GAFG,EAAvBb,EAAcC,QAGNG,EAAcE,KAAG,SAAAF,EAAAG,GACjBO,IAAYD,EAAZ7B,EAAAW,MAAAoB,KAAA,cAEC,IAAAX,EACQU,EAAUD,EAG9BC,GAAA,IAAAD,IACDG,EAAaC,IAAIH,IAMb9B,EAAA,2BAAoBE,GAAA,CAGvBgC,oBAAA,SAAA/B,GAGLH,EAAAG,EAAAgC,QAAAC,GAAA,iCALgBpC,EAAEG,EAAEgC,QAAQC,GAAG,kCAM7BjC,EAAAkC,qBAKMrC,EAAAA,2BAAsBsC,SAAApC,GAAA,CACzBqC,oBAAA,WANLvC,EAAA,QAAAwC,SAAA,6BAYMC,qBAAF,WAEIC,EAAAA,QAAc3C,YAAY4C,+BAHlC5C,YAAYG,GAAG,SAAU,SAAUC,GAC/BA,EAAEsC,iBAEF,IAAIC,EAAc3C,YAAY4C,YAE9BC,SAASC,OAAO,WAAaH,KAIjCtC,IACAK","file":"searchBar.min.js","sourcesContent":["const $searchForm = $('.js-jobs-search-form');\r\n\r\n$(document).ready(function () {\r\n\r\n // Group Filter: Reset and Submit dropdown menu buttons management.\r\n $(document).on('click', '.js-group-filter-submit-btn', function (e) {\r\n refreshGroupFilterText();\r\n $searchForm.submit();\r\n });\r\n\r\n $(document).on('click', '.js-group-filter-reset-btn', function (e) {\r\n const $dropdownMenu = $(this).closest('.dropdown-menu');\r\n resetDropdownMenu($dropdownMenu);\r\n refreshGroupFilterText();\r\n });\r\n\r\n // Region Filter: Reset and Submit dropdown menu buttons management.\r\n $(document).on('click', '.js-region-filter-submit-btn', function (e) {\r\n updateRegionHiddenInput();\r\n refreshRegionFilterText();\r\n $searchForm.submit();\r\n });\r\n\r\n $(document).on('click', '.js-region-filter-reset-btn', function (e) {\r\n const $dropdownMenu = $(this).closest('.dropdown-menu');\r\n resetDropdownMenu($dropdownMenu);\r\n updateRegionHiddenInput();\r\n refreshRegionFilterText();\r\n });\r\n\r\n var refreshGroupFilterText = function () {\r\n refreshFilterButtonText($searchForm.find(\".js-group-filter\"), \"Domaines\");\r\n };\r\n\r\n var refreshRegionFilterText = function () {\r\n refreshFilterButtonText($searchForm.find(\".js-region-filter\"), \"Localisation\");\r\n };\r\n\r\n var resetDropdownMenu = function ($dropdownMenu) {\r\n $dropdownMenu.find(':checkbox').prop('checked', false);\r\n };\r\n\r\n var refreshFilterButtonText = function ($filterElt, defautText) {\r\n const $btnFilter = $filterElt.find(\".btn-filter\");\r\n let $checkedItems = $filterElt.find(\"input:checked\");\r\n if ($checkedItems.length > 0) {\r\n let selectedFilterText = \"\";\r\n $checkedItems.each(function (itemIndex, elt) {\r\n const checkedItemLabel = $filterElt.find('label[for=\"' + $(this).attr('id') + '\"]').text();\r\n if (itemIndex === 0) {\r\n selectedFilterText = checkedItemLabel;\r\n }\r\n else if (itemIndex < 1) {\r\n selectedFilterText += \", \" + checkedItemLabel;\r\n }\r\n else {\r\n selectedFilterText += \", +\" + ($checkedItems.length - 1).toString();\r\n return false;\r\n }\r\n });\r\n $btnFilter.text(selectedFilterText);\r\n $btnFilter.toggleClass(\"active\", true);\r\n }\r\n else {\r\n $btnFilter.text(defautText);\r\n $btnFilter.toggleClass(\"active\", false);\r\n }\r\n };\r\n\r\n // Region filter values are maintained into an hidden input.\r\n var updateRegionHiddenInput = function () {\r\n const $hiddenInput = $searchForm.find(\".js-hidden-input-regions\");\r\n const $checkedItems = $searchForm.find(\".js-region-filter input:checked\");\r\n let hiddenVal = \"\";\r\n if ($checkedItems.length > 0) {\r\n $checkedItems.each(function (itemIndex, elt) {\r\n const regionCode = $(this).data(\"regionCode\");\r\n if (itemIndex === 0) {\r\n hiddenVal = regionCode;\r\n }\r\n else {\r\n hiddenVal += \",\" + regionCode;\r\n }\r\n });\r\n }\r\n $hiddenInput.val(hiddenVal);\r\n };\r\n\r\n //Prevents the bootstrap dropdown menu close when clicked inside.\r\n $('.js-dropdown-dont-close').on({\r\n \"click.bs.dropdown\": function (e) {\r\n if (!$(e.target).is(\".js-dropdown-footer > button\")\r\n && !$(e.target).is(\".js-dropdown-close-btn > span\"))\r\n e.stopPropagation();\r\n }\r\n });\r\n\r\n //Prevents page scrolling when full-screen dropdown is open.\r\n $('.js-dropdown-dont-close').parent().on({\r\n \"shown.bs.dropdown\": function (e) {\r\n $(\"body\").addClass(\"mobile-fixed-no-overflow\");\r\n },\r\n \"hidden.bs.dropdown\": function (e) {\r\n $(\"body\").removeClass(\"mobile-fixed-no-overflow\");\r\n }\r\n });\r\n\r\n\r\n\r\n $searchForm.on('submit', function (e) {\r\n e.preventDefault();\r\n\r\n var filtersData = $searchForm.serialize();\r\n\r\n location.assign('/search?' + filtersData);\r\n });\r\n\r\n\r\n refreshGroupFilterText();\r\n refreshRegionFilterText();\r\n}); "]}