1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
This commit is contained in:
Jari Kolehmainen 2020-11-19 21:10:22 +02:00
parent c28e73d5fa
commit cd781c9f66
3 changed files with 16 additions and 16 deletions

View File

@ -49,21 +49,21 @@ export class ClusterPageMenuRegistry extends BaseRegistry<ClusterPageMenuRegistr
extensionId: ext.name,
...(menuItem.target || {}),
};
return menuItem
})
return menuItem;
});
return super.add(normalizedItems);
}
getRootItems() {
return this.getItems().filter((item) => !item.parentId)
return this.getItems().filter((item) => !item.parentId);
}
getSubItems(parent: ClusterPageMenuRegistration) {
return this.getItems().filter((item) => item.parentId === parent.id && item.target.extensionId === parent.target.extensionId)
return this.getItems().filter((item) => item.parentId === parent.id && item.target.extensionId === parent.target.extensionId);
}
getByPage(page: RegisteredPage) {
return this.getItems().find((item) => item.target?.pageId == page.id && item.target?.extensionId === page.extensionId)
return this.getItems().find((item) => item.target?.pageId == page.id && item.target?.extensionId === page.extensionId);
}
}

View File

@ -97,18 +97,18 @@ export class App extends React.Component {
renderExtensionTabLayoutRoutes() {
return clusterPageMenuRegistry.getRootItems().map((menu, index) => {
const tabRoutes = this.getTabLayoutRoutes(menu)
const tabRoutes = this.getTabLayoutRoutes(menu);
if (tabRoutes.length > 0) {
const pageComponent = () => <TabLayout tabs={tabRoutes} />
return <Route key={"extension-tab-layout-route-" + index} component={pageComponent}/>
const pageComponent = () => <TabLayout tabs={tabRoutes} />;
return <Route key={"extension-tab-layout-route-" + index} component={pageComponent}/>;
} else {
const page = clusterPageRegistry.getByPageMenuTarget(menu.target)
const page = clusterPageRegistry.getByPageMenuTarget(menu.target);
if (page) {
const pageComponent = () => <page.components.Page />
return <Route key={"extension-tab-layout-route-" + index} path={page.routePath} exact={page.exact} component={pageComponent}/>
const pageComponent = () => <page.components.Page />;
return <Route key={"extension-tab-layout-route-" + index} path={page.routePath} exact={page.exact} component={pageComponent}/>;
}
}
})
});
}
renderExtensionRoutes() {

View File

@ -214,16 +214,16 @@ export class Sidebar extends React.Component<Props> {
</SidebarNavItem>
{clusterPageMenuRegistry.getRootItems().map((menuItem) => {
const registeredPage = clusterPageRegistry.getByPageMenuTarget(menuItem.target);
let pageUrl: string
let isActive = false
let pageUrl: string;
let isActive = false;
if (registeredPage) {
const { extensionId, id: pageId } = registeredPage;
pageUrl = getExtensionPageUrl({ extensionId, pageId, params: menuItem.target.params });
isActive = pageUrl === navigation.location.pathname;
}
const tabRoutes = this.getTabLayoutRoutes(menuItem)
const tabRoutes = this.getTabLayoutRoutes(menuItem);
if (!registeredPage && tabRoutes.length == 0) {
return
return;
}
return (
<SidebarNavItem