{"version":3,"names":["CoveoFacetSelection","config","facetContainer","$","facetButtonContainer","coveoRootSelector","coveoRoot","selectedFilterContainer","selectedFacets","facetSelectors","checkBoxSelector","dataValueAttribute","coveoSelectedClass","blankSpanHtml","facetSpanHtml","removeButtonSelector","facetHeaderSelector","facetExpandedClass","facetFilterBorderClass","mainFilterContainer","resizeTimeout","prototype","init","Coveo","$$","document","find","this","bindEvents","attr","self","on","e","args","populateFacetSelection","toggleAccordion","window","clearTimeout","setTimeout","width","show","empty","length","append","each","facet","hasClass","facetValue","push","value","checkBox","replace","handleRemoveFacet","slideToggle","toggleClass","parent","val","forEach","click","ready"],"sources":["assets/feature/search/facetWrapper/js/_coveoFacetSelection.js"],"sourcesContent":["var CoveoFacetSelection = (function () {\r\n var config = {\r\n facetContainer: $(\".facetFilter_mainContainer\"),\r\n facetButtonContainer: $(\".facetFilter_btnContainer\"),\r\n coveoRootSelector: \".coveo-searchinterface .CoveoSearchInterface\",\r\n coveoRoot: null,\r\n selectedFilterContainer: $(\".selected_filter\"),\r\n selectedFacets: [],\r\n facetSelectors: \".facetFilter_mainContainer .coveo-facet-values li\",\r\n checkBoxSelector: \"input[type='checkbox']\",\r\n dataValueAttribute: \"data-value\",\r\n coveoSelectedClass: \"coveo-selected\",\r\n blankSpanHtml: '' +\r\n '' +\r\n '',\r\n facetSpanHtml: '[val]' +\r\n '',\r\n removeButtonSelector: \".remove_selectedFilter\",\r\n facetHeaderSelector: $(\".facetFilter_btn\"),\r\n facetExpandedClass: \"facetFilter_expanded\",\r\n facetFilterBorderClass: \"facetFilter_border\",\r\n mainFilterContainer: $(\".facetFilter_mainContainer\"),\r\n resizeTimeout: null,\r\n };\r\n\r\n //constructor\r\n function CoveoFacetSelection() {\r\n // intentionaly kept empty\r\n }\r\n\r\n CoveoFacetSelection.prototype.init = function () {\r\n var self = this;\r\n\r\n //set coveo root\r\n config.coveoRoot = Coveo.$$(document).find(config.coveoRootSelector);\r\n\r\n //bind events\r\n self.bindEvents();\r\n\r\n config.facetHeaderSelector.attr(\"aria-expanded\", false);\r\n };\r\n\r\n CoveoFacetSelection.prototype.bindEvents = function () {\r\n var self = this;\r\n\r\n //Coveo Query success event\r\n Coveo.$$(config.coveoRoot).on(\"querySuccess\", function (e, args) {\r\n self.populateFacetSelection();\r\n });\r\n\r\n //accodrion click event\r\n config.facetHeaderSelector.on(\"click\", function () {\r\n self.toggleAccordion();\r\n });\r\n\r\n //resize event\r\n $(window).on(\"resize\", function () {\r\n //clear timeout\r\n clearTimeout(config.resizeTimeout);\r\n\r\n //set timeout\r\n config.resizeTimeout = setTimeout(function () {\r\n if ($(window).width() > 991) {\r\n config.mainFilterContainer.show();\r\n }\r\n }, 400);\r\n });\r\n };\r\n\r\n CoveoFacetSelection.prototype.populateFacetSelection = function () {\r\n var self = this;\r\n\r\n //clear existing filters\r\n config.selectedFilterContainer.empty();\r\n config.selectedFacets.length = 0;\r\n\r\n config.selectedFilterContainer.append(config.blankSpanHtml);\r\n\r\n //get selected facets\r\n $(config.facetSelectors).each(function () {\r\n var facet = $(this);\r\n\r\n if (facet.hasClass(config.coveoSelectedClass)) {\r\n var facetValue = facet.attr(config.dataValueAttribute);\r\n config.selectedFacets.push({\r\n value: facetValue,\r\n checkBox: facet.find(config.checkBoxSelector)\r\n });\r\n config.selectedFilterContainer.append(config.facetSpanHtml.replace(/\\[val\\]/g, facetValue));\r\n }\r\n });\r\n\r\n //bind remove click event\r\n $(config.removeButtonSelector).on(\"click\", function () {\r\n self.handleRemoveFacet($(this).attr(config.dataValueAttribute));\r\n });\r\n };\r\n\r\n CoveoFacetSelection.prototype.toggleAccordion = function () {\r\n config.facetContainer.slideToggle();\r\n config.facetButtonContainer.toggleClass(config.facetExpandedClass);\r\n config.facetButtonContainer.parent().toggleClass(config.facetFilterBorderClass);\r\n config.facetHeaderSelector.attr(\"aria-expanded\", config.facetButtonContainer.hasClass(config.facetExpandedClass));\r\n };\r\n\r\n CoveoFacetSelection.prototype.handleRemoveFacet = function (val) {\r\n var selectedFacets = config.selectedFacets;\r\n\r\n //get the specific facet and trigger click\r\n selectedFacets.forEach(function (facet) {\r\n if (facet.value === val) {\r\n facet.checkBox[0].click();\r\n return false; // Break out of the loop\r\n }\r\n });\r\n };\r\n\r\n return CoveoFacetSelection;\r\n})();\r\n\r\n$(document).ready(function () {\r\n if ($(\".facetFilter_mainContainer\").length > 0) {\r\n new CoveoFacetSelection().init();\r\n }\r\n});"],"mappings":"AAAA,IAAIA,oBAAsB,WACtB,IAAIC,EAAS,CACTC,eAAgBC,EAAE,8BAClBC,qBAAsBD,EAAE,6BACxBE,kBAAmB,+CACnBC,UAAW,KACXC,wBAAyBJ,EAAE,oBAC3BK,eAAgB,GAChBC,eAAgB,oDAChBC,iBAAkB,yBAClBC,mBAAoB,aACpBC,mBAAoB,iBACpBC,cAAe,2aAQfC,cAAe,obAOfC,qBAAsB,yBACtBC,oBAAqBb,EAAE,oBACvBc,mBAAoB,uBACpBC,uBAAwB,qBACxBC,oBAAqBhB,EAAE,8BACvBiB,cAAe,MAInB,SAASpB,IAET,CAyFA,OAvFAA,EAAoBqB,UAAUC,KAAO,WAIjCrB,EAAOK,UAAYiB,MAAMC,GAAGC,UAAUC,KAAKzB,EAAOI,mBAHvCsB,KAMNC,aAEL3B,EAAOe,oBAAoBa,KAAK,iBAAiB,EACrD,EAEA7B,EAAoBqB,UAAUO,WAAa,WACvC,IAAIE,EAAOH,KAGXJ,MAAMC,GAAGvB,EAAOK,WAAWyB,GAAG,gBAAgB,SAAUC,EAAGC,GACvDH,EAAKI,wBACT,IAGAjC,EAAOe,oBAAoBe,GAAG,SAAS,WACnCD,EAAKK,iBACT,IAGAhC,EAAEiC,QAAQL,GAAG,UAAU,WAEnBM,aAAapC,EAAOmB,eAGpBnB,EAAOmB,cAAgBkB,YAAW,WAC1BnC,EAAEiC,QAAQG,QAAU,KACpBtC,EAAOkB,oBAAoBqB,MAEnC,GAAG,IACP,GACJ,EAEAxC,EAAoBqB,UAAUa,uBAAyB,WACnD,IAAIJ,EAAOH,KAGX1B,EAAOM,wBAAwBkC,QAC/BxC,EAAOO,eAAekC,OAAS,EAE/BzC,EAAOM,wBAAwBoC,OAAO1C,EAAOY,eAG7CV,EAAEF,EAAOQ,gBAAgBmC,MAAK,WAC1B,IAAIC,EAAQ1C,EAAEwB,MAEd,GAAIkB,EAAMC,SAAS7C,EAAOW,oBAAqB,CAC3C,IAAImC,EAAaF,EAAMhB,KAAK5B,EAAOU,oBACnCV,EAAOO,eAAewC,KAAK,CACvBC,MAAOF,EACPG,SAAUL,EAAMnB,KAAKzB,EAAOS,oBAEhCT,EAAOM,wBAAwBoC,OAAO1C,EAAOa,cAAcqC,QAAQ,WAAYJ,GACnF,CACJ,IAGA5C,EAAEF,EAAOc,sBAAsBgB,GAAG,SAAS,WACvCD,EAAKsB,kBAAkBjD,EAAEwB,MAAME,KAAK5B,EAAOU,oBAC/C,GACJ,EAEAX,EAAoBqB,UAAUc,gBAAkB,WAC5ClC,EAAOC,eAAemD,cACtBpD,EAAOG,qBAAqBkD,YAAYrD,EAAOgB,oBAC/ChB,EAAOG,qBAAqBmD,SAASD,YAAYrD,EAAOiB,wBACxDjB,EAAOe,oBAAoBa,KAAK,gBAAiB5B,EAAOG,qBAAqB0C,SAAS7C,EAAOgB,oBACjG,EAEAjB,EAAoBqB,UAAU+B,kBAAoB,SAAUI,GACnCvD,EAAOO,eAGbiD,SAAQ,SAAUZ,GAC7B,GAAIA,EAAMI,QAAUO,EAEhB,OADAX,EAAMK,SAAS,GAAGQ,SACX,CAEf,GACJ,EAEO1D,CACV,CAhIyB,GAkI1BG,EAAEsB,UAAUkC,OAAM,WACVxD,EAAE,8BAA8BuC,OAAS,IACzC,IAAI1C,qBAAsBsB,MAElC","ignoreList":[]}