mirror of
https://github.com/dbeaver/cloudbeaver.git
synced 2026-09-24 16:04:36 +08:00
feat(plugin-object-viewer): add page helpers
This commit is contained in:
@@ -14,6 +14,7 @@ import { ObjectPage } from './ObjectPage/ObjectPage';
|
||||
export interface IObjectViewerTabContext {
|
||||
tab: ITab<IObjectViewerTabState> | null;
|
||||
page?: ObjectPage;
|
||||
isPageActive(page: ObjectPage): boolean;
|
||||
trySwitchPage(page: ObjectPage): boolean;
|
||||
tabInfo: ITabNavigationContext;
|
||||
nodeInfo: INodeNavigationContext;
|
||||
|
||||
@@ -69,6 +69,10 @@ export class ObjectViewerTabService {
|
||||
this.navNodeManagerService.navNodeInfoResource.onItemDelete.subscribe(this.removeTabs.bind(this));
|
||||
}
|
||||
|
||||
isPageActive(tab:ITab<IObjectViewerTabState>, page: ObjectPage): boolean {
|
||||
return tab.handlerState.pageId === page.key;
|
||||
}
|
||||
|
||||
objectViewerTabContext = async (
|
||||
contexts: IContextProvider<INodeNavigationData>,
|
||||
data: INodeNavigationData
|
||||
@@ -119,6 +123,8 @@ export class ObjectViewerTabService {
|
||||
return this.dbObjectPageService.trySwitchPage(tabInfo.tab, page);
|
||||
};
|
||||
|
||||
const isPageActive = (page: ObjectPage) => page === getPage();
|
||||
|
||||
return {
|
||||
get tab() {
|
||||
return tabInfo.tab;
|
||||
@@ -126,6 +132,7 @@ export class ObjectViewerTabService {
|
||||
get page() {
|
||||
return getPage();
|
||||
},
|
||||
isPageActive,
|
||||
trySwitchPage,
|
||||
tabInfo,
|
||||
nodeInfo,
|
||||
|
||||
Reference in New Issue
Block a user