Can attach multiple inbox entries to movements at once
This commit is contained in:
31
moneymgr_web/src/widgets/forms/MovementSelect.tsx
Normal file
31
moneymgr_web/src/widgets/forms/MovementSelect.tsx
Normal file
@ -0,0 +1,31 @@
|
||||
import { MenuItem, Select, SelectChangeEvent } from "@mui/material";
|
||||
import { Movement } from "../../api/MovementsApi";
|
||||
import { MovementWidget } from "../MovementWidget";
|
||||
|
||||
export function MovementSelect(p: {
|
||||
list: Movement[];
|
||||
value: Movement | undefined;
|
||||
onChange: (value: Movement | undefined) => void;
|
||||
}): React.ReactElement {
|
||||
const handleChange = (event: SelectChangeEvent) => {
|
||||
if (!event.target.value) {
|
||||
p.onChange(undefined);
|
||||
return;
|
||||
}
|
||||
const id = Number(event.target.value);
|
||||
p.onChange(p.list.find((m) => m.id === id));
|
||||
};
|
||||
|
||||
return (
|
||||
<Select value={p.value?.id.toString()} onChange={handleChange}>
|
||||
<MenuItem value={undefined}>
|
||||
<i>None</i>
|
||||
</MenuItem>
|
||||
{p.list.map((l) => (
|
||||
<MenuItem key={l.id} value={l.id.toString()}>
|
||||
<MovementWidget movement={l} />
|
||||
</MenuItem>
|
||||
))}
|
||||
</Select>
|
||||
);
|
||||
}
|
Reference in New Issue
Block a user