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