"use client"; import type { DataTableFilterableColumn, DataTableSearchableColumn, } from "@/types"; import { Cross2Icon } from "@radix-ui/react-icons"; import type { Table } from "@tanstack/react-table"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { DataTableFacetedFilter } from "@/components/task-table/data-table-faceted-filter"; import { DataTableViewOptions } from "@/components/task-table/data-table-view-options"; interface DataTableToolbarProps { table: Table; filterableColumns?: DataTableFilterableColumn[]; searchableColumns?: DataTableSearchableColumn[]; } export function DataTableToolbar({ table, filterableColumns = [], searchableColumns = [], }: DataTableToolbarProps) { const isFiltered = table.getState().columnFilters.length > 0; return (
{searchableColumns.length > 0 && searchableColumns.map( (column) => table.getColumn(column.id ? String(column.id) : "") && ( table .getColumn(String(column.id)) ?.setFilterValue(event.target.value) } className="h-8 w-[150px] lg:w-[250px]" /> ) )} {filterableColumns.length > 0 && filterableColumns.map( (column) => table.getColumn(column.id ? String(column.id) : "") && ( ) )} {isFiltered && ( )}
); }