+const renderLinkNameAndIcon = (item: { name: string; headUuid: string, headKind: string }) =>
+ <Grid container alignItems="center" wrap="nowrap" spacing={16}>
+ <Grid item>
+ {renderIcon(item.headKind)}
+ </Grid>
+ <Grid item>
+ <Typography color="primary" style={{ width: 'auto' }}>
+ {item.name}
+ </Typography>
+ </Grid>
+ <Grid item>
+ <Typography variant="caption">
+ <FavoriteStar resourceUuid={item.headUuid} />
+ </Typography>
+ </Grid>
+ </Grid>;
+
+export const ResourceLinkNameAndIcon = connect(
+ (state: RootState, props: { uuid: string }) => {
+ const resource = getResource<LinkResource>(props.uuid)(state.resources);
+ return resource || { name: '', headUuid: '', headKind: '' };
+ })(renderLinkNameAndIcon);
+
+export const ResourceLinkType = connect(
+ (state: RootState, props: { uuid: string }) => {
+ const resource = getResource<LinkResource>(props.uuid)(state.resources);
+ return { type: resource ? resource.headKind : '' };
+ })((props: { type: string }) => renderType(props.type));
+