import React, { useState } from 'react'; import { Task } from '../data/schema'; import { priorities, statuses } from '../data/data'; interface DataTableToolbarProps { onFilter: (filteredData: Task[]) => void; data: Task[]; } export const DataTableToolbar: React.FC = ({ onFilter, data }) => { const [searchText, setSearchText] = useState(''); const [statusFilter, setStatusFilter] = useState([]); const [priorityFilter, setPriorityFilter] = useState([]); const applyFilters = () => { const filteredData = data.filter(task => { const matchesSearch = task.title.toLowerCase().includes(searchText.toLowerCase()); const matchesStatus = statusFilter.length === 0 || statusFilter.includes(task.status); const matchesPriority = priorityFilter.length === 0 || priorityFilter.includes(task.priority); return matchesSearch && matchesStatus && matchesPriority; }); onFilter(filteredData); }; const toggleFilter = (filter: string[], value: string, setFilter: (filter: string[]) => void) => { const newFilter = filter.includes(value) ? filter.filter(f => f !== value) : [...filter, value]; setFilter(newFilter); applyFilters(); }; return (
{ setSearchText(e.target.value); applyFilters(); }} />
{statuses.map((status) => ( ))}
{priorities.map((priority) => ( ))}
); };