import React from "react"; import { PaginationWrapper, TableHeaderWrapper, PaginationItemWrapper, CommonFunctionsMenuWrapper, } from "./TableStyledWrappers"; import { Icon } from "@blueprintjs/core"; import SearchComponent from "components/designSystems/appsmith/SearchComponent"; import TableColumnsVisibility from "components/designSystems/appsmith/TableColumnsVisibility"; import { ReactTableColumnProps } from "components/designSystems/appsmith/ReactTableComponent"; interface TableHeaderProps { updatePageNo: Function; nextPageClick: () => void; prevPageClick: () => void; pageNo: number; pageCount: number; currentPageIndex: number; pageOptions: number[]; columns: ReactTableColumnProps[]; hiddenColumns?: string[]; updateHiddenColumns: (hiddenColumns?: string[]) => void; searchKey: string; searchTableData: (searchKey: any) => void; serverSidePaginationEnabled: boolean; } const TableHeader = (props: TableHeaderProps) => { return ( {props.serverSidePaginationEnabled && ( { props.prevPageClick(); }} > {props.pageNo + 1} { props.nextPageClick(); }} > )} {!props.serverSidePaginationEnabled && ( { const pageNo = props.currentPageIndex > 0 ? props.currentPageIndex - 1 : 0; props.updatePageNo(pageNo + 1); }} > {props.pageOptions.map((pageNumber: number, index: number) => { return ( { props.updatePageNo(pageNumber + 1); }} className="page-item" > {index + 1} ); })} { const pageNo = props.currentPageIndex < props.pageCount - 1 ? props.currentPageIndex + 1 : 0; props.updatePageNo(pageNo + 1); }} > )} ); }; export default TableHeader;