60 lines
1.2 KiB
Vue
60 lines
1.2 KiB
Vue
<template>
|
|
<div class="content">
|
|
<FilterBar
|
|
:fetch-releases="fetchReleases"
|
|
:is-home="true"
|
|
/>
|
|
|
|
<div class="content-inner">
|
|
<Releases :releases="releases" />
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import FilterBar from '../header/filter-bar.vue';
|
|
import Releases from '../releases/releases.vue';
|
|
|
|
async function fetchReleases() {
|
|
this.releases = await this.$store.dispatch('fetchReleases', {
|
|
limit: (this.$route.query && this.$route.query.limit && Number(this.$route.query.limit)) || 30,
|
|
range: this.$route.name,
|
|
});
|
|
}
|
|
|
|
async function route() {
|
|
await this.fetchReleases();
|
|
}
|
|
|
|
async function mounted() {
|
|
this.pageTitle = '';
|
|
|
|
await this.fetchReleases();
|
|
}
|
|
|
|
export default {
|
|
components: {
|
|
FilterBar,
|
|
Releases,
|
|
},
|
|
data() {
|
|
return {
|
|
releases: [],
|
|
networks: [],
|
|
pageTitle: null,
|
|
from: null,
|
|
};
|
|
},
|
|
beforeRouteEnter(to, from, next) {
|
|
next(vm => vm.$set(vm, 'from', from));
|
|
},
|
|
watch: {
|
|
$route: route,
|
|
},
|
|
mounted,
|
|
methods: {
|
|
fetchReleases,
|
|
},
|
|
};
|
|
</script>
|