CEC-3514-add-select-all (#295)

This commit is contained in:
das31
2023-03-17 18:46:41 -04:00
committed by GitHub
parent a4e774c8d4
commit a9b040f345

View File

@@ -72,9 +72,19 @@ const MainForm = ({ id }) => {
};
const handleSelectedItemsChange = (event) => {
setSelectedCanSignals(event.target.value);
const { value } = event.target;
if (value.some(item => item === "Select All")) {
if (selectedCanSignals.length === canSignals.length) {
setSelectedCanSignals([]);
} else {
setSelectedCanSignals(canSignals.map(signal => signal.signal_name));
}
} else {
setSelectedCanSignals(value);
}
};
return (
<div className={classes.paper}>
<Grid container spacing={3} justifyContent="center">
@@ -146,7 +156,7 @@ const MainForm = ({ id }) => {
</Grid>
<Grid item xs={12}>
<FormControl fullWidth required>
<InputLabel id="select-can-signals-label">Select CAN signals</InputLabel>
<InputLabel id="select-can-signals-label">Select CAN signals</InputLabel>
<Select
labelId="select-can-signals-label"
id="select-can-signals"
@@ -163,6 +173,10 @@ const MainForm = ({ id }) => {
</div>
)}
>
<MenuItem value="Select All">
<Checkbox checked={selectedCanSignals.length === canSignals.length} />
<ListItemText primary="Select All" />
</MenuItem>
{canSignals.map((signal) => (
<MenuItem key={signal.signal_name} value={signal.signal_name}>
<Checkbox checked={selectedCanSignals.indexOf(signal.signal_name) > -1} />