Moved networks to GraphQL.

This commit is contained in:
2020-01-03 00:59:02 +01:00
parent e77dbca954
commit 70e27a6cd9
14 changed files with 169 additions and 76 deletions

View File

@@ -3,7 +3,7 @@
v-if="network"
class="content network"
>
<FilterBar :fetch-releases="fetchReleases" />
<FilterBar :fetch-releases="fetchNetwork" />
<div class="content-inner">
<div class="header">
@@ -54,20 +54,18 @@ import FilterBar from '../header/filter-bar.vue';
import Releases from '../releases/releases.vue';
import SiteTile from '../tile/site.vue';
async function fetchReleases() {
this.releases = await this.$store.dispatch('fetchNetworkReleases', this.$route.params.networkSlug);
}
async function mounted() {
[[this.network]] = await Promise.all([
this.$store.dispatch('fetchNetworks', this.$route.params.networkSlug),
this.fetchReleases(),
]);
async function fetchNetwork() {
this.network = await this.$store.dispatch('fetchNetworks', this.$route.params.networkSlug);
this.sites = this.network.sites
.filter(site => !site.independent)
.sort(({ name: nameA }, { name: nameB }) => nameA.localeCompare(nameB));
this.releases = this.network.sites.map(site => site.releases).flat();
}
async function mounted() {
await this.fetchNetwork();
this.pageTitle = this.network.name;
}
@@ -81,13 +79,13 @@ export default {
return {
network: null,
sites: null,
releases: null,
releases: [],
pageTitle: null,
};
},
mounted,
methods: {
fetchReleases,
fetchNetwork,
},
};
</script>