import React, { FC, useState, useCallback, useEffect, } from 'react'; import { useTranslation } from 'react-i18next'; type Props = { dropdownLabel: string dropdownItemList: string[] onCheckItem: (items: string[]) => void } export const SelectQueryItemsDropdown: FC = (props: Props) => { const { t } = useTranslation(); const { dropdownLabel, dropdownItemList, onCheckItem } = props; const [checkedItems, setCheckedItems] = useState(dropdownItemList); const handleChange = useCallback((checkedItem: string) => { setCheckedItems( checkedItems.includes(checkedItem) ? checkedItems.filter(item => item !== checkedItem) : [...checkedItems, checkedItem], ); }, [checkedItems]); useEffect(() => { if (onCheckItem != null) { onCheckItem(checkedItems); } }, [onCheckItem, checkedItems]); return (
    { dropdownItemList.map(item => (
    { handleChange(item) }} checked={checkedItems.includes(item)} />
    )) }
); };