diff --git a/extensions/example-extension/page.tsx b/extensions/example-extension/page.tsx index 92824e5a22..a5dfc81e59 100644 --- a/extensions/example-extension/page.tsx +++ b/extensions/example-extension/page.tsx @@ -4,8 +4,8 @@ import React from "react"; import path from "path"; import { observer } from "mobx-react"; -export const exampleNameUrlParam = Navigation.createUrlParam({ - name: "name", +export const exampleIdPageParam = Navigation.createUrlParam({ + name: "exampleId", defaultValue: "demo", }); @@ -22,7 +22,7 @@ export class ExamplePage extends React.Component<{ extension: LensRendererExtens }; render() { - const exampleName = exampleNameUrlParam.get(); + const exampleName = exampleIdPageParam.get(); const doodleStyle = { width: "200px" }; @@ -36,7 +36,7 @@ export class ExamplePage extends React.Component<{ extension: LensRendererExtens

Location: {location.href}

- exampleNameUrlParam.set("secret")}>Show secret button + exampleIdPageParam.set("secret")}>Show secret button {exampleName === "secret" && ( )} diff --git a/extensions/example-extension/renderer.tsx b/extensions/example-extension/renderer.tsx index 329ba7921b..5b00993dd6 100644 --- a/extensions/example-extension/renderer.tsx +++ b/extensions/example-extension/renderer.tsx @@ -1,5 +1,5 @@ import { LensRendererExtension } from "@k8slens/extensions"; -import { ExampleIcon, ExamplePage, exampleNameUrlParam } from "./page"; +import { ExampleIcon, ExamplePage, exampleIdPageParam } from "./page"; import React from "react"; export default class ExampleExtension extends LensRendererExtension { @@ -11,18 +11,37 @@ export default class ExampleExtension extends LensRendererExtension { Page: () => , }, params: [ - exampleNameUrlParam, + exampleIdPageParam, ] } ]; clusterPageMenus = [ { - target: { pageId: "example" }, - title: "Example Extension", + title: "Example extension", components: { Icon: ExampleIcon, - } - } + }, + target: { + pageId: "example", + params: { + // cause target page has registered a url-param with name "exampleId" == exampleNameUrlParam.name + // passing values to page to generate final link + exampleId: "demo-2" + }, + }, + }, + { + title: "Example secret page", + components: { + Icon: ExampleIcon, + }, + target: { + pageId: "example", + params: { + exampleId: "secret" + }, + }, + }, ]; }