UNPKG

@progress/kendo-react-grid

Version:
86 lines (85 loc) 2.4 kB
import * as React from 'react'; import { SortDescriptor } from '@progress/kendo-data-query'; import { GridColumnMenuSortBaseProps } from '../interfaces/GridColumnMenuSortBaseProps'; /** * The props of the GridColumnMenuSort component. */ export interface GridColumnMenuSortProps extends GridColumnMenuSortBaseProps { } /** * @example * ```jsx * class ColumnMenu extends React.Component { * render() { * return ( * <div> * <GridColumnMenuSort {...this.props} /> * </div>); * } * } * * class App extends React.PureComponent { * constructor(props) { * super(props); * * this.state = this.createAppState({ * take: 10, * skip: 0 * }); * } * * createAppState(dataState) { * return { * result: process(products.slice(0), dataState), * dataState: dataState * }; * } * * dataStateChange = (event) => { * this.setState(this.createAppState(event.data)); * } * * render() { * return ( * <div> * <Grid * data={this.state.result} * {...this.state.dataState} * onDataStateChange={this.dataStateChange} * sortable={true} * pageable={true} * > * <Column field="ProductID" title="Product ID" columnMenu={ColumnMenu}/> * <Column field="ProductName" /> * </Grid> * <br /> * </div> * ); * } * } * * ReactDOM.render(<App />, document.querySelector('my-app')); * ``` */ export declare class GridColumnMenuSort extends React.Component<GridColumnMenuSortProps, {}> { /** * Can be used to check if sorting is applied to a specific field ([see example]({% slug column_menu_grid %}#toc-styling-the-column-menu-icon)). Useful for creating active sort indicators. */ static active: (field: string, sort?: SortDescriptor[]) => boolean; /** * @hidden */ onAscClick: (e: any) => void; /** * @hidden */ onDescClick: (e: any) => void; /** * @hidden */ onSort(e: React.MouseEvent<HTMLAnchorElement>, selectedDir: 'asc' | 'desc'): void; /** * @hidden */ render(): JSX.Element; }