From 2e19c18a71aab2e2552c129baba88dcd3b6ff480 Mon Sep 17 00:00:00 2001 From: Anthony Geourjon <anthony.geourjon@tetras-libre.fr> Date: Fri, 27 Jan 2023 17:38:06 +0100 Subject: [PATCH] WIP on accordion in a component --- .../AnnotationManifestsAccordion.js | 76 +++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 src/components/AnnotationManifestsAccordion.js diff --git a/src/components/AnnotationManifestsAccordion.js b/src/components/AnnotationManifestsAccordion.js new file mode 100644 index 000000000..08f709010 --- /dev/null +++ b/src/components/AnnotationManifestsAccordion.js @@ -0,0 +1,76 @@ +import React, { Component } from 'react'; +import Accordion from '@material-ui/core/Accordion'; +import AccordionSummary from '@material-ui/core/AccordionSummary'; +import ExpandMoreIcon from '@material-ui/icons/ExpandMoreSharp'; +import Typography from '@material-ui/core/Typography'; +import AccordionDetails from '@material-ui/core/AccordionDetails'; +import { MiradorMenuButton } from './MiradorMenuButton'; +import PlaylistAddIcon from '@material-ui/icons/PlaylistAdd'; + + +export class AnnotationManifestsAccordion extends Component { + + constructor(props) { + super(props); + } + + render() { + + const { + classes, + annotation + } = this.props; + + return ( + (annotation.idIsManifest || annotation.manifestsInContent) && ( + <div> + <Accordion> + <AccordionSummary + expandIcon={<ExpandMoreIcon/>} + > + <Typography className={classes.heading}>Manifests found :</Typography> + </AccordionSummary> + <AccordionDetails> + <Typography> + {annotation.idIsManifest && ( + <div className={classes.manifestOpeningWrapper}> + <div>{annotation.id}</div> + <MiradorMenuButton + aria-haspopup="true" + aria-label={t('openManifestInOtherWindow', { manifest: annotation.id })} + titleAccess={t('openManifestInOtherWindow', { manifest: annotation.id })} + onClick={(e) => { + this.handleOpenManifestSideToSide(e, annotation.id); + }} + className={classes.manifestOpeningButton} + > + <PlaylistAddIcon/> + </MiradorMenuButton> + </div> + )} + {annotation.manifestsInContent && annotation.manifestsInContent.map(manifestId => ( + <div className={classes.manifestOpeningWrapper}> + <div>{manifestId}</div> + <MiradorMenuButton + aria-haspopup="true" + aria-label={t('openManifestInOtherWindow')} + titleAccess={t('openManifestInOtherWindow')} + onClick={(e) => { + this.handleOpenManifestSideToSide(e, manifestId); + }} + className={classes.manifestOpeningButton} + > + <PlaylistAddIcon/> + </MiradorMenuButton> + </div> + ))} + </Typography> + </AccordionDetails> + </Accordion> + </div> + + ) + ) + } + +} -- GitLab