diff --git a/docs/extensions/capabilities/common-capabilities.md b/docs/extensions/capabilities/common-capabilities.md index 84f1cbdffa..44c40430d8 100644 --- a/docs/extensions/capabilities/common-capabilities.md +++ b/docs/extensions/capabilities/common-capabilities.md @@ -100,6 +100,8 @@ import { ExamplePage } from "./src/example-page" export default class ExampleRendererExtension extends LensRendererExtension { globalPages = [ { + id: "example", + routePath: "/example", components: { Page: ExamplePage, } @@ -109,6 +111,7 @@ export default class ExampleRendererExtension extends LensRendererExtension { globalPageMenus = [ { title: "Example page", // used in icon's tooltip + target: { pageId: "example" } components: { Icon: () => , } diff --git a/src/extensions/registries/page-menu-registry.ts b/src/extensions/registries/page-menu-registry.ts index 014d723ea1..a43e05d1c8 100644 --- a/src/extensions/registries/page-menu-registry.ts +++ b/src/extensions/registries/page-menu-registry.ts @@ -33,7 +33,8 @@ export class PageMenuRegistry extends BaseRegist @action add(items: T[], ext?: LensExtension) { const normalizedItems = items.map((i) => { - if (!i.target.extensionId) { + console.log(i) + if (i.target && !i.target.extensionId) { i.target.extensionId = ext.name } return i diff --git a/src/extensions/registries/page-registry.ts b/src/extensions/registries/page-registry.ts index f82cce2196..154cba66e7 100644 --- a/src/extensions/registries/page-registry.ts +++ b/src/extensions/registries/page-registry.ts @@ -43,6 +43,9 @@ export class PageRegistry extends BaseRegistry { } getByPageMenuTarget(target: PageMenuTarget) { + if (!target) { + return null + } return this.getItems().find((page) => page.routePath.startsWith(`/extension/${target.extensionId}/`) && page.id === target.pageId) } }