feat(plugin-object-viewer): add page helpers

This commit is contained in:
Wroud
2020-09-17 19:01:04 +03:00
parent 86f4b8d78a
commit ec6c739dfd
2 changed files with 8 additions and 0 deletions
@@ -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,