Improved server loading by route #216

This commit is contained in:
2023-02-21 11:50:30 +01:00
parent 0ea1edff4d
commit 7d450a12ac
8 changed files with 122 additions and 116 deletions

View File

@@ -25,24 +25,28 @@ export class DataService {
) {
}
public getServerFromRoute(route: ActivatedRoute) {
this.spinner.showSpinner();
if (!route.snapshot.params["serverId"]) {
this.spinner.hideSpinner();
this.router.navigate(["/dashboard"]);
return;
}
this.query<Server>(Queries.serversQuery, {
filter: { id: route.snapshot.params["serverId"] }
},
function(data: Query) {
return data.servers.length > 0 ? data.servers[0] : null;
public getServerFromRoute(route: ActivatedRoute): Promise<Server> {
return new Promise((resolve, reject) => {
this.spinner.showSpinner();
if (!route.snapshot.params["serverId"]) {
this.spinner.hideSpinner();
this.router.navigate(["/dashboard"]);
reject();
}
).subscribe(server => {
this.sidebar.setServer(server);
this.spinner.hideSpinner();
this.query<Server>(Queries.serversQuery, {
filter: { id: route.snapshot.params["serverId"] }
},
function(data: Query) {
return data.servers.length > 0 ? data.servers[0] : null;
}
).subscribe(server => {
this.sidebar.setServer(server);
this.spinner.hideSpinner();
resolve(server);
});
});
}
public query<T>(query: string, variables?: Variables, f?: Function): Observable<T> {
@@ -53,7 +57,7 @@ export class DataService {
})
.pipe(map(d => {
if (d.errors && d.errors.length > 0) {
throw new Error(d.errors.map((x: {message: String}) => x.message).toString());
throw new Error(d.errors.map((x: { message: String }) => x.message).toString());
}
return d.data;
}))