import React, { useEffect } from 'react'; import { Droppable } from '@kanaries/react-beautiful-dnd'; import { useTranslation } from 'react-i18next'; import DimFields from './dimFields'; import MeaFields from './meaFields'; import { refMapper } from '../fieldsContext'; import { useVizStore } from '../../store'; const DatasetFields: React.FC = (props) => { const { t } = useTranslation('translation', { keyPrefix: 'main.tabpanel.DatasetFields' }); const vizStore = useVizStore(); useEffect(() => { const onKeyDown = (e: KeyboardEvent) => { if (e.key === 'Escape') { vizStore.clearFieldSelection(); } }; document.addEventListener('keydown', onKeyDown); return () => document.removeEventListener('keydown', onKeyDown); }, [vizStore]); return (
{ // clicking blank space (not a field pill) drops the selection if (!(e.target as HTMLElement).closest('[data-field-pill]')) { vizStore.clearFieldSelection(); } }} >

{t('field_list')}

{(provided, snapshot) => (
)}
{(provided, snapshot) => (
)}
); }; export default DatasetFields;