added checkbox

This commit is contained in:
CodeServer 2022-04-12 11:50:17 +01:00
parent 075eb23b31
commit 2b64cea00a
4 changed files with 109 additions and 60 deletions

View File

@ -1,6 +1,6 @@
import React from "react";
import { useLocation, Link } from "react-router-dom";
import { ListItemButton, Button, Box, Card, CardContent, Typography, CardActions, Grid, List, ListItemText, Snackbar, Alert, Tooltip, Collapse } from "@mui/material";
import { ListItemButton, Button, Box, Card, CardContent, Typography, CardActions, Grid, List, ListItemText, Snackbar, Alert, Tooltip, Collapse, FormGroup, FormControlLabel, Checkbox } from "@mui/material";
import AccessTimeIcon from '@mui/icons-material/AccessTime';
import ExpandMoreIcon from '@mui/icons-material/ExpandMore';
import ExpandLessIcon from '@mui/icons-material/ExpandLess';
@ -186,68 +186,75 @@ const RepositoryInfo: React.FC = () => {
</Card>
</div>
<Collapse className="tagsDetail" in={showDetails}>
{repository.tags.map((tag) => (
<div className="wrapperWithCheckBox">
<Card className="tagCard" variant="outlined">
<CardContent>
<Grid container>
<Grid item lg={6} md={12}>
<Typography className="lines" variant="h5" component="div" color="#94a1aa">
TAG
</Typography>
<Typography className="lines" variant="h5" component="div" color="#007bff">
{tag.label}
</Typography>
<Typography className="lines" sx={{ mb: 1.5 }}>
Last updated: <b>{(tag.created ? printTimePassed(tag.created) : "")}</b>
</Typography>
</Grid>
<Grid item lg={6} md={12}>
<Box sx={{ display: "flex", flexDirection: "column" }}>
<Typography className="lines" variant="h6">
To pull this image,
</Typography>
<Box className="commandDisplay" onClick={() => (handlePullClick(tag.label))} component="span" sx={{ display: 'block', bgcolor: '#445d6e', color: 'white', borderColor: '#445d6e' }}>{generatePullCommand(getHostNameFromURL(process.env.REGISTRY_URL ? process.env.REGISTRY_URL : ""),tag.label)}</Box>
</Box>
</Grid>
<Grid item lg={12} md={12}>
<Grid className="lines" container>
<Grid item sm={5}>
<ListItemText primary="DIGEST" />
<FormGroup>
{repository.tags.map((tag) => (
<div className="wrapperFlex">
<div className="wrapperWithCheckBox">
<FormControlLabel control={<Checkbox />} name={tag.label} style={{display:'flex', justifyContent:'flex-end'}} label="" />
</div>
<div className="wrapperCollapsed">
<Card className="tagCard" variant="outlined">
<CardContent>
<Grid container>
<Grid item lg={6} md={12}>
<Typography className="lines" variant="h5" component="div" color="#94a1aa">
TAG
</Typography>
<Typography className="lines" variant="h5" component="div" color="#007bff">
{tag.label}
</Typography>
<Typography className="lines" sx={{ mb: 1.5 }}>
Last updated: <b>{(tag.created ? printTimePassed(tag.created) : "")}</b>
</Typography>
</Grid>
<Grid item sm={4}>
<ListItemText primary="OS/ARCH" />
<Grid item lg={6} md={12}>
<Box sx={{ display: "flex", flexDirection: "column" }}>
<Typography className="lines" variant="h6">
To pull this image,
</Typography>
<Box className="commandDisplay" onClick={() => (handlePullClick(tag.label))} component="span" sx={{ display: 'block', bgcolor: '#445d6e', color: 'white', borderColor: '#445d6e' }}>{generatePullCommand(getHostNameFromURL(process.env.REGISTRY_URL ? process.env.REGISTRY_URL : ""),tag.label)}</Box>
</Box>
</Grid>
<Grid item sm={3}>
<ListItemText style={{display:'flex', justifyContent:'flex-end'}} primary="SIZE" />
</Grid>
</Grid>
<List>
<ListItemButton
className="lines"
component={Link}
to={"/repository/" + repository.name + "/" + tag.label}
>
<Grid container>
<Grid item lg={12} md={12}>
<Grid className="lines" container>
<Grid item sm={5}>
<ListItemText style={{color: '#007bff'}} primary={digestDisplay(tag.digest)} />
<ListItemText primary="DIGEST" />
</Grid>
<Grid item sm={4}>
<ListItemText primary={tag.os + "/" +tag.architecture} />
<ListItemText primary="OS/ARCH" />
</Grid>
<Grid item sm={3}>
<ListItemText style={{display:'flex', justifyContent:'flex-end'}} primary={tag.size ? printSize(tag.size) : "---"} />
<ListItemText style={{display:'flex', justifyContent:'flex-end'}} primary="SIZE" />
</Grid>
</Grid>
</ListItemButton>
</List>
</Grid>
</Grid>
</CardContent>
</Card>
</div>
))}
<List>
<ListItemButton
className="lines"
component={Link}
to={"/repository/" + repository.name + "/" + tag.label}
>
<Grid container>
<Grid item sm={5}>
<ListItemText style={{color: '#007bff'}} primary={digestDisplay(tag.digest)} />
</Grid>
<Grid item sm={4}>
<ListItemText primary={tag.os + "/" +tag.architecture} />
</Grid>
<Grid item sm={3}>
<ListItemText style={{display:'flex', justifyContent:'flex-end'}} primary={tag.size ? printSize(tag.size) : "---"} />
</Grid>
</Grid>
</ListItemButton>
</List>
</Grid>
</Grid>
</CardContent>
</Card>
</div>
</div>
))}
</FormGroup>
</Collapse>
<Snackbar open={snackbarOpen} autoHideDuration={1500} onClose={handleClose}>
<Alert onClose={handleClose} severity="success" sx={{ width: '100%' }}>

View File

@ -2,9 +2,21 @@
min-width: 100%
margin: 0
padding: 0
.wrapperAlwaysDisplayed, .wrapperWithCheckBox
.wrapperFlex
min-width: 100%
margin: 0
padding: 0
display: flex
.wrapperAlwaysDisplayed
width: 70%
margin: auto
.wrapperCollapsed
width: 70%
margin: auto 0
.wrapperWithCheckBox
width: 15%
margin: 0
margin: auto 0
.repositoryDetail
margin: 5%
padding: 15px
@ -55,5 +67,9 @@
@media (max-width: 1199px)
.repositoryInfo
.wrapperAlwaysDisplayed, .wrapperWithCheckBox
.wrapperAlwaysDisplayed
width: 90%
.wrapperCollapsed
width: 90%
.wrapperWithCheckBox
width: 5%

View File

@ -30,11 +30,31 @@ a {
padding: 0;
}
.repositoryInfo .wrapperAlwaysDisplayed, .repositoryInfo .wrapperWithCheckBox {
.repositoryInfo .wrapperFlex {
min-width: 100%;
margin: 0;
padding: 0;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
}
.repositoryInfo .wrapperAlwaysDisplayed {
width: 70%;
margin: auto;
}
.repositoryInfo .wrapperCollapsed {
width: 70%;
margin: auto 0;
}
.repositoryInfo .wrapperWithCheckBox {
width: 15%;
margin: 0;
margin: auto 0;
}
.repositoryInfo .repositoryDetail {
margin: 5%;
padding: 15px;
@ -111,9 +131,15 @@ a {
}
@media (max-width: 1199px) {
.repositoryInfo .wrapperAlwaysDisplayed, .repositoryInfo .wrapperWithCheckBox {
.repositoryInfo .wrapperAlwaysDisplayed {
width: 90%;
}
.repositoryInfo .wrapperCollapsed {
width: 90%;
}
.repositoryInfo .wrapperWithCheckBox {
width: 5%;
}
}
.login .grid-container {

View File

@ -1,6 +1,6 @@
{
"version": 3,
"mappings": "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",
"mappings": "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",
"sources": [
"style.sass",
"_variables.sass",