85 lines
2.3 KiB
JavaScript
85 lines
2.3 KiB
JavaScript
import React from "react";
|
|
import Card from "@mui/material/Card";
|
|
import { Typography } from "@mui/material";
|
|
import List from '@mui/material/List';
|
|
import ListItem from '@mui/material/ListItem';
|
|
import ListItemButton from '@mui/material/ListItemButton';
|
|
import ListItemIcon from '@mui/material/ListItemIcon';
|
|
import ListItemText from '@mui/material/ListItemText';
|
|
import Checkbox from '@mui/material/Checkbox';
|
|
import IconButton from '@mui/material/IconButton';
|
|
import CommentIcon from '@mui/icons-material/Comment';
|
|
|
|
export default function ListControls() {
|
|
|
|
const [checked, setChecked] = React.useState([0]);
|
|
|
|
const handleToggle = (value) => () => {
|
|
const currentIndex = checked.indexOf(value);
|
|
const newChecked = [...checked];
|
|
|
|
if (currentIndex === -1) {
|
|
newChecked.push(value);
|
|
} else {
|
|
newChecked.splice(currentIndex, 1);
|
|
}
|
|
|
|
setChecked(newChecked);
|
|
};
|
|
|
|
return (
|
|
<>
|
|
<Card
|
|
sx={{
|
|
boxShadow: "none",
|
|
borderRadius: "10px",
|
|
p: "25px",
|
|
mb: "15px",
|
|
}}
|
|
>
|
|
<Typography
|
|
as="h3"
|
|
sx={{
|
|
fontSize: 18,
|
|
fontWeight: 500,
|
|
mb: '10px'
|
|
}}
|
|
>
|
|
List Controls
|
|
</Typography>
|
|
|
|
<List sx={{ width: '100%', maxWidth: 360 }}>
|
|
{[0, 1, 2, 3].map((value) => {
|
|
const labelId = `checkbox-list-label-${value}`;
|
|
|
|
return (
|
|
<ListItem
|
|
key={value}
|
|
secondaryAction={
|
|
<IconButton edge="end" aria-label="comments">
|
|
<CommentIcon />
|
|
</IconButton>
|
|
}
|
|
disablePadding
|
|
>
|
|
<ListItemButton role={undefined} onClick={handleToggle(value)} dense>
|
|
<ListItemIcon>
|
|
<Checkbox
|
|
edge="start"
|
|
checked={checked.indexOf(value) !== -1}
|
|
tabIndex={-1}
|
|
disableRipple
|
|
inputProps={{ 'aria-labelledby': labelId }}
|
|
/>
|
|
</ListItemIcon>
|
|
<ListItemText id={labelId} primary={`Line item ${value + 1}`} />
|
|
</ListItemButton>
|
|
</ListItem>
|
|
);
|
|
})}
|
|
</List>
|
|
</Card>
|
|
</>
|
|
);
|
|
}
|