import "./storage-class-details.scss"; import * as React from "react"; import startCase from "lodash/startCase"; import { t, Trans } from "@lingui/macro"; 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, storageClassApi } from "../../api/endpoints"; import { _i18n } from "../../i18n"; import { apiManager } from "../../api/api-manager"; import { KubeObjectMeta } from "../kube-object/kube-object-meta"; 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 && ( Provisioner} labelsOnly> )} Volume Binding Mode}> {storageClass.getVolumeBindingMode()} Reclaim Policy}> {storageClass.getReclaimPolicy()} {mountOptions && ( Mount Options}> {mountOptions.join(", ")} )} {parameters && ( <> { Object.entries(parameters).map(([name, value]) => ( {value} )) } )}
); } } apiManager.registerViews(storageClassApi, { Details: StorageClassDetails })