import React from "react"; import { observer } from "mobx-react"; import { CoffeeDoodle } from "react-open-doodles"; import { Component, Interface, K8sApi, LensRendererExtension } from "@k8slens/extensions"; export interface ExamplePageProps extends Interface.PageComponentProps { extension: LensRendererExtension; // provided in "./renderer.tsx" } export interface ExamplePageParams { exampleId: string; selectedNamespaces: K8sApi.Namespace[]; } export const namespaceStore = K8sApi.apiManager.getStore(K8sApi.namespacesApi); @observer export class ExamplePage extends React.Component { async componentDidMount() { await namespaceStore.loadAll(); } deactivate = () => { const { extension } = this.props; extension.disable(); }; renderSelectedNamespaces() { const { selectedNamespaces } = this.props.params; return (
{selectedNamespaces.get().map(ns => { const name = ns.getName(); return ; })}
); } render() { const { exampleId } = this.props.params; return (
Hello from Example extension!
Location: {location.href}
Namespaces: {this.renderSelectedNamespaces()}

exampleId.set("secret")}>Show secret button {exampleId.get() === "secret" && ( )}

); } }