UNPKG

choerodon-ui

Version:

An enterprise-class UI design language and React-based implementation

66 lines (65 loc) 2.11 kB
import * as React from 'react'; import TableContext from './TableContext'; import { TableScrollLength } from './Table'; export interface ScrollbarProps { vertical?: boolean; length: number; scrollLength: number; scrollBarOffset: number; className?: string; classPrefix?: string; tableId?: string; onScroll?: (delta: number, event: React.MouseEvent) => void; onMouseDown?: (event: React.MouseEvent) => void; clickScrollLength: TableScrollLength; showScrollArrow?: boolean; [key: string]: any; } declare type Offset = { top: number; left: number; height?: number; width?: number; }; declare type State = { barOffset: Offset; handlePressed: boolean; }; declare class Scrollbar extends React.PureComponent<ScrollbarProps, State> { static get contextType(): typeof TableContext; static defaultProps: { classPrefix: string; scrollLength: number; length: number; }; scrollOffset: number; mouseMoveTracker: null; handleRef: React.RefObject<HTMLDivElement>; barRef: React.RefObject<HTMLDivElement>; constructor(props: ScrollbarProps); componentDidMount(): void; componentDidUpdate(prevProps: any): void; componentWillUnmount(): void; onWheelScroll(delta: number): void; getMouseMoveTracker(): any; initBarOffset(): void; handleMouseDown: (event: React.MouseEvent<Element, MouseEvent>) => void; handleDragEnd: () => void; handleScroll(delta: number, event: React.MouseEvent): void; resetScrollBarPosition(forceDelta?: number): void; updateScrollBarPosition(delta: number, forceDelta?: number): void; releaseMouseMoves(): void; handleDragMove: (deltaX: number, deltaY: number, event: React.MouseEvent<Element, MouseEvent>) => void; /** * 点击滚动条,然后滚动到指定位置 */ handleClick: (event: React.MouseEvent<Element, MouseEvent>) => void; /** * * @param e * @param sort */ handleArrowClick: (e: any, sort: any) => void; render(): JSX.Element; } export default Scrollbar;