import "./storage-class-details.scss"; import React from "react"; import startCase from "lodash/startCase"; import { DrawerItem, DrawerTitle } from "../drawer"; import { Badge } from "../badge"; import { KubeEventDetails } from "../+events/kube-event-details"; import { observer } from "mobx-react"; import { KubeObjectDetailsProps } from "../kube-object"; import { StorageClass } from "../../api/endpoints"; import { KubeObjectMeta } from "../kube-object/kube-object-meta"; import { kubeObjectDetailRegistry } from "../../api/kube-object-detail-registry"; interface Props extends KubeObjectDetailsProps { } @observer export class StorageClassDetails extends React.Component { render() { const { object: storageClass } = this.props; if (!storageClass) return null; const { provisioner, parameters, mountOptions } = storageClass; return (
{provisioner && ( )} {storageClass.getVolumeBindingMode()} {storageClass.getReclaimPolicy()} {mountOptions && ( {mountOptions.join(", ")} )} {parameters && ( <> { Object.entries(parameters).map(([name, value]) => ( {value} )) } )}
); } } kubeObjectDetailRegistry.add({ kind: "StorageClass", apiVersions: ["storage.k8s.io/v1"], components: { Details: (props) => } }); kubeObjectDetailRegistry.add({ kind: "StorageClass", apiVersions: ["storage.k8s.io/v1"], priority: 5, components: { Details: (props) => } });