92900: Move duplicate code to new InitService method

This commit is contained in:
Yura Bondarenko
2022-08-25 14:01:23 +02:00
parent 4b20b0cb81
commit e464c0f8c7
5 changed files with 44 additions and 179 deletions

View File

@@ -20,6 +20,9 @@ import { Angulartics2DSpace } from './statistics/angulartics/dspace-provider';
import { MetadataService } from './core/metadata/metadata.service';
import { BreadcrumbsService } from './breadcrumbs/breadcrumbs.service';
import { ThemeService } from './shared/theme-support/theme.service';
import { isAuthenticationBlocking } from './core/auth/selectors';
import { distinctUntilChanged, find } from 'rxjs/operators';
import { Observable } from 'rxjs';
/**
* Performs the initialization of the app.
@@ -186,4 +189,16 @@ export abstract class InitService {
this.breadcrumbsService.listenForRouteChanges();
this.themeService.listenForRouteChanges();
}
/**
* Emits once authentication is ready (no longer blocking)
* @protected
*/
protected authenticationReady$(): Observable<boolean> {
return this.store.pipe(
select(isAuthenticationBlocking),
distinctUntilChanged(),
find((b: boolean) => b === false)
);
}
}