UNPKG

@seasketch/geoprocessing

Version:

Geoprocessing and reporting framework for SeaSketch 2.0

31 lines (30 loc) 1.56 kB
import React, { ReactElement } from "react"; import { TableOptions } from "./Table.js"; /** Custom table data filter */ export interface FilterSelectOption<D extends object = {}> { /** The label displayed for the select filter */ name: string; /** Whether to select by default */ defaultValue: boolean; /** The function used to filter the set. */ filterFn: (row: D) => boolean; } /** Custom table data filters that are only active when selected by the user */ export interface FilterSelect<D extends object = {}> { /** Filter a row if `every` selected filter function returns true (logical AND), or at least `some` (logical OR) */ type?: "every" | "some"; /** filter functions called for every data row */ filters: FilterSelectOption<D>[]; filterPosition?: "top" | "bottom"; } export declare const FilterSelectTableStyled: import("styled-components/dist/types.js").IStyledComponentBase<"web", import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string; export interface FilterSelectTableOptions<D extends object = {}> extends TableOptions<D> { filterSelect: FilterSelect<D>; } /** * Table with customizable filter functions as CheckboxGroup that when selected * filter the rows if the function return true. By default only 'some' filter function * has to match for it to filter the row */ export declare function FilterSelectTable<D extends object>(props: FilterSelectTableOptions<D>): ReactElement; export default FilterSelectTable;