Skip to content
Snippets Groups Projects
Article.vue 1.57 KiB
Newer Older
Ole Voldsæter's avatar
Ole Voldsæter committed
<template>
  <div class="hello">
    <h1>{{ article_header }}</h1>
Ole Voldsæter's avatar
Ole Voldsæter committed
    <div class="">
      <h3>Etymologi</h3>
        <ul>
          <DefElement v-for="(element, index) in article.etymology" :key="index" :body='element' v-if="element.content" />
Ole Voldsæter's avatar
Ole Voldsæter committed
        </ul>
Ole Voldsæter's avatar
Ole Voldsæter committed
    </div>
    <div class="">
      <h3>Definisjoner</h3>
      <ol>
        <Definition v-for="(definition, index) in article.definitions" :key="index" :body='definition' />
      </ol>
Ole Voldsæter's avatar
Ole Voldsæter committed
    </div>
Ole Voldsæter's avatar
Ole Voldsæter committed
  </div>
</template>

<script>
import axios from "axios";
Ole Voldsæter's avatar
Ole Voldsæter committed
import DefElement from './DefElement.vue'
import Definition from './Definition.vue'
Ole Voldsæter's avatar
Ole Voldsæter committed
export default {
  name: 'Article',
  props: {
    article_id: Number
  },
  data: function(){
    return {
      article: {lemmas: []}
    };
  },
  mounted: function(){
    var self = this;
    axios.get('https://search-ordbok-prototype-6qpfmm6fz5jvy5ba3e6blryeqe.eu-west-1.es.amazonaws.com/ordbok/_doc/' + self.article_id)
      .then(response => self.article = response.data._source)
  },
  computed: {
    article_header: function() {
      var lemmas = []

      this.article.lemmas.forEach(
        function(item, index){
          lemmas.push(item.word);
        }
      )
      return lemmas.join(', ')
    }
Ole Voldsæter's avatar
Ole Voldsæter committed
  },
  components: {
    DefElement,
    Definition
Ole Voldsæter's avatar
Ole Voldsæter committed
  }
}
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
Ole Voldsæter's avatar
Ole Voldsæter committed
h3 {
  margin: 40px 0 0;
}
Ole Voldsæter's avatar
Ole Voldsæter committed
a {
  //color: #42b983;
}

ol > li {
  padding-bottom: 2em;
}

ul {
  padding-top: 8px;
}

ul li {
list-style:none;
}

li ul .definition ul {
  padding-left: 0px;
}

ul li.definition {
  list-style: disc;
Ole Voldsæter's avatar
Ole Voldsæter committed
}
</style>