feature(core-app): CB-217 add expired session global error refactoring(2.0)

CB-217
This commit is contained in:
Naumov Alexey
2020-10-08 17:51:11 +03:00
parent 35280ca577
commit 632cb5b35f
2 changed files with 9 additions and 8 deletions
@@ -8,7 +8,7 @@
import { ActionSnackbar } from '@cloudbeaver/core-blocks';
import { injectable } from '@cloudbeaver/core-di';
import { Bootstrap, injectable } from '@cloudbeaver/core-di';
import { CommonDialogService } from '@cloudbeaver/core-dialogs';
import { ENotificationType, NotificationService } from '@cloudbeaver/core-events';
import { SessionExpireService } from '@cloudbeaver/core-root';
@@ -16,19 +16,22 @@ import { SessionExpireService } from '@cloudbeaver/core-root';
import { SessionExpiredDialog } from './SessionExpiredDialog';
@injectable()
export class SessionExpiredDialogService {
export class SessionExpiredDialogService extends Bootstrap {
constructor(
private notificationService: NotificationService,
private commonDialogService: CommonDialogService,
private sessionExpireService: SessionExpireService
) {
super();
}
subscribe(): void {
this.sessionExpireService.onSessionExpire.subscribe(this.sessionExpiredInterceptor.bind(this));
register(): void {
this.sessionExpireService.onSessionExpire.subscribe(this.handleSessionExpired.bind(this));
}
private async sessionExpiredInterceptor(): Promise<any> {
load(): void | Promise<void> { }
private async handleSessionExpired(): Promise<void> {
try {
await this.commonDialogService.open(SessionExpiredDialog, null);
} finally {
@@ -11,7 +11,7 @@ import {
NavigationTabsService,
NavigationTreeContextMenuService,
LogViewerMenuService,
ConnectionSchemaManagerService, SessionExpiredDialogService
ConnectionSchemaManagerService
} from '@cloudbeaver/core-app';
import { injectable } from '@cloudbeaver/core-di';
import { ExceptionsCatcherService } from '@cloudbeaver/core-events';
@@ -32,7 +32,6 @@ export class AppBootstrap {
private connectionDialogService: ConnectionDialogsService,
private logViewerMenuService: LogViewerMenuService,
private sessionExpireService: SessionExpireService,
private sessionExpireDialogService: SessionExpiredDialogService,
private navigationTreeContextMenuService: NavigationTreeContextMenuService,
private navigationTabsService: NavigationTabsService,
private connectionSchemaManagerService: ConnectionSchemaManagerService,
@@ -41,7 +40,6 @@ export class AppBootstrap {
register(): void | Promise<void> {
this.exceptionsCatcherService.subscribe();
this.sessionExpireService.subscribe();
this.sessionExpireDialogService.subscribe();
this.connectionSchemaManagerService.registerCallbacks();
this.navigationTreeContextMenuService.registerMenuItems();
this.connectionDialogService.registerMenuItems();