From 7077dba9f3db796c098058c804b832199b2fd7ad Mon Sep 17 00:00:00 2001 From: Jari Kolehmainen Date: Fri, 13 Nov 2020 14:53:39 +0200 Subject: [PATCH] fixes Signed-off-by: Jari Kolehmainen --- extensions/example-extension/main.ts | 4 ++-- extensions/example-extension/renderer.tsx | 14 ++++++++++++-- src/extensions/registries/page-menu-registry.ts | 8 +++++--- 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/extensions/example-extension/main.ts b/extensions/example-extension/main.ts index 2f0a926769..85f7977a83 100644 --- a/extensions/example-extension/main.ts +++ b/extensions/example-extension/main.ts @@ -2,10 +2,10 @@ import { LensMainExtension } from "@k8slens/extensions"; export default class ExampleExtensionMain extends LensMainExtension { onActivate() { - console.log('EXAMPLE EXTENSION MAIN: ACTIVATED', this.getMeta()); + console.log('EXAMPLE EXTENSION MAIN: ACTIVATED'); } onDeactivate() { - console.log('EXAMPLE EXTENSION MAIN: DEACTIVATED', this.getMeta()); + console.log('EXAMPLE EXTENSION MAIN: DEACTIVATED'); } } diff --git a/extensions/example-extension/renderer.tsx b/extensions/example-extension/renderer.tsx index a1fb546df7..7733ec6e47 100644 --- a/extensions/example-extension/renderer.tsx +++ b/extensions/example-extension/renderer.tsx @@ -5,11 +5,21 @@ import React from "react" export default class ExampleExtension extends LensRendererExtension { clusterPages = [ { - path: "/extension-example", + id: "example", + routePath: "/extension-example", title: "Example Extension", components: { Page: () => , - MenuIcon: ExampleIcon, + } + } + ] + + clusterPageMenus = [ + { + target: { pageId: "example", params: {} }, + title: "Example Extension", + components: { + Icon: ExampleIcon, } } ] diff --git a/src/extensions/registries/page-menu-registry.ts b/src/extensions/registries/page-menu-registry.ts index 34fe50154c..014d723ea1 100644 --- a/src/extensions/registries/page-menu-registry.ts +++ b/src/extensions/registries/page-menu-registry.ts @@ -9,8 +9,8 @@ import { PageRegistration } from "../interfaces"; export interface PageMenuTarget { pageId: string; - extensionId: string; - params: object; + extensionId?: string; + params?: object; } export interface PageMenuRegistration { @@ -33,7 +33,9 @@ export class PageMenuRegistry extends BaseRegist @action add(items: T[], ext?: LensExtension) { const normalizedItems = items.map((i) => { - i.target.extensionId = ext.name + if (!i.target.extensionId) { + i.target.extensionId = ext.name + } return i }) return super.add(normalizedItems);