UNPKG

@atlaskit/dynamic-table

Version:

A dynamic table displays rows of data with built-in pagination, sorting, and re-ordering functionality.

61 lines (60 loc) 1.9 kB
import React from 'react'; import type UIAnalyticsEvent from '@atlaskit/analytics-next/UIAnalyticsEvent'; import noop from '@atlaskit/ds-lib/noop'; import { type RankEnd, type RowType, type SortOrderType, type StatefulProps } from '../types'; interface State { page?: number; sortKey?: string; sortOrder?: SortOrderType; rows?: RowType[]; } /** * __Dynamic Table__ * * A table displays rows of data with built-in pagination, sorting, and re-ordering functionality. * * - [Examples](https://atlaskit.atlassian.com/packages/design-system/dynamic-table) * - [Code](https://bitbucket.org/atlassian/atlassian-frontend/packages/design-system/dynamic-table) * * @example * ```jsx * import DynamicTable from '@atlaskit/dynamic-table'; * * export default function TableUncontrolled() { * return ( * <DynamicTable * head={head} * rows={rows} * rowsPerPage={10} * defaultPage={1} * loadingSpinnerSize="large" * isLoading={false} * /> * ); * } * ``` */ export default class DynamicTable extends React.Component<StatefulProps, State> { static defaultProps: { defaultPage: number; isLoading: boolean; isFixedSize: boolean; isRankable: boolean; onSetPage: typeof noop; onSort: typeof noop; rowsPerPage: number; }; state: { page: number | undefined; sortKey: string | undefined; sortOrder: SortOrderType | undefined; rows: RowType[] | undefined; }; UNSAFE_componentWillReceiveProps(newProps: StatefulProps): void; onSetPageHandler: (page: number, analyticsEvent?: UIAnalyticsEvent) => void; onSortHandler: ({ key, item, sortOrder }: any, analyticsEvent?: UIAnalyticsEvent) => void; onRankEndIfExistsHandler: (params: RankEnd) => void; onRankEndHandler: (params: RankEnd) => void; render(): React.JSX.Element; } export {};