diff --git a/webapp/packages/core-app/src/shared/SessionExpireDialog/SessionExpiredDialogService.ts b/webapp/packages/core-app/src/shared/SessionExpireDialog/SessionExpiredDialogService.ts index 15e1c50779..a96409a01c 100644 --- a/webapp/packages/core-app/src/shared/SessionExpireDialog/SessionExpiredDialogService.ts +++ b/webapp/packages/core-app/src/shared/SessionExpireDialog/SessionExpiredDialogService.ts @@ -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 { + load(): void | Promise { } + + private async handleSessionExpired(): Promise { try { await this.commonDialogService.open(SessionExpiredDialog, null); } finally { diff --git a/webapp/packages/core-bootstrap/src/AppBootstrap.ts b/webapp/packages/core-bootstrap/src/AppBootstrap.ts index 0504be6882..2109bda9f8 100644 --- a/webapp/packages/core-bootstrap/src/AppBootstrap.ts +++ b/webapp/packages/core-bootstrap/src/AppBootstrap.ts @@ -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 { this.exceptionsCatcherService.subscribe(); this.sessionExpireService.subscribe(); - this.sessionExpireDialogService.subscribe(); this.connectionSchemaManagerService.registerCallbacks(); this.navigationTreeContextMenuService.registerMenuItems(); this.connectionDialogService.registerMenuItems();