/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0 */ import { DeaUser } from '@aws/dea-app/lib/models/user'; import { Autosuggest, Button, Form, FormField, Grid, Icon, Popover, TextContent, } from '@cloudscape-design/components'; import { useState } from 'react'; import { useGetUsers } from '../../api/cases'; import { commonLabels, manageCaseAccessLabels } from '../../common/labels'; export interface ManageAccessSearchUserFormProps { readonly onChange: (user: DeaUser) => void; } function ManageAccessSearchUserForm(props: ManageAccessSearchUserFormProps): JSX.Element { const { onChange } = props; const [filteringText, setFilteringText] = useState(''); const [value, setValue] = useState(''); const [selected, setSelected] = useState(''); const { data, isLoading } = useGetUsers(filteringText); function handleLoadItems(event: { detail: { filteringText: string; firstPage: boolean; samePage: boolean }; }) { if (isLoading) { // there is another request in progress, discard this request. return; } setFilteringText(event.detail.filteringText); } function onSubmitHandler() { const user = data.find((user) => `${user.firstName} ${user.lastName}` === value); if (user) { onChange(user); setValue(''); } } return (
); } export default ManageAccessSearchUserForm;