diff --git a/src/components/Header.vue b/src/components/Header.vue index 457446ed8bfd4e73bc92d6c2ba48cdfaf4e69b50..36f5b428b3fc3c47fb63607be4a3347a2984ac58 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(