DRY - PeopleSearch onKeyDown: handleEnterKey
This commit is contained in:
@@ -1,6 +1,10 @@
|
|||||||
import { useEffect, useState } from "react";
|
import { useEffect, useState } from "react";
|
||||||
import { userAttendee } from "../../features/User/userDataTypes";
|
import { userAttendee } from "../../features/User/userDataTypes";
|
||||||
import { PeopleSearch, User, ExtendedAutocompleteRenderInputParams } from "./PeopleSearch";
|
import {
|
||||||
|
PeopleSearch,
|
||||||
|
User,
|
||||||
|
ExtendedAutocompleteRenderInputParams,
|
||||||
|
} from "./PeopleSearch";
|
||||||
|
|
||||||
export default function UserSearch({
|
export default function UserSearch({
|
||||||
attendees,
|
attendees,
|
||||||
@@ -11,7 +15,9 @@ export default function UserSearch({
|
|||||||
attendees: userAttendee[];
|
attendees: userAttendee[];
|
||||||
setAttendees: Function;
|
setAttendees: Function;
|
||||||
disabled?: boolean;
|
disabled?: boolean;
|
||||||
inputSlot?: (params: ExtendedAutocompleteRenderInputParams) => React.ReactNode;
|
inputSlot?: (
|
||||||
|
params: ExtendedAutocompleteRenderInputParams
|
||||||
|
) => React.ReactNode;
|
||||||
}) {
|
}) {
|
||||||
const [selectedUsers, setSelectedUsers] = useState(
|
const [selectedUsers, setSelectedUsers] = useState(
|
||||||
attendees.map((a) => ({
|
attendees.map((a) => ({
|
||||||
|
|||||||
@@ -191,17 +191,19 @@ export function PeopleSearch({
|
|||||||
const { InputProps, ...enhancedParams } =
|
const { InputProps, ...enhancedParams } =
|
||||||
enhancedParamsWithInputProps;
|
enhancedParamsWithInputProps;
|
||||||
|
|
||||||
|
const handleEnterKey = (e: React.KeyboardEvent<HTMLInputElement>) => {
|
||||||
|
if (e.key === "Enter" && onToggleEventPreview) {
|
||||||
|
e.preventDefault();
|
||||||
|
onToggleEventPreview();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
const defaultTextFieldProps = {
|
const defaultTextFieldProps = {
|
||||||
error: !!inputError,
|
error: !!inputError,
|
||||||
helperText: inputError,
|
helperText: inputError,
|
||||||
placeholder: searchPlaceholder,
|
placeholder: searchPlaceholder,
|
||||||
label: "",
|
label: "",
|
||||||
onKeyDown: (e: React.KeyboardEvent<HTMLInputElement>) => {
|
onKeyDown: handleEnterKey,
|
||||||
if (e.key === "Enter" && onToggleEventPreview) {
|
|
||||||
e.preventDefault();
|
|
||||||
onToggleEventPreview();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
slotProps: {
|
slotProps: {
|
||||||
input: {
|
input: {
|
||||||
...inputProps,
|
...inputProps,
|
||||||
@@ -221,12 +223,7 @@ export function PeopleSearch({
|
|||||||
helperText: inputError,
|
helperText: inputError,
|
||||||
placeholder: searchPlaceholder,
|
placeholder: searchPlaceholder,
|
||||||
label: "",
|
label: "",
|
||||||
onKeyDown: (e: React.KeyboardEvent<HTMLInputElement>) => {
|
onKeyDown: handleEnterKey,
|
||||||
if (e.key === "Enter" && onToggleEventPreview) {
|
|
||||||
e.preventDefault();
|
|
||||||
onToggleEventPreview();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
})}
|
})}
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user