import React from "react"; import { IKubeMetaField, KubeObject } from "../../api/kube-object"; import { DrawerItem, DrawerItemLabels } from "../drawer"; import { lookupApiLink } from "../../api/kube-api"; import { Link } from "react-router-dom"; import { KubeObjectStatusIcon } from "../kube-object-status-icon"; import { LocaleDate } from "../locale-date"; import { getDetailsUrl } from "./kube-object-details"; export interface KubeObjectMetaProps { object: KubeObject; hideFields?: IKubeMetaField[]; } export class KubeObjectMeta extends React.Component { static defaultHiddenFields: IKubeMetaField[] = [ "uid", "resourceVersion", "selfLink" ]; isHidden(field: IKubeMetaField): boolean { const { hideFields = KubeObjectMeta.defaultHiddenFields } = this.props; return hideFields.includes(field); } render() { const object = this.props.object; const { getName, getNs, getLabels, getResourceVersion, selfLink, getAnnotations, getFinalizers, getId, getAge, metadata: { creationTimestamp }, } = object; const ownerRefs = object.getOwnerRefs(); return ( <>