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)
}
}