From dad4bea9779541e3eb6bb3d50a72c9ffdd334122 Mon Sep 17 00:00:00 2001 From: Petr Kalashnikov <pka065@it6100016.klientdrift.uib.no> Date: Fri, 9 Jul 2021 14:50:31 +0200 Subject: [PATCH] Reload search result when the lang is changed --- src/components/DictionaryView.vue | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/components/DictionaryView.vue b/src/components/DictionaryView.vue index 065016de..487528b5 100644 --- a/src/components/DictionaryView.vue +++ b/src/components/DictionaryView.vue @@ -2,7 +2,7 @@ <main> <div class="search_container"> <div class="lang_select_container"> - <v-radio-group row v-model="lang"> + <v-radio-group row v-model="lang" @change="forceRerender"> <template v-slot:label> <span>VIS</span> </template> @@ -37,6 +37,7 @@ </div> <SearchResults :hits="search_results" :lang="lang" + :key="lang" @article-click="article_link_click" @details-click="details_click" v-if="search_results.length && ! waiting && ! article" /> @@ -177,7 +178,8 @@ export default { article: null, error: null, monthly_bm: null, - monthly_nn: null + monthly_nn: null, + event: null } }, computed: { @@ -195,7 +197,10 @@ export default { }, methods: { select_result: function(event) { - if(event.articles){ + this.event = event + if(!event){ + return false + }else if(event.articles){ let source = '/' + this.lang + '/w/' + event.word this.$router.push(source) this.search_results = event.articles.sort(compare_by_hgno(decodeURIComponent(event.word))).map(a => Object.assign(a, {source: source})) @@ -211,6 +216,10 @@ export default { this.$plausible.trackEvent('dropdown selection', {props: {query: event.label, match: '<fritekstsøk>'}}) } }, + forceRerender: function(event) { + if (this.event){this.event.articles = null} + this.select_result(this.event) + }, article_link_click: function(item) { if (this.article && this.article.article_id == item.article_id){ this.article_key++ -- GitLab