[react-table]: fix UseTableRowProps (#43049)

Address https://github.com/DefinitelyTyped/DefinitelyTyped/issues/42889

Also updated test so that it would have caught this bug.
This commit is contained in:
Guy Gascoigne-Piggford
2020-03-13 18:29:27 -07:00
committed by GitHub
parent 6cd0b5eee4
commit 8193cd43a0
2 changed files with 34 additions and 11 deletions
+1 -2
View File
@@ -6,7 +6,7 @@
// Jason Clark <https://github.com/riceboyler>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 3.5
// reflects react-table@7.0.0 - (prepping for stable 7.0.0 release https://github.com/tannerlinsley/react-table/issues/1964)
// reflects react-table@7.0.0
// tslint:disable:no-empty-interface
// no-empty-interface is disabled to allow easy extension with declaration merging
@@ -257,7 +257,6 @@ export interface UseTableRowProps<D extends object> {
original: D;
id: string;
subRows: Array<Row<D>>;
state: object;
}
export interface UseTableCellProps<D extends object> {
+33 -9
View File
@@ -1,8 +1,5 @@
import * as React from 'react';
import * as ReactDOM from 'react-dom';
// test heavily based up https://github.com/tannerlinsley/react-table/blob/master/examples/kitchen-sink-controlled/src/App.js
import {
Cell,
CellProps,
@@ -14,6 +11,8 @@ import {
Hooks,
IdType,
Row,
UseColumnOrderInstanceProps,
UseColumnOrderState,
useExpanded,
UseExpandedInstanceProps,
UseExpandedOptions,
@@ -25,8 +24,11 @@ import {
UseFiltersInstanceProps,
UseFiltersOptions,
UseFiltersState,
UseGlobalFiltersOptions,
useGlobalFilter,
UseGlobalFiltersColumnOptions,
UseGlobalFiltersInstanceProps,
UseGlobalFiltersOptions,
UseGlobalFiltersState,
useGroupBy,
UseGroupByCellProps,
UseGroupByColumnOptions,
@@ -39,11 +41,20 @@ import {
UsePaginationInstanceProps,
UsePaginationOptions,
UsePaginationState,
UseResizeColumnsColumnOptions,
UseResizeColumnsColumnProps,
UseResizeColumnsOptions,
UseResizeColumnsState,
useRowSelect,
UseRowSelectInstanceProps,
UseRowSelectOptions,
UseRowSelectRowProps,
UseRowSelectState,
UseRowStateCellProps,
UseRowStateInstanceProps,
UseRowStateOptions,
UseRowStateRowProps,
UseRowStateState,
useSortBy,
UseSortByColumnOptions,
UseSortByColumnProps,
@@ -51,9 +62,10 @@ import {
UseSortByOptions,
UseSortByState,
useTable,
useGlobalFilter,
} from 'react-table';
// test heavily based up https://github.com/tannerlinsley/react-table/blob/master/examples/kitchen-sink-controlled/src/App.js
declare module 'react-table' {
// take this file as-is, or comment out the sections that don't apply to your plugin configuration
@@ -63,46 +75,58 @@ declare module 'react-table' {
UseGlobalFiltersOptions<D>,
UseGroupByOptions<D>,
UsePaginationOptions<D>,
UseResizeColumnsOptions<D>,
UseRowSelectOptions<D>,
UseRowStateOptions<D>,
UseSortByOptions<D> {
updateMyData: (rowIndex: number, columnId: string, value: any) => void;
}
interface TableInstance<D extends object = {}>
extends UseExpandedInstanceProps<D>,
extends UseColumnOrderInstanceProps<D>,
UseExpandedInstanceProps<D>,
UseFiltersInstanceProps<D>,
UseGlobalFiltersInstanceProps<D>,
UseGroupByInstanceProps<D>,
UsePaginationInstanceProps<D>,
UseRowSelectInstanceProps<D>,
UseRowStateInstanceProps<D>,
UseSortByInstanceProps<D> {
editable: boolean;
}
interface TableState<D extends object = {}>
extends UseExpandedState<D>,
extends UseColumnOrderState<D>,
UseExpandedState<D>,
UseFiltersState<D>,
UseGlobalFiltersState<D>,
UseGroupByState<D>,
UsePaginationState<D>,
UseResizeColumnsState<D>,
UseRowSelectState<D>,
UseRowStateState<D>,
UseSortByState<D> {}
interface Column<D extends object = {}>
extends UseFiltersColumnOptions<D>,
UseGlobalFiltersColumnOptions<D>,
UseGroupByColumnOptions<D>,
UseResizeColumnsColumnOptions<D>,
UseSortByColumnOptions<D> {}
interface ColumnInstance<D extends object = {}>
extends UseFiltersColumnProps<D>,
UseGroupByColumnProps<D>,
UseResizeColumnsColumnProps<D>,
UseSortByColumnProps<D> {}
interface Cell<D extends object = {}> extends UseGroupByCellProps<D> {}
interface Cell<D extends object = {}> extends UseGroupByCellProps<D>, UseRowStateCellProps<D> {}
interface Row<D extends object = {}>
extends UseExpandedRowProps<D>,
UseGroupByRowProps<D>,
UseRowSelectRowProps<D> {}
UseRowSelectRowProps<D>,
UseRowStateRowProps<D> {}
}
interface Data {