import type {ChangeEvent} from 'react' import {SearchBar} from "./SearchBar.tsx"; import type {SearchParams} from "../../type/searchParams.ts"; import {PageSizeSelector} from "./pagination/PageSizeSelector.tsx"; import type {SearchModel} from "../../type/viewModel.ts"; interface ListSearchFormProps extends SearchModel { totalLabel?: string; } export function ListSearchForm({ totalItems, searchParams, onChange, searchOptions, pageSizeOptions, totalLabel, }: ListSearchFormProps) { const handleChange = ( name: string, value: string ) => { onChange({ ...searchParams, [name]: value, pageIndex: 1, }); }; const handlePageChange = (event: ChangeEvent) => { const {name, value} = event.target onChange({ ...searchParams, [name]: Number(value), pageIndex: 1, }) } return (

{totalLabel} {totalItems}

{ pageSizeOptions && pageSizeOptions.length > 0 && ( ) }
) }