Wait config before loading login/signup

pull/1787/head
Chocobozzz 2019-04-25 10:40:01 +02:00
parent ad5718261d
commit f3ae606caf
No known key found for this signature in database
GPG Key ID: 583A612D890159BE
4 changed files with 28 additions and 5 deletions

View File

@ -19,6 +19,7 @@ import { ToastModule } from 'primeng/toast'
import { Notifier } from './notification'
import { MessageService } from 'primeng/api'
import { UserNotificationSocket } from '@app/core/notification/user-notification-socket.service'
import { ServerConfigResolver } from './routing/server-config-resolver.service'
@NgModule({
imports: [
@ -60,7 +61,8 @@ import { UserNotificationSocket } from '@app/core/notification/user-notification
RedirectService,
Notifier,
MessageService,
UserNotificationSocket
UserNotificationSocket,
ServerConfigResolver
]
})
export class CoreModule {

View File

@ -0,0 +1,17 @@
import { Injectable } from '@angular/core'
import { Resolve } from '@angular/router'
import { ServerService } from '@app/core/server'
@Injectable()
export class ServerConfigResolver implements Resolve<boolean> {
constructor (
private server: ServerService
) {}
resolve () {
// FIXME: directly returning this.server.configLoaded does not seem to work
return new Promise<boolean>(res => {
return this.server.configLoaded.subscribe(() => res(true))
})
}
}

View File

@ -1,9 +1,8 @@
import { NgModule } from '@angular/core'
import { RouterModule, Routes } from '@angular/router'
import { MetaGuard } from '@ngx-meta/core'
import { LoginComponent } from './login.component'
import { ServerConfigResolver } from '@app/core/routing/server-config-resolver.service'
const loginRoutes: Routes = [
{
@ -14,6 +13,9 @@ const loginRoutes: Routes = [
meta: {
title: 'Login'
}
},
resolve: {
serverConfigLoaded: ServerConfigResolver
}
}
]

View File

@ -1,9 +1,8 @@
import { NgModule } from '@angular/core'
import { RouterModule, Routes } from '@angular/router'
import { MetaGuard } from '@ngx-meta/core'
import { SignupComponent } from './signup.component'
import { ServerConfigResolver } from '@app/core/routing/server-config-resolver.service'
const signupRoutes: Routes = [
{
@ -14,6 +13,9 @@ const signupRoutes: Routes = [
meta: {
title: 'Signup'
}
},
resolve: {
serverConfigLoaded: ServerConfigResolver
}
}
]