Skip to content

Commit f5210b8

Browse files
committed
fix getdefaultoptions type errors
1 parent 99df25a commit f5210b8

File tree

24 files changed

+68
-36
lines changed

24 files changed

+68
-36
lines changed

docs/guide/custom-features.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ export interface TableFeature<TFeatures extends TableFeatures, TFns extends Fns<
4343
constructRow?: (row: Row<TFeatures, TFns, TData>, table: Table<TFeatures, TFns, TData>) => void
4444
constructTable?: (table: Table<TFeatures, TFns, TData>) => void
4545
getDefaultColumnDef?: () => Partial<ColumnDef<TFeatures, TFns, TData, unknown>>
46-
getDefaultOptions?: (
46+
getDefaultTableOptions?: (
4747
table: Table<TFeatures, TFns, TData>
4848
) => Partial<TableOptions<TFeatures, TFns, TData>>
4949
getInitialState?: (initialState?: InitialTableState) => Partial<TableState>
@@ -56,9 +56,9 @@ This might be a bit confusing, so let's break down what each of these methods do
5656

5757
<br />
5858

59-
##### getDefaultOptions
59+
##### getDefaultTableOptions
6060

61-
The `getDefaultOptions` method in a table feature is responsible for setting the default table options for that feature. For example, in the [Column Sizing](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/ColumnSizing.ts) feature, the `getDefaultOptions` method sets the default `columnResizeMode` option with a default value of `"onEnd"`.
61+
The `getDefaultTableOptions` method in a table feature is responsible for setting the default table options for that feature. For example, in the [Column Sizing](https://github.com/TanStack/table/blob/main/packages/table-core/src/features/ColumnSizing.ts) feature, the `getDefaultTableOptions` method sets the default `columnResizeMode` option with a default value of `"onEnd"`.
6262

6363
<br />
6464

@@ -187,7 +187,7 @@ export const DensityFeature: TableFeature<any> = { //Use the TableFeature type!!
187187
},
188188

189189
// define the new feature's default options
190-
getDefaultOptions: <TFeatures extends TableFeatures, TFns extends Fns<TFeatures, TFns, TData>, TData extends RowData>(
190+
getDefaultTableOptions: <TFeatures extends TableFeatures, TFns extends Fns<TFeatures, TFns, TData>, TData extends RowData>(
191191
table: Partial<Table<TFeatures, TFns, TData>>
192192
): DensityOptions => {
193193
return {

examples/react/custom-features/src/main.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ export const DensityFeature: TableFeature = {
8989
},
9090

9191
// define the new feature's default options
92-
getDefaultOptions: <
92+
getDefaultTableOptions: <
9393
TFeatures extends TableFeatures,
9494
TFns extends Fns<TFeatures, TFns, TData>,
9595
TData extends RowData,

packages/table-core/src/core/table/constructTable.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ export function constructTable<
3535
const table = {} as unknown as Table<TFeatures, TFns, TData>
3636

3737
const defaultOptions = featuresList.reduce((obj, feature) => {
38-
return Object.assign(obj, feature.getDefaultOptions?.(table))
38+
return Object.assign(obj, feature.getDefaultTableOptions?.(table))
3939
}, {}) as TableOptions<TFeatures, TFns, TData>
4040

4141
const initialState = getInitialTableState(_features, options.initialState)

packages/table-core/src/features/column-filtering/ColumnFiltering.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import {
77
column_getFilterValue,
88
column_getIsFiltered,
99
column_setFilterValue,
10+
getDefaultColumnFiltersState,
1011
table_getFilteredRowModel,
1112
table_getPreFilteredRowModel,
1213
table_resetColumnFilters,
@@ -41,7 +42,7 @@ export const ColumnFiltering: TableFeature = {
4142
state: TableState<TFeatures>,
4243
): TableState<TFeatures> & TableState_ColumnFiltering => {
4344
return {
44-
columnFilters: [],
45+
columnFilters: getDefaultColumnFiltersState(),
4546
...state,
4647
}
4748
},
@@ -56,7 +57,7 @@ export const ColumnFiltering: TableFeature = {
5657
}
5758
},
5859

59-
getDefaultOptions: <
60+
getDefaultTableOptions: <
6061
TFeatures extends TableFeatures,
6162
TFns extends Fns<TFeatures, TFns, TData>,
6263
TData extends RowData,

packages/table-core/src/features/column-filtering/ColumnFiltering.utils.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@ import type {
1616
FilterFn,
1717
} from './ColumnFiltering.types'
1818

19+
export function getDefaultColumnFiltersState(): ColumnFiltersState {
20+
return structuredClone([])
21+
}
22+
1923
export function column_getAutoFilterFn<
2024
TFeatures extends TableFeatures,
2125
TFns extends Fns<TFeatures, TFns, TData>,

packages/table-core/src/features/column-grouping/ColumnGrouping.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import {
1010
column_getIsGrouped,
1111
column_getToggleGroupingHandler,
1212
column_toggleGrouping,
13+
getDefaultGroupingState,
1314
row_getGroupingValue,
1415
row_getIsGrouped,
1516
table_getGroupedRowModel,
@@ -45,7 +46,7 @@ export const ColumnGrouping: TableFeature = {
4546
state: TableState<TFeatures>,
4647
): TableState<TFeatures> & TableState_ColumnGrouping => {
4748
return {
48-
grouping: [],
49+
grouping: getDefaultGroupingState(),
4950
...state,
5051
}
5152
},
@@ -62,7 +63,7 @@ export const ColumnGrouping: TableFeature = {
6263
}
6364
},
6465

65-
getDefaultOptions: <
66+
getDefaultTableOptions: <
6667
TFeatures extends TableFeatures,
6768
TFns extends Fns<TFeatures, TFns, TData>,
6869
TData extends RowData,

packages/table-core/src/features/column-grouping/ColumnGrouping.utils.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@ import type {
2020
Row_ColumnGrouping,
2121
} from './ColumnGrouping.types'
2222

23+
export function getDefaultGroupingState(): GroupingState {
24+
return structuredClone([])
25+
}
26+
2327
export function column_toggleGrouping<
2428
TFeatures extends TableFeatures,
2529
TFns extends Fns<TFeatures, TFns, TData>,

packages/table-core/src/features/column-ordering/ColumnOrdering.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import {
44
column_getIndex,
55
column_getIsFirstColumn,
66
column_getIsLastColumn,
7+
getDefaultColumnOrderState,
78
table_resetColumnOrder,
89
table_setColumnOrder,
910
} from './ColumnOrdering.utils'
@@ -30,12 +31,12 @@ export const ColumnOrdering: TableFeature = {
3031
state: TableState<TFeatures>,
3132
): TableState<TFeatures> & TableState_ColumnOrdering => {
3233
return {
33-
columnOrder: [],
34+
columnOrder: getDefaultColumnOrderState(),
3435
...state,
3536
}
3637
},
3738

38-
getDefaultOptions: <
39+
getDefaultTableOptions: <
3940
TFeatures extends TableFeatures,
4041
TFns extends Fns<TFeatures, TFns, TData>,
4142
TData extends RowData,

packages/table-core/src/features/column-ordering/ColumnOrdering.utils.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@ import type { Column } from '../../types/Column'
1111
import type { ColumnPinningPosition } from '../column-pinning/ColumnPinning.types'
1212
import type { ColumnOrderState } from './ColumnOrdering.types'
1313

14+
export function getDefaultColumnOrderState(): ColumnOrderState {
15+
return structuredClone([])
16+
}
17+
1418
export function column_getIndex<
1519
TFeatures extends TableFeatures,
1620
TFns extends Fns<TFeatures, TFns, TData>,
@@ -103,7 +107,7 @@ export function table_getOrderColumnsFn<
103107
const targetColumnId = columnOrderCopy.shift()
104108
const foundIndex = columnsCopy.findIndex((d) => d.id === targetColumnId)
105109
if (foundIndex > -1) {
106-
orderedColumns.push(columnsCopy.splice(foundIndex, 1)[0])
110+
orderedColumns.push(columnsCopy.splice(foundIndex, 1)[0]!)
107111
}
108112
}
109113

packages/table-core/src/features/column-pinning/ColumnPinning.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ export const ColumnPinning: TableFeature = {
6464
}
6565
},
6666

67-
getDefaultOptions: <
67+
getDefaultTableOptions: <
6868
TFeatures extends TableFeatures,
6969
TFns extends Fns<TFeatures, TFns, TData>,
7070
TData extends RowData,

0 commit comments

Comments
 (0)