/** * Copyright © INOVUA TRADING. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ import React, { RefObject } from 'react'; import PropTypes from 'prop-types'; import getCellHeader from './getCellHeader'; import { FunctionNotifier } from '../../../../utils/notifier'; export { getCellHeader }; export declare const getParentGroups: (groupName: string, groups: any, { includeSelf }?: { includeSelf: boolean; }) => any[]; type TypeHeaderProps = { notifyColumnFilterVisibleStateChange: FunctionNotifier; } | any; type TypeHeaderState = { children?: any[]; }; export default class InovuaDataGridHeader extends React.Component { static defaultProps: { onResize: () => void; showWarnings: boolean; }; static propTypes: { availableWidth: PropTypes.Requireable; columnHeaderUserSelect: PropTypes.Requireable; columnRenderCount: PropTypes.Requireable; columnResizeHandleWidth: PropTypes.Requireable>; columnUserSelect: PropTypes.Requireable; columns: PropTypes.Requireable; columnsMap: PropTypes.Requireable; lockedStartColumns: PropTypes.Requireable; unlockedColumns: PropTypes.Requireable; lockedEndColumns: PropTypes.Requireable; deselectAll: PropTypes.Requireable<(...args: any[]) => any>; notifyColumnFilterVisibleStateChange: PropTypes.Requireable<(...args: any[]) => any>; firstLockedEndIndex: PropTypes.Requireable; firstLockedStartIndex: PropTypes.Requireable; isMultiSort: PropTypes.Requireable; onGroupMouseDown: PropTypes.Requireable<(...args: any[]) => any>; onResizeMouseDown: PropTypes.Requireable<(...args: any[]) => any>; onResizeTouchStart: PropTypes.Requireable<(...args: any[]) => any>; resizable: PropTypes.Requireable; resizeProxyStyle: PropTypes.Requireable; scrollbarWidth: PropTypes.Requireable; selectAll: PropTypes.Requireable<(...args: any[]) => any>; selectedCount: PropTypes.Requireable; sortInfo: PropTypes.Requireable; sortable: PropTypes.Requireable; totalCount: PropTypes.Requireable; unselectedCount: PropTypes.Requireable; virtualListBorderLeft: PropTypes.Requireable; virtualListBorderRight: PropTypes.Requireable; nativeScroll: PropTypes.Requireable; computedShowHeaderBorderRight: PropTypes.Requireable; hasLockedEnd: PropTypes.Requireable; hasLockedStart: PropTypes.Requireable; showColumnContextMenu: PropTypes.Requireable<(...args: any[]) => any>; showColumnFilterContextMenu: PropTypes.Requireable<(...args: any[]) => any>; hideColumnFilterContextMenu: PropTypes.Requireable<(...args: any[]) => any>; onColumnHeaderFocus: PropTypes.Requireable<(...args: any[]) => any>; showColumnMenuTool: PropTypes.Requireable; showColumnMenuToolOnHover: PropTypes.Requireable; firstUnlockedIndex: PropTypes.Requireable; lockedRows: PropTypes.Requireable; i18n: PropTypes.Requireable; filterable: PropTypes.Requireable; filterTypes: PropTypes.Requireable; computedGroupsDepth: PropTypes.Requireable; computedGroupsMap: PropTypes.Requireable<{ [x: string]: PropTypes.InferProps<{ name: PropTypes.Validator; }> | null | undefined; }>; headerHeight: PropTypes.Requireable; maxWidth: PropTypes.Requireable; renderSortTool: PropTypes.Requireable<(...args: any[]) => any>; minWidth: PropTypes.Requireable; onCellMouseDown: PropTypes.Requireable<(...args: any[]) => any>; onCellTouchStart: PropTypes.Requireable<(...args: any[]) => any>; onCellClick: PropTypes.Requireable<(...args: any[]) => any>; computedOnColumnFilterValueChange: PropTypes.Requireable<(...args: any[]) => any>; onSortClick: PropTypes.Requireable<(...args: any[]) => any>; onResize: PropTypes.Requireable<(...args: any[]) => any>; scrollLeft: PropTypes.Requireable; showWarnings: PropTypes.Requireable; unselected: PropTypes.Requireable; virtualizeColumns: PropTypes.Requireable; width: PropTypes.Requireable; updateLockedWrapperPositions: PropTypes.Requireable<(...args: any[]) => any>; lastLockedEndIndex: PropTypes.Requireable; lastLockedStartIndex: PropTypes.Requireable; lastUnlockedIndex: PropTypes.Requireable; getScrollLeftMax: PropTypes.Requireable<(...args: any[]) => any>; rtl: PropTypes.Requireable; renderLockedEndCells: PropTypes.Requireable<(...args: any[]) => any>; renderLockedStartCells: PropTypes.Requireable<(...args: any[]) => any>; renderInPortal: PropTypes.Requireable; onFilterValueChange: PropTypes.Requireable<(...args: any[]) => any>; setScrollLeft: PropTypes.Requireable<(...args: any[]) => any>; sortedColumnsInfo: PropTypes.Requireable; renderMenuTool: PropTypes.Requireable<(...args: any[]) => any>; columnHoverClassName: PropTypes.Requireable; onColumnMouseEnter: PropTypes.Requireable<(...args: any[]) => any>; onColumnMouseLeave: PropTypes.Requireable<(...args: any[]) => any>; columnIndexHovered: PropTypes.Requireable; enableColumnFilterContextMenu: PropTypes.Requireable; computedEnableColumnHover: PropTypes.Requireable; renderRowDetailsMoreIcon: PropTypes.Requireable<(...args: any[]) => any>; hideColumnContextMenu: PropTypes.Requireable<(...args: any[]) => any>; updateMenuPosition: PropTypes.Requireable<(...args: any[]) => any>; computedFilterable: PropTypes.Requireable; filterRowHeight: PropTypes.Requireable; }; domRef: string | ((instance: HTMLDivElement | null) => void) | RefObject | null | undefined; unlockedCells: any; cells: any[] | null; columnRenderStartIndex?: number; scrollLeft: number; startIndex: number; endIndex: number; constructor(props: TypeHeaderProps); componentWillUnmount(): void; componentDidUpdate: (prevProps: TypeHeaderProps) => void; onCellMount: (cellProps: any, c: any) => void; onCellUnmount: (cellProps: any, cell: any) => void; findCellById: (cellId: string, cellsArray?: any) => any; getCells: () => any[]; getGroupsAndCells: () => any[]; setCellIndex: (cell: any, index: number) => void; getCellIndex: (cell: any) => any; sortCells: (cells: any[]) => any[]; getUnlockedCells: (thisProps?: Readonly & Readonly<{ children?: React.ReactNode; }>) => any[]; getSortedCells: () => any[]; getGaps: (startIndex: number, endIndex: number) => number[]; setColumnRenderStartIndex: (columnRenderStartIndex: number) => void; getColumnRenderRange: () => { start: any; end: any; } | null; prepareStyle: (props: TypeHeaderProps) => any; getDOMNode(): any; notifyScrollLeftMax: (scrollLeftMax: number) => void; setScrollLeft: (scrollLeft: number, scrollLeftMax?: number) => void; maybeUpdateColumns: () => void; updateColumns: () => void; render(): JSX.Element; onFocus: (event: MouseEvent) => void; getPropsForCells: (startIndex?: any, endIndex?: any) => any; onHeaderCellFocus: (headerCellProps: any, column: any, e: MouseEvent) => void; onTransitionEnd: (cellProps: any, column: any, e: MouseEvent) => void; onCellMouseDown: (headerCellProps: any, event: MouseEvent) => void; onCellTouchStart: (headerCellProps: any, event: MouseEvent) => void; renderColumns: () => any; getCellDOMNodeAt: (index: number) => any; renderHeaderGroup: (groupName: string, groupItems: any, _?: any) => JSX.Element; onResizeMouseDown: (groupProps: any, headerGroupInstance: any, event: any) => void; onResizeTouchStart: (groupProps: any, headerGroupInstance: any, event: any) => void; getItemsForDepth: (items: { props: any; }[], depth: string) => any[]; renderItems: (items: any) => any; groupItemsForDepth: (items: any, depth: any) => any; getItemGroupName: (item: any) => any; fixDepth: (item: any, depthDiff: any) => any; renderGroupedCells: (cellProps: any[]) => any; onFilterValueChange: (filterValue: any, cellProps: any) => void; warn: (msg: string) => void; }