diff --git a/src/components/Autocomplete.vue b/src/components/Autocomplete.vue index 9248db93b029fdf51b11fb1f517968e1aed17a97..8d037560884188ff933fd43499292daa3e0281ec 100644 --- a/src/components/Autocomplete.vue +++ b/src/components/Autocomplete.vue @@ -13,7 +13,6 @@ clearable hide-no-data :autofocus="!$parent.article" - auto-select-first no-filter hide-details label="Søk her" @@ -83,13 +82,9 @@ {{data.item.label}} </span> <span v-if="(get_lang()=='bm,nn')"> - ({{["bm","nn","bm,nn"][data.item.lang-1] || - ["søker...","ingen treff","avansert søk"][data.item.search]}}) + ({{["bm","nn","bm,nn"][data.item.lang-1]}}) </span> </template> - <template slot="no-data"> - <div></div> - </template> </v-combobox> </div> </template> @@ -123,11 +118,13 @@ import Menu from './Menu.vue' select(item) { if (item) { this.items = [] - if (typeof item != 'string') { + if (typeof item == 'string') { + item = {q: item} + } this.suggesting = false this.submit(item) - } + } } }, @@ -141,44 +138,22 @@ import Menu from './Menu.vue' run_query(q, time) { q = q.trim() this.suggesting = true - // Search options while waiting for response - var search = 0 - if (this.items[0]) { - if (this.items[0].time < time) { - if (/[_*%|]/.test(q)) { - search = 2 - } - // Whitespace necessary in case option already exists in dropdown - this.items.splice(0,1, {q: q, label: q +" ", time: time, search: search}) - } - } - else { - this.items.push({q: q, label: q, time: time, search: search}) - } if (!/[_*%|]/.test(q)) { let self = this - let scope = self.$parent.scope - let params = {q, dict: self.get_lang(), n: 10, scope, dform: 'int', meta: 'n'} - if ( self.$parent.pos_selected != "ALL") params.wc = self.$parent.pos_selected + let params = {q, dict: self.get_lang(), n: 10, dform: 'int', meta: 'n'} self.api.get('suggest?', {params}) .then(async (response) => { if (self.$refs.autocomplete.searchInput == q & self.suggesting) { let suggestions = [] - if (scope.includes("w")) { - suggestions = response.data.a.w.map(item => ({q: q, match: item[0], label: item[0], time: time, lang: [item[1]], w: true})) + suggestions = response.data.a.w.map(item => ({q: q, match: item[0], label: item[0], time: time, lang: [item[1]], w: true})) + if (suggestions.length) { + self.items = suggestions } - if (scope.includes("x")) { - suggestions = suggestions.concat(response.data.a.x.map(item => ({q: q, match: item[0], label: item[0], time: time, lang: [item[1]]}))) + else { + self.items = [] } - - - - if (!suggestions.length) { - self.items = [{q: q, label: q, time: time, search: 1}] - } else { - self.items = suggestions - } + } self.loading = false })