3
0
Fork 0
stadtratmonitor-vue/src/views/TheTopics.vue

39 lines
858 B
Vue
Raw Normal View History

2023-06-21 18:51:54 +02:00
<script lang="ts">
import FilterView from '@/components/papers/FilterView.vue'
2023-06-21 22:29:53 +02:00
import TopicList from '@/components/papers/TopicList.vue'
2023-06-21 18:51:54 +02:00
export default {
components: {
FilterView,
2023-06-21 22:29:53 +02:00
TopicList,
2023-06-21 18:51:54 +02:00
},
computed: {
2023-06-22 21:04:01 +02:00
topics(): Array<Object> {
2023-06-21 22:29:53 +02:00
const topicReferences = [...new Set(this.papers?.map((paper: any) => paper.reference))]
2023-06-22 21:04:01 +02:00
return topicReferences.map( (ref: String) => {
2023-06-21 22:29:53 +02:00
return {
2023-06-22 21:04:01 +02:00
'ref': ref,
'papers': this.papers?.filter( (paper: any) => paper.reference === ref) as Object,
2023-06-21 22:29:53 +02:00
}
})
},
},
props: {
papers: Array,
search: Object,
filter: Object,
2023-06-21 18:51:54 +02:00
}
}
</script>
<template>
<FilterView
2023-06-21 22:29:53 +02:00
@filter="(filter: any) => filter = filter"
:papers="papers"
/>
<TopicList
:topics="topics"
:search="search"
:filter="filter"
></TopicList>
2023-06-21 18:51:54 +02:00
</template>