mirror of https://github.com/portainer/portainer
150 lines
4.4 KiB
TypeScript
150 lines
4.4 KiB
TypeScript
import {
|
|
UseColumnOrderInstanceProps,
|
|
UseColumnOrderState,
|
|
UseExpandedHooks,
|
|
UseExpandedInstanceProps,
|
|
UseExpandedOptions,
|
|
UseExpandedRowProps,
|
|
UseExpandedState,
|
|
UseFiltersColumnOptions,
|
|
UseFiltersColumnProps,
|
|
UseFiltersInstanceProps,
|
|
UseFiltersOptions,
|
|
UseFiltersState,
|
|
UseGlobalFiltersColumnOptions,
|
|
UseGlobalFiltersInstanceProps,
|
|
UseGlobalFiltersOptions,
|
|
UseGlobalFiltersState,
|
|
UseGroupByCellProps,
|
|
UseGroupByColumnOptions,
|
|
UseGroupByColumnProps,
|
|
UseGroupByHooks,
|
|
UseGroupByInstanceProps,
|
|
UseGroupByOptions,
|
|
UseGroupByRowProps,
|
|
UseGroupByState,
|
|
UsePaginationInstanceProps,
|
|
UsePaginationOptions,
|
|
UsePaginationState,
|
|
UseResizeColumnsColumnOptions,
|
|
UseResizeColumnsColumnProps,
|
|
UseResizeColumnsOptions,
|
|
UseResizeColumnsState,
|
|
UseRowSelectHooks,
|
|
UseRowSelectInstanceProps,
|
|
UseRowSelectOptions,
|
|
UseRowSelectRowProps,
|
|
UseRowSelectState,
|
|
UseRowStateCellProps,
|
|
UseRowStateInstanceProps,
|
|
UseRowStateOptions,
|
|
UseRowStateRowProps,
|
|
UseRowStateState,
|
|
UseSortByColumnOptions,
|
|
UseSortByColumnProps,
|
|
UseSortByHooks,
|
|
UseSortByInstanceProps,
|
|
UseSortByOptions,
|
|
UseSortByState,
|
|
} from 'react-table';
|
|
import { UseSelectColumnTableOptions } from '@lineup-lite/hooks';
|
|
|
|
declare module 'react-table' {
|
|
// take this file as-is, or comment out the sections that don't apply to your plugin configuration
|
|
|
|
export interface TableOptions<D extends Record<string, unknown>>
|
|
extends UseExpandedOptions<D>,
|
|
UseFiltersOptions<D>,
|
|
UseGlobalFiltersOptions<D>,
|
|
UseGroupByOptions<D>,
|
|
UsePaginationOptions<D>,
|
|
UseResizeColumnsOptions<D>,
|
|
UseRowSelectOptions<D>,
|
|
UseRowStateOptions<D>,
|
|
UseSortByOptions<D>,
|
|
UseSelectColumnTableOptions<D>,
|
|
// note that having Record here allows you to add anything to the options, this matches the spirit of the
|
|
// underlying js library, but might be cleaner if it's replaced by a more specific type that matches your
|
|
// feature set, this is a safe default.
|
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
Record<string, any> {}
|
|
|
|
export interface Hooks<
|
|
D extends Record<string, unknown> = Record<string, unknown>
|
|
> extends UseExpandedHooks<D>,
|
|
UseGroupByHooks<D>,
|
|
UseRowSelectHooks<D>,
|
|
UseSortByHooks<D> {}
|
|
|
|
export interface TableInstance<
|
|
D extends Record<string, unknown> = Record<string, unknown>
|
|
> extends UseColumnOrderInstanceProps<D>,
|
|
UseExpandedInstanceProps<D>,
|
|
UseFiltersInstanceProps<D>,
|
|
UseGlobalFiltersInstanceProps<D>,
|
|
UseGroupByInstanceProps<D>,
|
|
UsePaginationInstanceProps<D>,
|
|
UseRowSelectInstanceProps<D>,
|
|
UseRowStateInstanceProps<D>,
|
|
UseSortByInstanceProps<D> {}
|
|
|
|
export interface TableState<
|
|
D extends Record<string, unknown> = Record<string, unknown>
|
|
> extends UseColumnOrderState<D>,
|
|
UseExpandedState<D>,
|
|
UseFiltersState<D>,
|
|
UseGlobalFiltersState<D>,
|
|
UseGroupByState<D>,
|
|
UsePaginationState<D>,
|
|
UseResizeColumnsState<D>,
|
|
UseRowSelectState<D>,
|
|
UseRowStateState<D>,
|
|
UseSortByState<D> {}
|
|
|
|
export interface ColumnInterface<
|
|
D extends Record<string, unknown> = Record<string, unknown>
|
|
> extends UseFiltersColumnOptions<D>,
|
|
UseGlobalFiltersColumnOptions<D>,
|
|
UseGroupByColumnOptions<D>,
|
|
UseResizeColumnsColumnOptions<D>,
|
|
UseSortByColumnOptions<D> {
|
|
className?: string;
|
|
canHide?: boolean;
|
|
}
|
|
|
|
export interface ColumnInstance<
|
|
D extends Record<string, unknown> = Record<string, unknown>
|
|
> extends UseFiltersColumnProps<D>,
|
|
UseGroupByColumnProps<D>,
|
|
UseResizeColumnsColumnProps<D>,
|
|
UseSortByColumnProps<D> {
|
|
className?: string;
|
|
}
|
|
|
|
export interface Cell<
|
|
D extends Record<string, unknown> = Record<string, unknown>,
|
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
V = any
|
|
> extends UseTableCellProps<D, V>,
|
|
UseGroupByCellProps<D>,
|
|
UseRowStateCellProps<D> {
|
|
className?: string;
|
|
}
|
|
|
|
export interface Row<
|
|
D extends Record<string, unknown> = Record<string, unknown>
|
|
> extends UseExpandedRowProps<D>,
|
|
UseGroupByRowProps<D>,
|
|
UseRowSelectRowProps<D>,
|
|
UseRowStateRowProps<D> {}
|
|
|
|
export function makePropGetter(
|
|
hooks: Array<PropGetter>,
|
|
...meta: Record<string, unknown>[]
|
|
): PropGetter;
|
|
|
|
export interface TableToggleRowsSelectedProps {
|
|
disabled: boolean;
|
|
}
|
|
}
|