import { JSX, Show } from 'solid-js' import styles from '../styles/Table.module.css' export interface TableControlsProps { onRefresh?: () => void isLoading?: boolean children?: JSX.Element actions?: JSX.Element searchValue?: string onSearchChange?: (value: string) => void onSearch?: () => void searchPlaceholder?: string } /** * Компонент для унифицированного управления таблицами * Содержит элементы управления сортировкой, фильтрацией и действиями */ const TableControls = (props: TableControlsProps) => { return (
{/* Поиск и действия в одной строке */}
props.onSearchChange?.(e.currentTarget.value)} onKeyDown={(e) => { if (e.key === 'Enter' && props.onSearch) { props.onSearch() } }} class={styles.searchInput} />
{/* Действия справа от поиска */}
{props.actions}
{/* Дополнительные элементы управления */} {props.children}
) } export default TableControls