1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00

Add object selector details item

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
This commit is contained in:
Alex Andreev 2023-04-07 12:02:21 +03:00
parent a308320dd6
commit f00c6129d7

View File

@ -8,6 +8,7 @@ import { observer } from "mobx-react";
import { DrawerItem, DrawerTitle } from "../drawer"; import { DrawerItem, DrawerTitle } from "../drawer";
import type { KubeObjectDetailsProps } from "../kube-object-details"; import type { KubeObjectDetailsProps } from "../kube-object-details";
import type { MutatingWebhookConfiguration } from "../../../common/k8s-api/endpoints"; import type { MutatingWebhookConfiguration } from "../../../common/k8s-api/endpoints";
import { Badge } from "../badge";
export interface MutatingWebhookDetailsProps extends KubeObjectDetailsProps<MutatingWebhookConfiguration> { export interface MutatingWebhookDetailsProps extends KubeObjectDetailsProps<MutatingWebhookConfiguration> {
} }
@ -33,10 +34,12 @@ export class MutatingWebhookDetails extends React.Component<MutatingWebhookDetai
<div> <div>
<div> <div>
Name: Name:
{" "}
{webhook.clientConfig.service.name} {webhook.clientConfig.service.name}
</div> </div>
<div> <div>
Namespace: Namespace:
{" "}
{webhook.clientConfig.service.namespace} {webhook.clientConfig.service.namespace}
</div> </div>
</div> </div>
@ -60,6 +63,39 @@ export class MutatingWebhookDetails extends React.Component<MutatingWebhookDetai
<DrawerItem name="Timeout Seconds"> <DrawerItem name="Timeout Seconds">
{webhook.timeoutSeconds} {webhook.timeoutSeconds}
</DrawerItem> </DrawerItem>
<DrawerItem name="Object Selector">
{webhook.objectSelector && (
<div>
<div>Match Expressions:</div>
{webhook.objectSelector.matchExpressions?.map((expression, index) => (
<div key={index}>
<div>
Key:
{expression.key}
</div>
<div>
Operator:
{expression.operator}
</div>
<div>
Values:
{expression.values?.join(", ")}
</div>
</div>
))}
{webhook.objectSelector.matchLabels && (
<div>
<div>Match Labels:</div>
<div style={{ display: "flex", gap: "0.5rem", flexWrap: "wrap" }}>
{Object.entries(webhook.objectSelector.matchLabels).map(([key, value], index) => (
<Badge label={`${key}=${value}`} key={index} />
))}
</div>
</div>
)}
</div>
)}
</DrawerItem>
</React.Fragment> </React.Fragment>
))} ))}
</div > </div >