Improved server loading by route #216
This commit is contained in:
@@ -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;
|
||||
}))
|
||||
|
Reference in New Issue
Block a user