Something went wrong on our end
-
Ole Voldsæter authoredOle Voldsæter authored
Article.vue 1.97 KiB
<template>
<article v-show="article.lemmas.length">
<Header :lemmas="article.lemmas" />
<section v-if="article.body.pronunciation.length">
<h3>Uttale</h3>
<ul>
<DefElement v-for="(element, index) in article.body.pronunciation" :key="index" :body='element' @article-click="article_link_click" />
</ul>
</section>
<section v-if="article.body.etymology">
<h3>Etymologi</h3>
<ul>
<DefElement v-for="(element, index) in article.body.etymology" :key="index" :body='element' @article-click="article_link_click" />
</ul>
</section>
<section>
<h3>Definisjoner</h3>
<ol>
<Definition v-for="definition in article.body.definitions" :level="1" :key="definition.id" :body='definition' @article-click="article_link_click" />
</ol>
</section>
</article>
</template>
<script>
import DefElement from './DefElement.vue'
import Definition from './Definition.vue'
import Header from './Header.vue'
export default {
name: 'Article',
props: {
article: Object
},
components: {
DefElement,
Definition,
Header
},
methods: {
article_link_click: function(item) {
this.$emit('article-click', item)
}
}
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style>
article {
margin-top: 30px;
}
h3 {
margin: 40px 0 0;
color: #560027;
}
a {
color: #560027;
}
li {
padding-bottom: 4px;
}
li.level1.definition {
list-style: upper-alpha;
}
li.level3.definition {
list-style: lower-alpha;
}
li.sub_article > ul {
padding-left: 0px;
}
li.definition.level1, li.definition.level2 {
padding-bottom: 2em;
}
::marker {
font-weight: bold;
color: #560027;
}
ol > li:only-child.level1, li:only-child.level2, li:only-child.level3 {
list-style: none;
}
li:only-child.level1 > ol {
padding-left: 0px;
}
ul {
padding-top: 8px;
padding-left: 20px;
}
ul li {
list-style:none;
}
ul li.definition {
list-style: disc;
}
</style>