From ee2e5d81ec3be737864f372fff46cd8b3d67a6e2 Mon Sep 17 00:00:00 2001 From: Wroud Date: Tue, 5 Jul 2022 12:52:08 +0300 Subject: [PATCH] fix: CB-2239 metadata tabs opening --- .../src/shared/NavigationTabs/TabNavigationContext.ts | 8 ++++---- .../plugin-data-viewer/src/DataViewerTabService.ts | 3 +++ .../ObjectPropertiesPage/ObjectPropertiesPageService.ts | 2 ++ .../plugin-object-viewer/src/ObjectViewerTabService.ts | 2 +- 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/webapp/packages/core-app/src/shared/NavigationTabs/TabNavigationContext.ts b/webapp/packages/core-app/src/shared/NavigationTabs/TabNavigationContext.ts index 44f3799e83..c0a0974f23 100644 --- a/webapp/packages/core-app/src/shared/NavigationTabs/TabNavigationContext.ts +++ b/webapp/packages/core-app/src/shared/NavigationTabs/TabNavigationContext.ts @@ -31,17 +31,17 @@ export class TabNavigationContext implements ITabNavigationContext { return this._handlerPriority; } - get tab(): ITab | null { + get tab(): ITab | null { return this._tab; } private _isNewlyCreated = false; - private _handlerPriority = 0; + private readonly _handlerPriority = 0; private _tab: ITab | null = null; constructor( - private navigationTabsService: NavigationTabsService, - private userInfoResource: UserInfoResource + private readonly navigationTabsService: NavigationTabsService, + private readonly userInfoResource: UserInfoResource ) { } openNewTab(options: ITabOptions): ITab { diff --git a/webapp/packages/plugin-data-viewer/src/DataViewerTabService.ts b/webapp/packages/plugin-data-viewer/src/DataViewerTabService.ts index 2c9818b589..2d89760ad4 100644 --- a/webapp/packages/plugin-data-viewer/src/DataViewerTabService.ts +++ b/webapp/packages/plugin-data-viewer/src/DataViewerTabService.ts @@ -80,6 +80,7 @@ export class DataViewerTabService { const { nodeInfo, tabInfo, + initTab, trySwitchPage, } = await contexts.getContext(this.objectViewerTabService.objectViewerTabContext); @@ -89,6 +90,8 @@ export class DataViewerTabService { return; } + initTab(); + if (tabInfo.isNewlyCreated) { trySwitchPage(this.page); } diff --git a/webapp/packages/plugin-object-viewer/src/ObjectPropertiesPage/ObjectPropertiesPageService.ts b/webapp/packages/plugin-object-viewer/src/ObjectPropertiesPage/ObjectPropertiesPageService.ts index 211961b274..e048c9f9ab 100644 --- a/webapp/packages/plugin-object-viewer/src/ObjectPropertiesPage/ObjectPropertiesPageService.ts +++ b/webapp/packages/plugin-object-viewer/src/ObjectPropertiesPage/ObjectPropertiesPageService.ts @@ -53,6 +53,8 @@ export class ObjectPropertiesPageService { try { const tabContext = await contexts.getContext(this.objectViewerTabService.objectViewerTabContext); + + tabContext.initTab(); tabContext.trySwitchPage(this.page); } catch (exception: any) { this.notificationService.logException(exception, 'Object Viewer Error', 'Error in Object Viewer while processing action with database node'); diff --git a/webapp/packages/plugin-object-viewer/src/ObjectViewerTabService.ts b/webapp/packages/plugin-object-viewer/src/ObjectViewerTabService.ts index 34eafeda45..1e528a14b1 100644 --- a/webapp/packages/plugin-object-viewer/src/ObjectViewerTabService.ts +++ b/webapp/packages/plugin-object-viewer/src/ObjectViewerTabService.ts @@ -126,7 +126,7 @@ export class ObjectViewerTabService { return tabInfo.tab; } - return null; + return tabInfo.tab; }; const getPage = () => {