From 727fb6bb269fa73a60398191ad3209a83df776b7 Mon Sep 17 00:00:00 2001 From: Jari Kolehmainen Date: Thu, 15 Apr 2021 11:16:22 +0300 Subject: [PATCH] fix Signed-off-by: Jari Kolehmainen --- .../registries/entity-setting-registry.ts | 14 ++++++++++++++ .../+entity-settings/entity-settings.tsx | 17 +++++++++-------- 2 files changed, 23 insertions(+), 8 deletions(-) diff --git a/src/extensions/registries/entity-setting-registry.ts b/src/extensions/registries/entity-setting-registry.ts index 91ab8030b1..96e0200390 100644 --- a/src/extensions/registries/entity-setting-registry.ts +++ b/src/extensions/registries/entity-setting-registry.ts @@ -30,6 +30,20 @@ export class EntitySettingRegistry extends BaseRegistry { + return item.kind === kind && item.apiVersions.includes(apiVersion); + }); + + if (source && source !== "") { + return items.filter((item) => { + return !item.source || item.source === source; + }); + } else { + return items; + } + } } export const entitySettingRegistry = new EntitySettingRegistry(); diff --git a/src/renderer/components/+entity-settings/entity-settings.tsx b/src/renderer/components/+entity-settings/entity-settings.tsx index a04a410f89..7a31eb6ce2 100644 --- a/src/renderer/components/+entity-settings/entity-settings.tsx +++ b/src/renderer/components/+entity-settings/entity-settings.tsx @@ -28,13 +28,16 @@ export class EntitySettings extends React.Component { return catalogEntityRegistry.getById(this.entityId); } + get menuItems() { + if (!this.entity) return []; + + return entitySettingRegistry.getItemsForKind(this.entity.kind, this.entity.apiVersion, this.entity.metadata.source); + } + async componentDidMount() { const { hash } = navigation.location; - console.log(this.entityId, this.entity); - - - this.activeTab = entitySettingRegistry.getItems()[0]?.id; + this.activeTab = this.menuItems[0]?.id; document.getElementById(hash.slice(1))?.scrollIntoView(); } @@ -44,14 +47,12 @@ export class EntitySettings extends React.Component { }; renderNavigation() { - const settings = entitySettingRegistry.getItems(); - return ( <>

{this.entity.metadata.name}

Settings
- { settings.map((setting) => { + { this.menuItems.map((setting) => { return ; })}
@@ -62,7 +63,7 @@ export class EntitySettings extends React.Component { render() { if (!this.entity) return null; - const activeSetting = entitySettingRegistry.getItems().find((setting) => setting.id === this.activeTab); + const activeSetting = this.menuItems.find((setting) => setting.id === this.activeTab); if (!activeSetting) { return null;