Server IP : 192.158.238.246 / Your IP : 3.22.41.47 Web Server : LiteSpeed System : Linux uniform.iwebfusion.net 4.18.0-553.27.1.lve.1.el8.x86_64 #1 SMP Wed Nov 20 15:58:00 UTC 2024 x86_64 User : jenniferflocom ( 1321) PHP Version : 8.1.32 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/7779/task/7779/cwd/plugins/give/src/Views/Components/ListTable/FormSelect/ |
Upload File : |
import styles from './FormSelect.module.scss'; import cx from 'classnames'; import Input from '@givewp/components/ListTable/Input'; export const FormSelect = ({options, name, placeholder = '', ariaLabel = '', onChange, ...rest}) => { return ( <> <Input type="search" className={cx(styles.formSelect)} list={`giveSearchSelect-${name}`} onChange={updateSearchableSelect(options, name, onChange)} autoComplete={'off'} aria-label={ariaLabel} placeholder={placeholder} {...rest} /> <datalist id={`giveSearchSelect-${name}`} onChange={onChange}> {options.map(({value, text}) => ( <option key={`${value}${text}`} value={value === '0' ? text : `${text} (#${value})`} /> ))} </datalist> </> ); }; const updateSearchableSelect = (options, name, onChange) => { return (event) => { if (event.target.value === '') { onChange(name, 0); } const selectedIndex = options.findIndex((option) => { return event.target.value.endsWith(`(#${option.value})`); }); if (selectedIndex > -1) { onChange(name, options[selectedIndex].value); } }; };