feat: Add autofocus to the search field
This commit is contained in:
parent
feeb07c542
commit
aba3626b7d
@ -9,7 +9,6 @@ import TextField from "@material-ui/core/TextField";
|
||||
import Dialog from "@material-ui/core/Dialog";
|
||||
import DialogTitle from "@material-ui/core/DialogTitle";
|
||||
import DialogContent from "@material-ui/core/DialogContent";
|
||||
/* import DialogContentText from "@material-ui/core/DialogContentText"; */
|
||||
import DialogActions from "@material-ui/core/DialogActions";
|
||||
|
||||
import SearchIcon from "@material-ui/icons/Search";
|
||||
@ -35,8 +34,16 @@ interface IProps {
|
||||
export default class VocabPage extends React.Component<IProps> {
|
||||
// Internal counter for dynmic children
|
||||
private uid = 0;
|
||||
genUID = () => {
|
||||
return `VOCABPAGE-${this.uid++}`;
|
||||
// Mapping Vocab ID -> React Key
|
||||
private uids: { [id: number]: string } = {};
|
||||
|
||||
// @vid: The vocabulary ID of the child
|
||||
genUID = (vid: number) => {
|
||||
if (!(vid in this.uids)) {
|
||||
this.uids[vid] = `VOCABPAGE-${this.uid++}`;
|
||||
}
|
||||
|
||||
return this.uids[vid];
|
||||
}
|
||||
|
||||
componentDidMount() {
|
||||
@ -79,7 +86,7 @@ export default class VocabPage extends React.Component<IProps> {
|
||||
[VocabType.ADVERB]: "Adverb",
|
||||
};
|
||||
|
||||
return <Paper key={this.genUID()} style={{ marginBottom: 12, padding: 12 }}>
|
||||
return <Paper key={this.genUID(voc.id)} style={{ marginBottom: 12, padding: 12 }}>
|
||||
<Typography gutterBottom variant="headline" component="h2">
|
||||
{`${voc.latin.grundform} (${vocabTypeToStr[voc.type]})`}
|
||||
</Typography>
|
||||
@ -137,7 +144,10 @@ export default class VocabPage extends React.Component<IProps> {
|
||||
helperText="Suche nach Vokabeln"
|
||||
onKeyPress={onEnter}
|
||||
value={this.props.searchTerm}
|
||||
onChange={(event) => this.props.setSearchTerm(event.target.value)} />
|
||||
onChange={(event) => this.props.setSearchTerm(event.target.value)}
|
||||
inputProps={{
|
||||
autoFocus: "autofocus",
|
||||
}} />
|
||||
</DialogContent>
|
||||
<DialogActions>
|
||||
<Button onClick={this.applySearchFilter} color="primary">
|
||||
|
Reference in New Issue
Block a user