#1906, click on header menu base reset search

This commit is contained in:
Bachir Soussi Chiadmi 2022-09-13 11:26:34 +02:00
parent f919dab0e9
commit 40b7e75d44
10 changed files with 61 additions and 27 deletions

View File

@ -95,7 +95,7 @@ class Base extends ControllerBase {
} }
// in case of term id provided restrict the keys to taxo fields // in case of term id provided restrict the keys to taxo fields
if ($this->terms && count($this->terms)) { if ($this->terms && is_array($this->terms) && count($this->terms)) {
$term_conditions = $this->and_query->createConditionGroup('OR'); $term_conditions = $this->and_query->createConditionGroup('OR');
// $term = (int) $this->term; // $term = (int) $this->term;
foreach ($this->terms as $term) { foreach ($this->terms as $term) {

File diff suppressed because one or more lines are too long

View File

@ -54,7 +54,14 @@ export default {
// console.log("Clicked on header menu link", event) // console.log("Clicked on header menu link", event)
const href = event.target.getAttribute('href') const href = event.target.getAttribute('href')
// this.openCloseHamMenu(false) // this.openCloseHamMenu(false)
this.$router.push(href) // this.$router.push({name:'base', query:{
// keys:this.typed,
// // terms:this.autocomplete.join(','),
// terms: JSON.stringify(this.autocomplete),
// filters:filters.join(',')
// }})
this.$router.push({path: href, query: {}})
} }
}, },
render(h) { render(h) {

View File

@ -123,9 +123,16 @@ export default {
}, },
watch: { watch: {
typed(n, o){ typed(n, o){
console.log('watch typed changed o:' + o + ' n:' +n) console.log(`watch typed changed o:(${typeof o})${o} | n:(${typeof n})${n}`, o, n)
// if (typeof n === 'string') {
// // remove terms from autocomplete if removed from typed
// const r = /,\s?$/ // remove last comma space
// let tag_list = n.replace(r,'').split(', ')
// }else{
// let tag_list = n
// }
// remove terms from autocomplete if removed from typed // remove terms from autocomplete if removed from typed
const r = /,\s?$/ const r = /,\s?$/ // remove last comma space
let tag_list = n.replace(r,'').split(', ') let tag_list = n.replace(r,'').split(', ')
console.log('watch typed tag_list', tag_list) console.log('watch typed tag_list', tag_list)
console.log('watch typed autocomplete before', this.autocomplete) console.log('watch typed autocomplete before', this.autocomplete)
@ -136,11 +143,11 @@ export default {
} }
}); });
console.log('watch typed autocomplete after', this.autocomplete) console.log('watch typed autocomplete after', this.autocomplete)
} },
// keys(n, o){ keys(n, o){
// console.log('watch keys changed', o, n) console.log('watch keys changed', o, n)
// this.typed = n this.typed = n ? n.join(', ') + ', ' : ''
// }, },
// terms(n, o){ // terms(n, o){
// // if term change from store // // if term change from store
// console.log('watch terms changed', o, n) // console.log('watch terms changed', o, n)

View File

@ -72,7 +72,7 @@ export default {
this.$store.commit('Search/setKeys', keys) this.$store.commit('Search/setKeys', keys)
this.pagetitle = keys.join(', ') //params.get('keys') this.pagetitle = keys.join(', ') //params.get('keys')
} else { } else {
this.$store.commit('Search/setKeys', '') this.$store.commit('Search/reSetKeys')
this.pagetitle = 'Base' this.pagetitle = 'Base'
} }
@ -81,13 +81,13 @@ export default {
// this.$store.commit('Search/setTerms', params.get('terms').split(',')) // this.$store.commit('Search/setTerms', params.get('terms').split(','))
this.$store.commit('Search/setTerms', JSON.parse(params.get('terms'))) this.$store.commit('Search/setTerms', JSON.parse(params.get('terms')))
} else { } else {
this.$store.commit('Search/setTerms', []) this.$store.commit('Search/reSetTerms')
} }
if (params.has('filters')) { if (params.has('filters')) {
this.$store.commit('Search/setFilters', params.get('filters').split(',')) this.$store.commit('Search/setFilters', params.get('filters').split(','))
} else { } else {
this.$store.commit('Search/setFilters', []) this.$store.commit('Search/reSetFilters')
} }
this.newSearch() this.newSearch()
@ -95,16 +95,27 @@ export default {
beforeRouteUpdate (to, from, next) { beforeRouteUpdate (to, from, next) {
// when query change launch a new search // when query change launch a new search
console.log('Base beforeRouteUpdate', to, from, next) console.log('Base beforeRouteUpdate', to, from, next)
// todo text field of search form is not emptying on clicking on base after a search
// this.$store.commit('Search/setKeys', to.query.keys) // this.$store.commit('Search/setKeys', to.query.keys)
if (to.query.hasOwnProperty('terms')) {
this.$store.commit('Search/setTerms', to.query.terms)
}else{
this.$store.commit('Search/reSetTerms')
}
if (to.query.hasOwnProperty('filters')) {
this.$store.commit('Search/setFilters', to.query.filters)
}else{
this.$store.commit('Search/reSetFilters')
}
if (to.query.hasOwnProperty('keys')) {
const r = /,\s?$/ const r = /,\s?$/
let keys = to.query.keys.replace(r,'').split(', ') let keys = to.query.keys.replace(r,'').split(', ')
console.log('Base created, keys', keys) console.log('Base created, keys', keys)
this.$store.commit('Search/setKeys', keys) this.$store.commit('Search/setKeys', keys)
this.$store.commit('Search/setTerms', to.query.terms)
this.$store.commit('Search/setFilters', to.query.filters)
this.pagetitle = to.query.keys this.pagetitle = to.query.keys
}else{
this.$store.commit('Search/reSetKeys')
}
this.newSearch() this.newSearch()
next() next()
}, },

View File

@ -64,14 +64,23 @@ export default {
setKeys (state, keys) { setKeys (state, keys) {
state.keys = keys state.keys = keys
}, },
reSetKeys (state) {
state.keys = ''
},
setTerms (state, terms) { setTerms (state, terms) {
state.terms = terms state.terms = terms
console.log('search store setTerms', terms) console.log('search store setTerms', terms)
}, },
reSetTerms (state) {
state.terms = []
},
setFilters (state, filters) { setFilters (state, filters) {
console.log('store search setFilters', filters) console.log('store search setFilters', filters)
state.filters = typeof filters === 'string' ? filters.split(',') : filters state.filters = typeof filters === 'string' ? filters.split(',') : filters
}, },
reSetFilters (state) {
state.filters = []
},
setInfos (state, infos) { setInfos (state, infos) {
state.infos = infos state.infos = infos
}, },