mirror of
https://github.com/dbeaver/cloudbeaver.git
synced 2026-09-24 16:04:36 +08:00
feature(core-app): CB-217 add expired session global error refactoring(2.0)
CB-217
This commit is contained in:
+8
-5
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user