-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrenderer.tsx
39 lines (36 loc) · 1.12 KB
/
renderer.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/**
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import React from "react";
import { Renderer } from "@k8slens/extensions";
import { PodShellMenu } from "./menu/pod/pod-shell-menu";
import { PodLogsMenu } from "./menu/pod/pod-logs-menu";
import { NodeMenu } from "./menu/node/node-menu";
type Node = Renderer.K8sApi.Node;
type Pod = Renderer.K8sApi.Pod;
export default class ExtentionMenuRendererExtension extends Renderer.LensExtension {
kubeObjectMenuItems = [
{
kind: "Pod",
apiVersions: ["v1"],
components: {
MenuItem: (props: Renderer.Component.KubeObjectMenuProps<Pod>) => <PodShellMenu {...props} />,
},
},
{
kind: "Pod",
apiVersions: ["v1"],
components: {
MenuItem: (props: Renderer.Component.KubeObjectMenuProps<Pod>) => <PodLogsMenu {...props} />,
},
},
{
kind: "Node",
apiVersions: ["v1"],
components: {
MenuItem: (props: Renderer.Component.KubeObjectMenuProps<Node>) => <NodeMenu {...props} />,
},
},
];
}