+
+export const CollectionDetailsAttributes = (props: { item: CollectionResource, twoCol: boolean, classes?: Record<CssRules, string>, showVersionBrowser?: () => void }) => {
+ const item = props.item;
+ const classes = props.classes || { label: '', value: '', button: '' };
+ const isOldVersion = item && item.currentVersionUuid !== item.uuid;
+ const mdSize = props.twoCol ? 6 : 12;
+ const showVersionBrowser = props.showVersionBrowser;
+ return <Grid container>
+ <Grid item xs={12} md={mdSize}>
+ <DetailsAttribute classLabel={classes.label} classValue={classes.value}
+ label={isOldVersion ? "This version's UUID" : "Collection UUID"}
+ linkToUuid={item.uuid} />
+ </Grid>
+ <Grid item xs={12} md={mdSize}>
+ <DetailsAttribute classLabel={classes.label} classValue={classes.value}
+ label={isOldVersion ? "This version's PDH" : "Portable data hash"}
+ linkToUuid={item.portableDataHash} />
+ </Grid>
+ <Grid item xs={12} md={mdSize}>
+ <DetailsAttribute classLabel={classes.label} classValue={classes.value}
+ label='Owner' linkToUuid={item.ownerUuid} />
+ </Grid>
+
+ {isOldVersion &&
+ <Grid item xs={12} md={mdSize}>
+ <DetailsAttribute classLabel={classes.label} classValue={classes.value}
+ label='Head version'
+ linkToUuid={item.currentVersionUuid} />
+ </Grid>
+ }
+ <Grid item xs={12} md={mdSize}>
+ <DetailsAttribute
+ classLabel={classes.label} classValue={classes.value}
+ label='Version number'
+ value={ showVersionBrowser !== undefined
+ ? <ButtonLink underline='none' className={classes.button} onClick={() => showVersionBrowser()}>
+ {item.version}
+ </ButtonLink>
+ : item.version
+ }
+ />
+ </Grid>
+ <Grid item xs={12} md={mdSize}>
+ <DetailsAttribute label='Created at' value={formatDate(item.createdAt)} />
+ </Grid>
+ <Grid item xs={12} md={mdSize}>
+ <DetailsAttribute label='Last modified' value={formatDate(item.modifiedAt)} />
+ </Grid>
+ <Grid item xs={12} md={mdSize}>
+ <DetailsAttribute classLabel={classes.label} classValue={classes.value}
+ label='Number of files' value={item.fileCount} />
+ </Grid>
+ <Grid item xs={12} md={mdSize}>
+ <DetailsAttribute classLabel={classes.label} classValue={classes.value}
+ label='Content size' value={formatFileSize(item.fileSizeTotal)} />
+ </Grid>
+ </Grid>;
+};