Skip to content
Snippets Groups Projects
Commit 9f80e169 authored by Henrik Askjer's avatar Henrik Askjer
Browse files

keyword parameters

parent 9a12a7f5
No related branches found
Tags release_2022-02-02_3
No related merge requests found
......@@ -221,9 +221,9 @@ export default {
},
select_result: function (event) {
this.event = event
let name = event.search ? 'search' : 'w'
let route = `/${this.lang}/${name}/${event.match || event.q}${this.pos_param()}`
this.$router.push(route)
let path = `/${this.lang}/search`
let query = {q: event.match || event.q, pos: this.pos_param(), scope: this.scope}
this.$router.push({path, query})
navigate_to_query(this)
// Tracking
......@@ -234,14 +234,19 @@ export default {
})
},
pos_param: function() {
if (this.pos_selected) return '/'+this.pos_selected
return ''
if (this.pos_selected) return this.pos_selected.toLowerCase()
},
update_lang_form: function (lang) {
this.lang = lang
let name = null
let query = null
if(this.$route.name == 'word') {
let name
let query
if (this.$route.name == 'query') {
let path = this.lang + "/search"
query = {q: this.$route.query.q, pos: this.pos_param(), scope: this.scope}
this.$router.push(path, query)
navigate_to_query(this, query.q)
}
else if(this.$route.name == 'word') {
name = "w"
query = this.$route.params.word
this.$router.push(`/${this.lang}/${name}/${query+this.pos_param()}`)
......@@ -258,7 +263,14 @@ export default {
this.pos_selected = pos
let name = null
let query = null
if(this.$route.name == 'word') {
if(this.$route.name == 'query') {
let path = `/${this.lang}/search`
query = {q: this.$route.query.q, pos: this.pos_param(), scope: this.scope}
this.$router.push({path, query})
navigate_to_query(this, query.q)
}
else if(this.$route.name == 'word') {
name = "w"
query = this.$route.params.word
this.$router.push(`/${this.lang}/${name}/${query+this.pos_param()}`)
......@@ -308,16 +320,26 @@ export default {
})
]).then(function(_) {
self.waiting_for_metadata = false
if (self.$route.params.pos) {
console.log("pos", self.$route.params.pos )
self.pos_selected = self.$route.params.pos
if (self.$route.name == 'query') {
self.lang = self.$route.params.lang
if (self.$route.query.pos) {
self.pos_selected = self.$route.query.pos.toUpperCase()
}
navigate_to_query(self, self.$route.query.q)
}
if(self.$route.name == 'search') {
else if(self.$route.name == 'search') {
self.lang = self.$route.params.lang
if (self.$route.params.pos ) {
self.pos_selected = self.$route.params.pos
}
navigate_to_query(self, self.$route.params.query)
}
else if(self.$route.name == 'word') {
self.lang = self.$route.params.lang
if (self.$route.params.pos ) {
self.pos_selected = self.$route.params.pos
}
navigate_to_query(self, self.$route.params.word)
}
else if(self.$route.name == 'lookup'){
......
......@@ -84,6 +84,11 @@ const router = new VueRouter({
{
path: ':lang(bm|nn|bm,nn)',
children: [
{
path: 'search',
name: 'query',
params: {q: '', pos: 'all', scope: 'w'}
},
{
name: 'word',
path: 'w/:word/:pos?'
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment