From f915d23ac5bcfbc1ff1b7b86f649c97b190ee347 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ole=20Volds=C3=A6ter?= <ole.voldsater@uib.no>
Date: Fri, 5 Feb 2021 14:00:17 +0100
Subject: [PATCH] =?UTF-8?q?re=20meta#244=20feilh=C3=A5ndtering=20i=20front?=
 =?UTF-8?q?end=20ifm.=20ajax-kall?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/App.vue | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 48 insertions(+)

diff --git a/src/App.vue b/src/App.vue
index 17ed8727..935e27b0 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -114,6 +114,26 @@ function navigate_to_search(self, query) {
         error: "Vi fant ingen resultater for '" + decodeURIComponent(query) + "'. (Søkeforlag kommer i en senere oppatering av Ordbøkene)"
       }
     }
+  })
+  .catch(function(error){
+    if (error.response && error.response.status == 400) {
+      self.article = {
+        lemmas: [],
+        error: "Søkeuttrykket inneholder feil"
+      }
+    } else if (error.response) {
+      self.article = {
+        lemmas: [],
+        error: "Noe gikk galt på serversiden"
+      }
+    } else {
+      self.article = {
+        lemmas: [],
+        error: "Nettverksproblemer, prøv igjen"
+      }
+    }
+  })
+  .then(function(_){
     self.waiting_for_articles = false
     history.replaceState({article: self.article, search_results: self.search_results, lang: self.lang}, '')
   })
@@ -123,6 +143,27 @@ function navigate_to_word(self, word) {
   axios.get(self.api_pref + 'suggest?q=' + word)
   .then(function(response){
     self.search_results = response.data.filter(result => result.match.length == word.length)
+    if (! self.search_results.length) {
+      self.article = {
+        lemmas: [],
+        error: "Ordet '" + decodeURIComponent(word) + "' finnes ikke i ordbøkene"
+      }
+    }
+  })
+  .catch(function(error){
+    if (error.response) {
+      self.article = {
+        lemmas: [],
+        error: "Noe gikk galt på serversiden"
+      }
+    } else {
+      self.article = {
+        lemmas: [],
+        error: "Nettverksproblemer, prøv igjen"
+      }
+    }
+  })
+  .then(function(_){
     self.waiting_for_articles = false
     history.replaceState({article: self.article, search_results: self.search_results, lang: self.lang}, '')
   })
@@ -223,6 +264,13 @@ export default {
       axios.get(api_endpoint + '/nob/article/78569').then(function(response){
         self.monthly_nn = Object.assign(response.data, {dictionary: 'nob'})
       })
+    }).catch(function(_){
+      self.article = {
+        lemmas: [],
+        error: "Et nettverksproblem hindret lasting av siden. Prøv å laste siden på nytt"
+      }
+      self.waiting_for_metadata = false
+      self.waiting_for_articles = false
     })
   },
   watch: {
-- 
GitLab