From 38252af4448f5b7f7e08dc7beefa9682d8f1d2da Mon Sep 17 00:00:00 2001
From: Henrik Askjer <henrik.askjer@uib.no>
Date: Thu, 25 Nov 2021 14:46:10 +0100
Subject: [PATCH] add infletion codes

---
 src/components/Header.vue | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/src/components/Header.vue b/src/components/Header.vue
index 457446e..36f5b42 100644
--- a/src/components/Header.vue
+++ b/src/components/Header.vue
@@ -5,6 +5,7 @@
     <h2 class="article_header" tabindex="0">{{header_text}}</h2>
     <h2 class="secondary_header" v-if="secondary_header_text.length" tabindex="0">{{secondary_header_text}}</h2>
     <span class="header_group_list" v-if="group_list.length" tabindex="0">{{group_list}}</span>
+    <span v-if="$store.state.showInflectionNo">{{inflection_classes}}</span>
 
     <span v-if="split_inf" tabindex="0"> (kløyvd infinitiv: <i>-a</i>
       <v-menu tile v-model="menu" offset-x max-width="200px">
@@ -83,6 +84,31 @@ export default {
     group_list: function() {
       return helpers.group_list(this.lemmas, this.dictionary)
     },
+    inflection_classes: function() {
+      let inf_classes = new Set()
+      let ureg = false
+      this.lemmas.forEach((lemma, i) => {
+
+        lemma.paradigm_info.forEach(paradigm => {
+           if (paradigm.inflection_class) inf_classes.add(paradigm.inflection_class)
+           else ureg = true
+        })
+      })
+      if (inf_classes.size){
+
+      let class_array = Array.from(inf_classes).sort()
+      if (ureg) class_array.push("ureg.")
+      let class_list
+      if (class_array.length < 3) {
+        class_list = class_array.join(" og ")
+      }
+      else {
+        class_list = class_array.slice(0, -1).join(", ") + " og " + class_array[class_array.length -1]
+      }
+
+      return " ("+ class_list +")"
+      }
+    },
     inflection_groups_by_lemma: function() {
       let components = Object.keys(this.$options.components)
       return this.lemmas.map(
-- 
GitLab