mirror of
https://github.com/portainer/portainer.git
synced 2025-07-20 13:59:40 +02:00
* fix(container): show placeholder for image field EE-6287 * fix(container): correct query params for search button field EE-6287 * fix(container): use btoa to encode registry credential EE-6287 * fix(container): allow creating non-existing option EE-6287 * fix(ui/forms): typeahead component * fix(container): select the default registry EE-6287 * fix(container): always enable deploy button when always pull is off EE-6287 * fix(container): reset command fields outside current event to avoid validation on broken values EE-6287 * fix(container): query registry with endpoint ID param EE-6287 --------- Co-authored-by: Chaim Lev-Ari <chaim.levi-ari@portainer.io>
39 lines
873 B
TypeScript
39 lines
873 B
TypeScript
import { useMemo } from 'react';
|
|
|
|
import { AutomationTestingProps } from '@/types';
|
|
|
|
import { AutocompleteSelect } from '@@/form-components/AutocompleteSelect';
|
|
import { Option } from '@@/form-components/PortainerSelect';
|
|
|
|
export function InputSearch({
|
|
value,
|
|
onChange,
|
|
options,
|
|
placeholder,
|
|
inputId,
|
|
}: {
|
|
value: string;
|
|
onChange: (value: string) => void;
|
|
options: Option<string>[];
|
|
placeholder?: string;
|
|
inputId: string;
|
|
} & AutomationTestingProps) {
|
|
const searchResults = useMemo(() => {
|
|
if (!value) {
|
|
return [];
|
|
}
|
|
return options.filter((option) =>
|
|
option.value.toLowerCase().includes(value.toLowerCase())
|
|
);
|
|
}, [options, value]);
|
|
|
|
return (
|
|
<AutocompleteSelect
|
|
searchResults={searchResults}
|
|
value={value}
|
|
onChange={onChange}
|
|
placeholder={placeholder}
|
|
inputId={inputId}
|
|
/>
|
|
);
|
|
}
|