diff --git a/src/components/Autocomplete.vue b/src/components/Autocomplete.vue index a1679102e41730b266b3b6e92e66b9a08b3f3498..3bf6392f00f0400a3f47dd52feb40b8a30919432 100644 --- a/src/components/Autocomplete.vue +++ b/src/components/Autocomplete.vue @@ -85,7 +85,7 @@ import Menu from './Menu.vue' return { loading: false, items: [], - inflected_suggestions: [], + inflection_suggestions: null, search: null, select: this.$route.query? this.$route.query.q : null, suggesting: null, @@ -105,8 +105,8 @@ import Menu from './Menu.vue' if (item) { this.items = [] this.suggesting = false - if (this.inflected_suggestions.length) { - item.inflected_suggestions = this.inflected_suggestions + if (this.inflection_suggestions.length) { + item.inflection_suggestions = this.inflection_suggestions } this.submit(item) @@ -143,7 +143,8 @@ import Menu from './Menu.vue' if (self.$refs.autocomplete.searchInput == q & self.suggesting) { let suggestions = [] suggestions = response.data.a.w.map(item => ({q: q, match: item[0], time: time, lang: [item[1]], w: true})) - self.inflected_suggestions = response.data.a.b + self.inflection_suggestions = response.data.a.b + console.log(self.inflection_suggestions) if (suggestions.length) { if (suggestions[0].q != suggestions[0].match) { suggestions.unshift({q, match: q, time}) diff --git a/src/components/DictionaryView.vue b/src/components/DictionaryView.vue index b127f5f8d60ca26366269ee659115f76a82d4814..d02b7076ea0ea691f9e8ad60cfc82dee0d0ec9ac 100644 --- a/src/components/DictionaryView.vue +++ b/src/components/DictionaryView.vue @@ -7,8 +7,8 @@ </div> <div id="above_results"> - <div id="suggestions" v-if="inflected_suggestions && ! article">Se også <em>{{$route.query.q}}</em> som bøyd form av - <span v-for="(item,index) in inflected_suggestions" :key="index"><router-link :to="generate_path(item[0])" @click.native="select_suggestion(item[0])">{{item[0]}}</router-link>{{index == inflected_suggestions.length? '.' : ', '}}</span> + <div id="suggestions" v-if="inflection_suggestions && !article">Se også <em>{{$route.query.q}}</em> som bøyd form av + <span v-for="(item,index) in inflection_suggestions" :key="index"><router-link :to="generate_path(item[0])" @click.native="select_suggestion(item[0])">{{item[0]}}</router-link>{{index == inflection_suggestions.length? '.' : ', '}}</span> </div> <div class="return_to_results" v-if="total_results && article"> @@ -244,6 +244,7 @@ export default { article_info: null, page: 1, perPage: 10, + inflection_suggestions: null } }, computed: { @@ -252,23 +253,7 @@ export default { }, get_search_endpoint: function() { return api - }, - inflected_suggestions: function() { - let suggestions = [] - if (this.event && this.event.inflected_suggestions) { - suggestions = this.event.inflected_suggestions.filter((item) => { - if ((item[1] == 1 || item[1] == 3) && this.search_results.bm) { - return !this.search_results.bm[0].suggest.includes(item[0]) - } - if ((item[1] == 2 || item[1] == 3) && this.search_results.nn) { - return !this.search_results.nn[0].suggest.includes(item[0]) - } - return true - - }) - return suggestions - } - } + } }, components: { Article, @@ -316,11 +301,24 @@ export default { }, select_suggestion: function (word) { this.event = null + this.inflection_suggestions = null navigate_to_query(this, word) }, select_result: function (event) { this.event = event + + if (this.event.inflection_suggestions) { + this.inflection_suggestions = this.event.inflection_suggestions.filter((item) => { + if ((item[1] == 1 || item[1] == 3) && this.search_results.bm) { + return !this.search_results.bm[0].suggest.includes(item[0]) + } + if ((item[1] == 2 || item[1] == 3) && this.search_results.nn) { + return !this.search_results.nn[0].suggest.includes(item[0]) + } + }) + } + let path = `/${this.lang}/search` let pos = this.pos_param() let query = {q: event.match || event.q}