{"version":3,"sources":["wwwroot/js/rangeFilter.js"],"names":["$","$sliderPrice","$sliderDate","sliderInit","$sliderContainer","sliderStep","$slider","find","$sliderParentMenu","parent","$sliderFrom","$sliderTo","minValue","data","maxValue","slider","min","max","start","end","step","autoAdjustLabels","onMove","range","firstVal","secondVal","currentFilter","parents","val","parseInt","removeClass","addClass","document","trigger","on","sliderToValue","isNaN","changeSlider","this","sliderFromValue","$sliderParent","appliedFilter","appliedListFilters","rangeFilters","item","filterCode","show","checkIsFilterApplied","clearSlider","getCurrentSlider","window","currentFilterCode","setTimeout","hide","length"],"mappings":"AAAAA,GAAE,WACE,MAAMC,EAAeD,EAAE,2CACnBE,EAAcF,EAAE,kDAiBpB,SAASG,EAAWC,EAAkBC,GAClC,IAAIC,EAAUF,EAAiBG,KAAK,gBAChCC,EAAoBJ,EAAiBK,SAASA,SAASA,SACvDC,EAAcN,EAAiBG,KAAK,gBACpCI,EAAYP,EAAiBG,KAAK,cAClCK,EAAWF,EAAYG,KAAK,SAC5BC,EAAWH,EAAUE,KAAK,SAC9BP,EACKS,OAAO,CACJC,IAAKJ,EACLK,IAAKH,EACLI,MAAON,EACPO,IAAKL,EACLM,KAAMf,EACNgB,kBAAkB,EAClBC,OAAQ,SAAUC,EAAOC,EAAUC,GAC/B,IAAIC,EAAgBpB,EAAQqB,QAAQ,YAAYd,KAAK,eACrDH,EAAYkB,IAAIC,SAASL,IACzBb,EAAUiB,IAAIC,SAASJ,IACvBzB,EAAE,8BAA8B8B,YAAY,UAC5C9B,EAAE,oCAAsC0B,EAAgB,MAAMK,SAAS,WACvE/B,EAAEgC,UAAUC,QAAQ,wBAGhCvB,EAAYwB,GAAG,UAAU,WACrB,IAAIC,EAAgBC,MAAMP,SAASlB,EAAUiB,QAAUjB,EAAUE,KAAK,SAAWF,EAAUiB,MAC3FS,EAAa/B,EAASN,EAAEsC,MAAMV,MAAOO,GACrCnC,EAAEgC,UAAUC,QAAQ,wBAGxBtB,EAAUuB,GAAG,UAAU,WACnB,IAAIK,EAAkBH,MAAMP,SAASnB,EAAYkB,QAAUlB,EAAYG,KAAK,SAAWH,EAAYkB,MACnGS,EAAa/B,EAASiC,EAAiBvC,EAAEsC,MAAMV,OAC/C5B,EAAEgC,UAAUC,QAAQ,wBAK5B,SAA8BO,EAAelC,GACzC,IAAImC,EAAgBC,mBAAmBC,aAAapC,MAAKqC,GAAQA,EAAKC,YAAcL,EAAc3B,KAAK,iBACnG4B,GACAJ,EAAa/B,EAASmC,EAAc7B,SAAU6B,EAAc3B,UAAWd,EAAE,0BAA0B8C,OANvGC,CAAqBvC,EAAmBF,GAS5C,SAAS0C,EAAY5C,GACjB,IAAIE,EAAUF,EAAiBG,KAAK,gBAChCG,EAAcN,EAAiBG,KAAK,gBACpCI,EAAYP,EAAiBG,KAAK,cAClCK,EAAWF,EAAYG,KAAK,SAC5BC,EAAWH,EAAUE,KAAK,SAE9BP,EAAQS,OAAO,iBAAkBH,EAAUE,GAG/C,SAASmC,IAGL,OAFwBjD,EAAE,sBAAwBkD,OAAOC,kBAAoB,MAKjF,SAASd,EAAa/B,EAASM,EAAUE,GACrCR,EAAQS,OAAO,iBAAkBH,EAAUE,GA3E/CsC,YAAW,WACPjD,EAAWF,EAHC,IAIZE,EAAWD,EAHA,KAIZ,KAEHF,EAAEgC,UAAUE,GAAG,eAAe,WAgF9B,IACQ1B,EACAF,EACAM,EACAE,EAHAN,EAAoByC,IACpB3C,EAAUE,EAAkBD,KAAK,gBACjCK,EAAWJ,EAAkBD,KAAK,gBAAgBM,KAAK,SACvDC,EAAWN,EAAkBD,KAAK,cAAcM,KAAK,SACzDP,EAAQS,OAAO,iBAAkBH,EAAUE,GAC3CR,EAAQG,SAASqB,YAAY,WAC7BtB,EAAkBsB,YAAY,WAC9BtB,EAAkBD,KAAK,4BAA4B8C,OAC9C,8BAAgCC,QACjCtD,EAAE,8BAA8B+B,SAAS,aAtFjD/B,EAAEgC,UAAUE,GAAG,gBAAgB,WAC3Bc,EAAY/C,GACZ+C,EAAY9C","file":"rangeFilter.min.js","sourcesContent":["$(function () {\r\n const $sliderPrice = $('.catalog-topbar .js-filter-slider-price'),\r\n $sliderDate = $('.catalog-topbar .js-filter-slider-release-year'),\r\n priceStep = 50,\r\n dateStep = 1;\r\n setTimeout(function () {\r\n sliderInit($sliderPrice, priceStep);\r\n sliderInit($sliderDate, dateStep);\r\n }, 500);\r\n\r\n $(document).on('clearSlider', function () {\r\n removeActiveSlider();\r\n });\r\n\r\n $(document).on('clearSliders', function () {\r\n clearSlider($sliderPrice);\r\n clearSlider($sliderDate);\r\n });\r\n\r\n function sliderInit($sliderContainer, sliderStep) {\r\n var $slider = $sliderContainer.find('.slider-init'),\r\n $sliderParentMenu = $sliderContainer.parent().parent().parent(),\r\n $sliderFrom = $sliderContainer.find('.slider-from'),\r\n $sliderTo = $sliderContainer.find('.slider-to'),\r\n minValue = $sliderFrom.data('value'),\r\n maxValue = $sliderTo.data('value');\r\n $slider\r\n .slider({\r\n min: minValue,\r\n max: maxValue,\r\n start: minValue,\r\n end: maxValue,\r\n step: sliderStep,\r\n autoAdjustLabels: false,\r\n onMove: function (range, firstVal, secondVal) {\r\n let currentFilter = $slider.parents('.content').data('filter-code');\r\n $sliderFrom.val(parseInt(firstVal));\r\n $sliderTo.val(parseInt(secondVal));\r\n $('.catalog-filters__controls').removeClass('hidden');\r\n $('.filters-menu [data-filter-code=\"' + currentFilter + '\"]').addClass('choosen');\r\n $(document).trigger('activeRangeFilter');\r\n }\r\n });\r\n $sliderFrom.on('change', function () {\r\n let sliderToValue = isNaN(parseInt($sliderTo.val())) ? $sliderTo.data('value') : $sliderTo.val();\r\n changeSlider($slider, $(this).val(), sliderToValue);\r\n $(document).trigger('activeRangeFilter');\r\n });\r\n\r\n $sliderTo.on('change', function () {\r\n let sliderFromValue = isNaN(parseInt($sliderFrom.val())) ? $sliderFrom.data('value') : $sliderFrom.val();\r\n changeSlider($slider, sliderFromValue, $(this).val());\r\n $(document).trigger('activeRangeFilter');\r\n });\r\n checkIsFilterApplied($sliderParentMenu, $slider);\r\n } \r\n\r\n function checkIsFilterApplied($sliderParent, $slider) {\r\n let appliedFilter = appliedListFilters.rangeFilters.find(item => item.filterCode == $sliderParent.data('filter-code'));\r\n if (appliedFilter)\r\n changeSlider($slider, appliedFilter.minValue, appliedFilter.maxValue); $('.js-current-menu-clear').show();\r\n }\r\n\r\n function clearSlider($sliderContainer) {\r\n var $slider = $sliderContainer.find('.slider-init'),\r\n $sliderFrom = $sliderContainer.find('.slider-from'),\r\n $sliderTo = $sliderContainer.find('.slider-to'),\r\n minValue = $sliderFrom.data('value'),\r\n maxValue = $sliderTo.data('value');\r\n\r\n $slider.slider('set rangeValue', minValue, maxValue); \r\n }\r\n\r\n function getCurrentSlider() {\r\n var $sliderParentMenu = $('[data-filter-code=\"' + window.currentFilterCode + '\"]');\r\n\r\n return $sliderParentMenu;\r\n };\r\n\r\n function changeSlider($slider, minValue, maxValue) {\r\n $slider.slider('set rangeValue', minValue, maxValue);\r\n };\r\n\r\n function setActiveSlider() {\r\n var $sliderParentMenu = getCurrentSlider(),\r\n $slider = $sliderParentMenu.find('.slider-init');\r\n $slider.parent().addClass('checked');\r\n $sliderParentMenu.find('.js-clear-current-filter').show();\r\n };\r\n\r\n function removeActiveSlider() {\r\n var $sliderParentMenu = getCurrentSlider(),\r\n $slider = $sliderParentMenu.find('.slider-init'),\r\n minValue = $sliderParentMenu.find('.slider-from').data('value'),\r\n maxValue = $sliderParentMenu.find('.slider-to').data('value');\r\n $slider.slider('set rangeValue', minValue, maxValue);\r\n $slider.parent().removeClass('checked');\r\n $sliderParentMenu.removeClass('checked');\r\n $sliderParentMenu.find('.js-clear-current-filter').hide();\r\n if (!('.filters-menu input:checked').length)\r\n $('.catalog-filters__controls').addClass('hidden');\r\n };\r\n});"]}