-export const DetailsAttribute = withStyles(styles)(
- ({ label, link, value, children, classes, classLabel, classValue, lowercaseValue }: DetailsAttributeProps) =>
- <Typography component="div" className={classes.attribute}>
- <Typography component="span" className={classnames([classes.label, classLabel])}>{label}</Typography>
- { link
- ? <a href={link} className={classes.link} target='_blank'>{value}</a>
- : <Typography component="span" className={classnames([classes.value, classValue, { [classes.lowercaseValue]: lowercaseValue }])}>
- {value}
+ render() {
+ const { label, link, value, children, classes, classLabel,
+ classValue, lowercaseValue, onValueClick, linkToUuid,
+ localCluster, remoteHostsConfig, sessions } = this.props;
+ let valueNode: React.ReactNode;
+
+ if (linkToUuid) {
+ const linkUrl = getNavUrl(linkToUuid || "", { localCluster, remoteHostsConfig, sessions });
+ if (linkUrl[0] === '/') {
+ valueNode = <Link to={linkUrl} className={classes.link}>{linkToUuid}</Link>;
+ } else {
+ valueNode = <a href={linkUrl} className={classes.link} target='_blank'>{linkToUuid}</a>;
+ }
+ } else if (link) {
+ valueNode = <a href={link} className={classes.link} target='_blank'>{value}</a>;
+ } else {
+ valueNode = value;
+ }
+ return <Typography component="div" className={classes.attribute}>
+ <Typography component="div" className={classnames([classes.label, classLabel])}>{label}</Typography>
+ <Typography
+ onClick={onValueClick}
+ component="div"
+ className={classnames([classes.value, classValue, { [classes.lowercaseValue]: lowercaseValue }])}>
+ {valueNode}