{"version":3,"file":"filters_with_list.c992020c.js","sources":["../../../app/javascript/components/filters-with-list/components/filter-manager.js","../../../app/javascript/components/filters-with-list/components/Filters.vue?vue&type=template&lang.js","../../../app/javascript/components/filters-with-list/components/Filters.vue","../../../app/javascript/components/filters-with-list/components/list-components/BlogItem.vue?vue&type=template&lang.js","../../../app/javascript/components/filters-with-list/components/list-components/BlogItem.vue","../../../app/javascript/components/filters-with-list/components/list-components/DefaultItem.vue?vue&type=template&lang.js","../../../app/javascript/components/filters-with-list/components/list-components/DefaultItem.vue","../../../app/javascript/components/filters-with-list/components/list-components/ServiceItem.vue?vue&type=template&lang.js","../../../app/javascript/components/filters-with-list/components/list-components/ServiceItem.vue","../../../app/javascript/components/filters-with-list/components/List.vue?vue&type=template&lang.js","../../../app/javascript/components/filters-with-list/components/List.vue","../../../app/javascript/components/filters-with-list/App.vue?vue&type=template&lang.js","../../../app/javascript/components/filters-with-list/App.vue","../../../app/javascript/entrypoints/filters_with_list.js"],"sourcesContent":["export default {\r\n data: () => ({\r\n urlFilters: {}\r\n }),\r\n watch: {\r\n filters: {\r\n handler: function(newValue) {\r\n if (newValue) {\r\n const queryString = window.location.search;\r\n const urlParams = new URLSearchParams(queryString);\r\n\r\n filters.forEach(filter => {\r\n let key = Object.keys(filter)[0];\r\n const value = urlParams.has(key) ? urlParams.get(key).split(',') : [];\r\n\r\n this.$set(this.urlFilters, key, value);\r\n })\r\n }\r\n },\r\n immediate: true,\r\n deep: true\r\n },\r\n urlFilters: {\r\n handler: function(newValue) {\r\n if (newValue) this.syncUrlParams();\r\n },\r\n immediate: false,\r\n deep: true\r\n }\r\n },\r\n methods: {\r\n syncUrlParams() {\r\n let validParameters = {};\r\n // Filter parameters that has one or more values\r\n Object.keys(this.urlFilters).forEach(key => {\r\n if (this.urlFilters[key] && this.urlFilters[key].length > 0) {\r\n validParameters[key] = this.urlFilters[key];\r\n }\r\n });\r\n // Update url parameters\r\n const parameters = new URLSearchParams(validParameters).toString();\r\n const fullUrl = window.location.origin + window.location.pathname + '?' + parameters;\r\n window.history.replaceState('', '', fullUrl);\r\n this.$emit('resetPage');\r\n this.$emit('getData', true);\r\n }\r\n }\r\n}","\n
\n {{ filtersMultiLanguageText }}\n
\n\n\r\n {{ filtersMultiLanguageText }}\r\n
\r\n\r\n{{$locale === 'es' ? 'No se encontraron resultados para tu búsqueda' : 'No results were found for your search'}}
\n{{$locale === 'es' ? 'No se encontraron resultados para tu búsqueda' : 'No results were found for your search'}}
\r\n