Newer
Older
<router-link tabindex="0"
:id="title_id"
:to="$parent.link_to_self.ref"
@click.native="$parent.details_click($parent.link_to_self)"
v-bind:class="{'long_lemma': long_lemma}"
class="article_header">
<span v-for="(lemma, index) in lemmas"
:key="index">{{lemma.lemma}}<!--
--><span :aria-label="'Betydning nummer ' + hgno_arabic"
:title="'Betydning nummer '+hgno_arabic"
class="hgno">{{" "+roman_hgno(lemma)}}</span><span
class="title_comma"
v-if="lemmas[1] && index < lemmas.length-1">{{", "}}
</span>
<span class="dict-label">{{dict_label}}</span>
<h2 class="secondary_header"
v-if="secondary_header_text.length">{{secondary_header_text}}</h2>
<span class="header_group_list"
v-if="group_list.length">{{group_list}}</span>
<span v-if="$store.state.showInflectionNo">{{inflection_classes}}</span>
<v-menu tile
v-model="menu"
offset-x max-width="200px">
<template v-slot:activator="{ on, attrs }">
<v-btn aria-label="Mer informasjon om kløyvd infinitiv"
x-small
icon
v-on="on"
v-bind="attrs"
class="info-button">
<v-icon color="primary"
size="14px">$vuetify.icons.value.info</v-icon>
Dersom du bruker kløyvd infinitiv, skal dette verbet ha <em>-a</em> i infinitiv. Les meir
<a target="_blank"
href="https://www.sprakradet.no/svardatabase/sporsmal-og-svar/kloyvd-infinitiv-/">her</a>.
<span v-if="$parent.collapsed && $parent.snippet && $parent.has_content" class="definition_snippet">
{{group_list.length? "| ":""}}{{$parent.snippet}}
</span> <span v-if="$parent.collapsable" >
<v-btn class="expand_icon"
:title="$parent.collapsed? 'Vis mer' : 'Kollaps'"
:aria-label="$parent.collapsed? 'Vis mer' : 'Kollaps'"
<v-icon small>{{$parent.collapsed ? 'expand_more': 'expand_less'}}</v-icon></v-btn></span>
export default {
name: 'Header',
props: {
dictionary: String,
title_id: String
},
data: function() {
return {
menu: false,
long_lemma: false
}
},
mounted: function() {
//console.log(this.$refs[this.title_id])
//console.log(document.getElementById(this.title_id).offsetWidth, document.getElementById(this.title_id).scrollWidth)
if (this.$el.scrollWidth > this.$el.offsetWidth) {
this.long_lemma = true
}
roman_hgno: helpers.roman_hgno
secondary_header_text: function() {
let a_forms = []
this.lemmas.forEach((lemma, i) => {
if (lemma.paradigm_info[0] && lemma.paradigm_info[0].inflection_group == 'VERB') {
let inf2 = lemma.paradigm_info[0].inflection[1] && lemma.paradigm_info[0].inflection[1].word_form
if (inf2 && inf2.length) {
a_forms.push(inf2)
}
}
});
return a_forms.join(', ')
},
hgno_arabic: function() {
let hgnos = []
this.lemmas.forEach(lemma => {
let hgint = parseInt(lemma.hgno)
if (hgint > 0) {
hgnos.push(hgint)
}
})
return hgnos.join(", ")
},
return helpers.group_list(this.lemmas, this.dictionary)
inflection_classes: function() {
let inf_classes = new Set()
let ureg = false
this.lemmas.forEach((lemma, i) => {
if (lemma.inflection_class) inf_classes.add(lemma.inflection_class)
})
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(
function(lemma_){
let inflection_groups = lemma_.paradigm_info.reduce((acc, std) => Object.assign(acc, {[std.inflection_group]: []}), {})
lemma_.paradigm_info.forEach(std => inflection_groups[std.inflection_group].push(std))
return {
lemma: lemma_.lemma,
inflection_groups: Object.fromEntries(Object.entries(inflection_groups).filter(e => components.includes(e[0].replace('/', '_'))))
split_inf: function() {
return this.lemmas[0].split_inf
font-family: Inria Serif;
font-size: 30px;
article h2.secondary_header {
padding-top: 0px;
padding-bottom: 4px;
}
margin-right: -2px;
height: 10px;
width: 10px;
.word-classification {
text-decoration: underline dashed;
}

Ole Voldsæter
committed
font-weight: bold;
display: none;
}

Ole Voldsæter
committed
overflow:auto;
word-wrap: normal;
}
.long_lemma {
font-family: unset;
font-size: 16px;
font-weight: normal;
justify-content: center;
position: absolute;
bottom: 0px;
left: 0px;
padding-right: 24px !important;
width: 100%;
border-bottom-right-radius: 28px;
border-bottom-left-radius: 28px;