mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
refactor
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
This commit is contained in:
parent
cd781c9f66
commit
1724b0e083
@ -97,6 +97,31 @@ export class Sidebar extends React.Component<Props> {
|
|||||||
return routes;
|
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() {
|
render() {
|
||||||
const { toggle, isPinned, className } = this.props;
|
const { toggle, isPinned, className } = this.props;
|
||||||
const query = namespaceStore.getContextParams();
|
const query = namespaceStore.getContextParams();
|
||||||
@ -212,28 +237,7 @@ export class Sidebar extends React.Component<Props> {
|
|||||||
>
|
>
|
||||||
{this.renderCustomResources()}
|
{this.renderCustomResources()}
|
||||||
</SidebarNavItem>
|
</SidebarNavItem>
|
||||||
{clusterPageMenuRegistry.getRootItems().map((menuItem) => {
|
{this.renderRegisteredMenus()}
|
||||||
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}
|
|
||||||
/>
|
|
||||||
);
|
|
||||||
})}
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</SidebarContext.Provider>
|
</SidebarContext.Provider>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user