@ansible/ansible-ui-framework
Version:
A framework for building applications using PatternFly.
48 lines (47 loc) • 1.88 kB
TypeScript
import { PerPageOptions } from '@patternfly/react-core';
import React, { Dispatch, SetStateAction } from 'react';
import { IPageAction } from '../PageActions/PageAction';
import { PageTableViewType } from './PageTableViewType';
import './PageToolbar.css';
import { IFilterState, IToolbarFilter } from './PageToolbarFilter';
import { PageTableSortOption } from './PageToolbarSort';
export type PageToolbarProps<T extends object> = {
localStorageKey?: string;
openColumnModal?: () => void;
keyFn: (item: T) => string | number;
itemCount?: number;
toolbarActions?: IPageAction<T>[];
toolbarFilters?: IToolbarFilter[];
filterState?: IFilterState;
setFilterState?: Dispatch<SetStateAction<IFilterState>>;
clearAllFilters?: () => void;
page?: number;
perPage?: number;
setPage?: (page: number) => void;
setPerPage?: (perPage: number) => void;
perPageOptions?: PerPageOptions[];
isSelected?: (item: T) => boolean;
selectedItems?: T[];
selectItem?: (item: T) => void;
unselectItem?: (item: T) => void;
selectItems?: (items: T[]) => void;
unselectAll?: () => void;
onSelect?: (item: T) => void;
showSelect?: boolean;
sort?: string;
setSort?: (sort: string) => void;
sortDirection?: 'asc' | 'desc';
setSortDirection?: (sortDirection: 'asc' | 'desc') => void;
viewType?: PageTableViewType;
setViewType?: (viewType: PageTableViewType) => void;
disableTableView?: boolean;
disableListView?: boolean;
disableCardView?: boolean;
disablePagination?: boolean;
autoHidePagination?: boolean;
sortOptions?: PageTableSortOption[];
maxSelections?: number;
toolbarContent?: React.ReactNode;
limitFiltersToOneOrOperation?: boolean;
};
export declare function PageToolbar<T extends object>(props: PageToolbarProps<T>): import("react/jsx-runtime").JSX.Element;