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:15:02 +02:00
parent cd781c9f66
commit 1724b0e083

View File

@ -97,6 +97,31 @@ export class Sidebar extends React.Component<Props> {
return routes;
}
renderRegisteredMenus() {
return clusterPageMenuRegistry.getRootItems().map((menuItem) => {
const registeredPage = clusterPageRegistry.getByPageMenuTarget(menuItem.target);
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);
if (!registeredPage && tabRoutes.length == 0) {
return;
}
return (
<SidebarNavItem
key={pageUrl} url={pageUrl}
text={menuItem.title} icon={<menuItem.components.Icon/>}
isActive={isActive}
subMenus={tabRoutes}
/>
);
});
}
render() {
const { toggle, isPinned, className } = this.props;
const query = namespaceStore.getContextParams();
@ -212,28 +237,7 @@ export class Sidebar extends React.Component<Props> {
>
{this.renderCustomResources()}
</SidebarNavItem>
{clusterPageMenuRegistry.getRootItems().map((menuItem) => {
const registeredPage = clusterPageRegistry.getByPageMenuTarget(menuItem.target);
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);
if (!registeredPage && tabRoutes.length == 0) {
return;
}
return (
<SidebarNavItem
key={pageUrl} url={pageUrl}
text={menuItem.title} icon={<menuItem.components.Icon/>}
isActive={isActive}
subMenus={tabRoutes}
/>
);
})}
{this.renderRegisteredMenus()}
</div>
</div>
</SidebarContext.Provider>