fixed filters in search
This commit is contained in:
@ -30,19 +30,24 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
submit() {
|
||||
console.log("search submited", this.typed, this.autocomplete)
|
||||
console.log("search submited", this.typed, this.autocomplete, this.filters, this.slimFilters)
|
||||
// unfocus the text input to hide the keyboard on mobile device
|
||||
this.$input.blur()
|
||||
// New search is triggered by Base.vue with router (which will also fill the store)
|
||||
// cleaning slimfilters
|
||||
let filters = []
|
||||
this.slimFilters.forEach((filter, index) => {
|
||||
console.log('foreach filters', filter)
|
||||
console.log('onsubmit foreach filters', filter)
|
||||
if(filter){
|
||||
filters.push(filter)
|
||||
}
|
||||
})
|
||||
console.log('Cleaning filters',this.slimFilters, filters)
|
||||
// // this is just in case we landed in the page with filters in url params,
|
||||
// // this.slimFilters is not filled but store/search filters is
|
||||
// if(!filters.length){
|
||||
// filters = this.filters
|
||||
// }
|
||||
console.log('Cleaning filters',this.slimFilters, this.filters, filters)
|
||||
// push router
|
||||
this.$router.push({name:'base', query:{
|
||||
keys:this.typed,
|
||||
@ -69,7 +74,7 @@ export default {
|
||||
|
||||
},
|
||||
onSelectFiltersChange(index, info){
|
||||
console.log('onSelectFiltersChange', index, info, this.filters)
|
||||
console.log('onSelectFiltersChange', index, info, this.slimFilters, this.filters)
|
||||
this.slimFilters[index] = info.value
|
||||
},
|
||||
onClickFilters(e){
|
||||
@ -131,6 +136,7 @@ export default {
|
||||
// customize the select filters
|
||||
// http://slimselectjs.com/options
|
||||
const selects = this.$el.querySelectorAll('select')
|
||||
let slim;
|
||||
selects.forEach((selectElement, index) => {
|
||||
// get the first option to make the placeholder then empty it
|
||||
const placeholder_option = selectElement.querySelector('option:first-child')
|
||||
@ -139,7 +145,7 @@ export default {
|
||||
placeholder_option.removeAttribute("value")
|
||||
placeholder_option.setAttribute("data-placeholder", true)
|
||||
placeholder_option.innerHTML = ''
|
||||
new SlimSelect({
|
||||
slim = new SlimSelect({
|
||||
select: selectElement,
|
||||
placeholder: placeholder,
|
||||
// allowDeselect: true
|
||||
@ -150,7 +156,10 @@ export default {
|
||||
this.onSelectFiltersChange(index, info)
|
||||
}
|
||||
})
|
||||
console.log('slimselect selected', slim.selected(), index)
|
||||
this.slimFilters[index] = slim.selected()
|
||||
})
|
||||
console.log('slimSelect after init', this.slimFilters)
|
||||
},
|
||||
render(h) {
|
||||
// console.log('searchForm render')
|
||||
|
Reference in New Issue
Block a user