X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/835fca715fcf8da391049b46ae89f600569896f0..3c7e3cdc547ad5468421e1c049daa94b0d4b8bc0:/src/components/details-attribute/details-attribute.tsx
diff --git a/src/components/details-attribute/details-attribute.tsx b/src/components/details-attribute/details-attribute.tsx
index 2cecc8ce..7b2b119b 100644
--- a/src/components/details-attribute/details-attribute.tsx
+++ b/src/components/details-attribute/details-attribute.tsx
@@ -2,19 +2,19 @@
//
// SPDX-License-Identifier: AGPL-3.0
-import * as React from 'react';
+import React from 'react';
import { connect, DispatchProp } from 'react-redux';
import Typography from '@material-ui/core/Typography';
import { StyleRulesCallback, WithStyles, withStyles } from '@material-ui/core/styles';
import { Tooltip } from '@material-ui/core';
-import { CopyIcon } from '~/components/icon/icon';
-import * as CopyToClipboard from 'react-copy-to-clipboard';
-import { ArvadosTheme } from '~/common/custom-theme';
-import * as classnames from "classnames";
+import { CopyIcon } from 'components/icon/icon';
+import CopyToClipboard from 'react-copy-to-clipboard';
+import { ArvadosTheme } from 'common/custom-theme';
+import classnames from "classnames";
import { Link } from 'react-router-dom';
-import { RootState } from "~/store/store";
-import { FederationConfig, getNavUrl } from "~/routes/routes";
-import { snackbarActions, SnackbarKind } from '~/store/snackbar/snackbar-actions';
+import { RootState } from "store/store";
+import { FederationConfig, getNavUrl } from "routes/routes";
+import { snackbarActions, SnackbarKind } from 'store/snackbar/snackbar-actions';
type CssRules = 'attribute' | 'label' | 'value' | 'lowercaseValue' | 'link' | 'copyIcon';
@@ -85,9 +85,8 @@ export const DetailsAttribute = connect(mapStateToProps)(withStyles(styles)(
}
render() {
- const { uuidEnhancer, label, link, value, children, classes, classLabel,
- classValue, lowercaseValue, onValueClick, linkToUuid,
- localCluster, remoteHostsConfig, sessions, copyValue } = this.props;
+ const { uuidEnhancer, link, value, classes, linkToUuid,
+ localCluster, remoteHostsConfig, sessions } = this.props;
let valueNode: React.ReactNode;
if (linkToUuid) {
@@ -104,23 +103,33 @@ export const DetailsAttribute = connect(mapStateToProps)(withStyles(styles)(
valueNode = value;
}
- return
- {label}
-
- {valueNode}
- {children}
- {(linkToUuid || copyValue) &&
-
- this.onCopy("Copied")}>
-
-
-
- }
-
- ;
+ return ;
}
}
));
+
+interface DetailsAttributeComponentProps {
+ value: React.ReactNode;
+ onCopy?: (msg: string) => void;
+}
+
+export const DetailsAttributeComponent = withStyles(styles)(
+ (props: DetailsAttributeDataProps & WithStyles & DetailsAttributeComponentProps) =>
+
+ {props.label}
+
+ {props.value}
+ {props.children}
+ {(props.linkToUuid || props.copyValue) && props.onCopy &&
+
+ props.onCopy!("Copied")}>
+
+
+
+ }
+
+ );
+