Skip to content

Commit d0375d5

Browse files
committed
docs(angular): add jsdoc and regenerate api reference
1 parent ccfb1e5 commit d0375d5

14 files changed

Lines changed: 222 additions & 34 deletions

File tree

docs/config.json

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,13 +40,11 @@
4040
},
4141
{
4242
"label": "Rendering components",
43-
"to": "framework/angular/guide/rendering",
44-
"badge": "angular"
43+
"to": "framework/angular/guide/rendering"
4544
},
4645
{
4746
"label": "Table composition",
48-
"to": "framework/angular/guide/composable-tables",
49-
"badge": "angular"
47+
"to": "framework/angular/guide/table-composition"
5048
}
5149
]
5250
},
@@ -323,7 +321,7 @@
323321
"children": [
324322
{
325323
"label": "Angular API Reference",
326-
"to": "framework/angular/reference/index"
324+
"to": "framework/angular/reference"
327325
},
328326
{
329327
"label": "injectTable",
@@ -353,6 +351,26 @@
353351
"label": "injectTableHeaderContext",
354352
"to": "framework/angular/reference/functions/injectTableHeaderContext"
355353
},
354+
{
355+
"label": "Interface / FlexRenderComponent",
356+
"to": "framework/angular/reference/interfaces/FlexRenderComponent"
357+
},
358+
{
359+
"label": "Type / AngularTable",
360+
"to": "framework/angular/reference/type-aliases/AngularTable"
361+
},
362+
{
363+
"label": "Type / AppAngularTable",
364+
"to": "framework/angular/reference/type-aliases/AppAngularTable"
365+
},
366+
{
367+
"label": "Type / FlexRenderContent",
368+
"to": "framework/angular/reference/type-aliases/FlexRenderContent"
369+
},
370+
{
371+
"label": "Type / FlexRenderInputContent",
372+
"to": "framework/angular/reference/type-aliases/FlexRenderContent"
373+
},
356374
{
357375
"label": "Directive / FlexRender",
358376
"to": "framework/angular/reference/variables/FlexRender"

docs/framework/angular/angular-table.md

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,16 @@ import {
3333
createColumnHelper,
3434
injectTable,
3535
type ColumnDef,
36+
rowPaginationFeature,
37+
stockFeatures
3638
} from '@tanstack/angular-table'
3739

40+
// Register all table core features
41+
const _features = tableFeatures(stockFeatures);
42+
// ...or register only your needed features
3843
const _features = tableFeatures({
39-
// table features
44+
rowPaginationFeature,
45+
// ...all other features
4046
})
4147

4248
const columnHelper = createColumnHelper<typeof _features, Person>()
@@ -74,10 +80,10 @@ export class AppComponent {
7480
})
7581
}
7682
}
77-
78-
// ...render your table in template
7983
```
8084

85+
See [injectTable API Reference](reference/functions/injectTable)
86+
8187
### `createTableHook`
8288

8389
`createTableHook` is the Angular composition API for building reusable table infrastructure.
@@ -90,7 +96,7 @@ At runtime, `createTableHook` wraps `injectTable` and returns typed helpers such
9096
- `createAppColumnHelper` for strongly typed column definitions
9197
- pre-typed context helpers (`injectTableContext`, `injectTableCellContext`, `injectTableHeaderContext`, `injectFlexRenderCellContext`, `injectFlexRenderHeaderContext`)
9298

93-
For full setup and patterns, see the [Composable Tables (Angular) Guide](./guide/composable-tables.md).
99+
For full setup and patterns, see the [Table Composition Guide](./guide/table-composition.md).
94100

95101
### `FlexRender`
96102

@@ -105,7 +111,7 @@ It supports the same content kinds as Angular rendering:
105111

106112
Column render functions (`header`, `cell`, `footer`) run in Angular injection context, so you can use `inject()` and signals directly in render logic.
107113

108-
For complete rendering details (`*flexRender`, shorthand directives, `flexRenderComponent`, `TemplateRef`, component inputs/outputs, and `injectFlexRenderContext`), see the [Rendering (Angular) Guide](./guide/rendering.md).
114+
For complete rendering details (`*flexRender`, shorthand directives, `flexRenderComponent`, `TemplateRef`, component inputs/outputs, and `injectFlexRenderContext`), see the [Rendering components Guide](./guide/rendering.md).
109115

110116
### Context helpers and directives
111117

@@ -116,3 +122,7 @@ For complete rendering details (`*flexRender`, shorthand directives, `flexRender
116122
- `TanStackTableHeader` + `injectTableHeaderContext()`
117123

118124
These APIs provide signal-based context values and are available from nearest directives or from `*flexRender`-rendered components when matching props are present.
125+
126+
### Full API Reference
127+
128+
See [Angular API Reference](reference/index.md)

docs/framework/angular/guide/composable-tables.md renamed to docs/framework/angular/guide/table-composition.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -284,5 +284,5 @@ export const {
284284

285285
## Examples
286286

287-
- [Composable Tables](../angular/composable-tables) — full example with two tables sharing the same `createTableHook` configuration, including table/cell/header component registries, sorting, filtering, and pagination.
288-
- [Basic App Table](../angular/basic-app-table) — minimal example using `createTableHook` with no pre-bound components.
287+
- [Composable Tables](../examples/composable-tables) — full example with two tables sharing the same `createTableHook` configuration, including table/cell/header component registries, sorting, filtering, and pagination.
288+
- [Basic App Table](../examples/basic-app-table) — minimal example using `createTableHook` with no pre-bound components.

docs/framework/angular/reference/functions/injectTable.md

Lines changed: 57 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,18 @@ title: injectTable
99
function injectTable<TFeatures, TData, TSelected>(options, selector): AngularTable<TFeatures, TData, TSelected>;
1010
```
1111

12-
Defined in: [injectTable.ts:40](https://github.com/TanStack/table/blob/main/packages/angular-table/src/injectTable.ts#L40)
12+
Defined in: [injectTable.ts:96](https://github.com/TanStack/table/blob/main/packages/angular-table/src/injectTable.ts#L96)
13+
14+
Creates and returns an Angular-reactive table instance.
15+
16+
The initializer is intentionally re-evaluated whenever any signal read inside it changes.
17+
This is how the adapter keeps the table in sync with Angular's reactivity model.
18+
19+
Because of that behavior, keep expensive/static values (for example `columns`, feature setup, row models)
20+
as stable references outside the initializer, and only read reactive state (`data()`, pagination/filter/sorting signals, etc.)
21+
inside it.
22+
23+
The returned table is also signal-reactive: table state and table APIs are wired for Angular signals, so you can safely consume table methods inside `computed(...)` and `effect(...)`.
1324

1425
## Type Parameters
1526

@@ -38,3 +49,48 @@ Defined in: [injectTable.ts:40](https://github.com/TanStack/table/blob/main/pack
3849
## Returns
3950

4051
[`AngularTable`](../type-aliases/AngularTable.md)\<`TFeatures`, `TData`, `TSelected`\>
52+
53+
An Angular-reactive TanStack Table instance.
54+
55+
## Example
56+
57+
1. Register the table features you need
58+
```ts
59+
// Register only the features you need
60+
import {tableFeatures, rowPaginationFeature} from '@tanstack/angular-table';
61+
const _features = tableFeatures({
62+
rowPaginationFeature,
63+
// ...all other features you need
64+
})
65+
66+
// Use all table core features
67+
import {stockFeatures} from '@tanstack/angular-table';
68+
const _features = tableFeatures(stockFeatures);
69+
```
70+
2. Prepare the table columns
71+
```ts
72+
import {ColumnDef} from '@tanstack/angular-table';
73+
74+
type MyData = {}
75+
76+
const columns: ColumnDef<typeof _features, MyData>[] = [
77+
// ...column definitions
78+
]
79+
80+
// or using createColumnHelper
81+
import {createColumnHelper} from '@tanstack/angular-table';
82+
const columnHelper = createColumnHelper<typeof _features, MyData>();
83+
const columns = columnHelper.columns([
84+
columnHelper.accessor(...),
85+
// ...other columns
86+
])
87+
```
88+
3. Create the table instance with `injectTable`
89+
```ts
90+
const table = injectTable(() => {
91+
// ...table options,
92+
_features,
93+
columns: columns,
94+
data: myDataSignal(),
95+
})
96+
```

docs/framework/angular/reference/index.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ title: "@tanstack/angular-table"
3636

3737
## Variables
3838

39-
- [angularReactivityFeature](variables/angularReactivityFeature.md)
4039
- [FlexRender](variables/FlexRender.md)
4140
- [TanStackTableCellToken](variables/TanStackTableCellToken.md)
4241
- [TanStackTableHeaderToken](variables/TanStackTableHeaderToken.md)

docs/framework/angular/reference/interfaces/AngularReactivityFlags.md

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ title: AngularReactivityFlags
55

66
# Interface: AngularReactivityFlags
77

8-
Defined in: [angularReactivityFeature.ts:40](https://github.com/TanStack/table/blob/main/packages/angular-table/src/angularReactivityFeature.ts#L40)
8+
Defined in: [angularReactivityFeature.ts:55](https://github.com/TanStack/table/blob/main/packages/angular-table/src/angularReactivityFeature.ts#L55)
99

1010
Fine-grained configuration for Angular reactivity.
1111

@@ -16,6 +16,22 @@ objects are wrapped with signal-aware access.
1616
- `false` disables wrapping entirely for that object type.
1717
- a function allows customizing the skip rules (see SkipPropertyFn).
1818

19+
## Example
20+
21+
```ts
22+
const table = injectTable(() => {
23+
// ...table options,
24+
reactivity: {
25+
// fine-grained control over which table objects have reactive properties,
26+
// and which properties are wrapped
27+
header: true,
28+
column: true,
29+
row: true,
30+
cell: true,
31+
}
32+
})
33+
```
34+
1935
## Properties
2036

2137
### cell
@@ -24,7 +40,7 @@ objects are wrapped with signal-aware access.
2440
cell: boolean | SkipPropertyFn;
2541
```
2642

27-
Defined in: [angularReactivityFeature.ts:48](https://github.com/TanStack/table/blob/main/packages/angular-table/src/angularReactivityFeature.ts#L48)
43+
Defined in: [angularReactivityFeature.ts:63](https://github.com/TanStack/table/blob/main/packages/angular-table/src/angularReactivityFeature.ts#L63)
2844

2945
Controls reactive wrapping for `Cell` instances.
3046

@@ -36,7 +52,7 @@ Controls reactive wrapping for `Cell` instances.
3652
column: boolean | SkipPropertyFn;
3753
```
3854

39-
Defined in: [angularReactivityFeature.ts:44](https://github.com/TanStack/table/blob/main/packages/angular-table/src/angularReactivityFeature.ts#L44)
55+
Defined in: [angularReactivityFeature.ts:59](https://github.com/TanStack/table/blob/main/packages/angular-table/src/angularReactivityFeature.ts#L59)
4056

4157
Controls reactive wrapping for `Column` instances.
4258

@@ -48,7 +64,7 @@ Controls reactive wrapping for `Column` instances.
4864
header: boolean | SkipPropertyFn;
4965
```
5066

51-
Defined in: [angularReactivityFeature.ts:42](https://github.com/TanStack/table/blob/main/packages/angular-table/src/angularReactivityFeature.ts#L42)
67+
Defined in: [angularReactivityFeature.ts:57](https://github.com/TanStack/table/blob/main/packages/angular-table/src/angularReactivityFeature.ts#L57)
5268

5369
Controls reactive wrapping for `Header` instances.
5470

@@ -60,6 +76,6 @@ Controls reactive wrapping for `Header` instances.
6076
row: boolean | SkipPropertyFn;
6177
```
6278

63-
Defined in: [angularReactivityFeature.ts:46](https://github.com/TanStack/table/blob/main/packages/angular-table/src/angularReactivityFeature.ts#L46)
79+
Defined in: [angularReactivityFeature.ts:61](https://github.com/TanStack/table/blob/main/packages/angular-table/src/angularReactivityFeature.ts#L61)
6480

6581
Controls reactive wrapping for `Row` instances.

docs/framework/angular/reference/type-aliases/FlexRenderContent.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,10 @@ type FlexRenderContent<TProps> =
1919
| undefined;
2020
```
2121

22-
Defined in: [flex-render/renderer.ts:36](https://github.com/TanStack/table/blob/main/packages/angular-table/src/flex-render/renderer.ts#L36)
22+
Defined in: [flex-render/renderer.ts:40](https://github.com/TanStack/table/blob/main/packages/angular-table/src/flex-render/renderer.ts#L40)
23+
24+
Content supported by the `flexRender` directive when declaring
25+
a table column header/cell.
2326

2427
## Type Parameters
2528

docs/framework/angular/reference/type-aliases/FlexRenderInputContent.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,9 @@ type FlexRenderInputContent<TProps> =
1414
| undefined;
1515
```
1616

17-
Defined in: [flex-render/renderer.ts:46](https://github.com/TanStack/table/blob/main/packages/angular-table/src/flex-render/renderer.ts#L46)
17+
Defined in: [flex-render/renderer.ts:53](https://github.com/TanStack/table/blob/main/packages/angular-table/src/flex-render/renderer.ts#L53)
18+
19+
Input content supported by the `flexRender` directives.
1820

1921
## Type Parameters
2022

docs/framework/angular/reference/variables/FlexRender.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,13 @@ title: FlexRender
99
const FlexRender: readonly [typeof FlexRenderDirective, typeof FlexRenderCell];
1010
```
1111

12-
Defined in: [index.ts:20](https://github.com/TanStack/table/blob/main/packages/angular-table/src/index.ts#L20)
12+
Defined in: [index.ts:25](https://github.com/TanStack/table/blob/main/packages/angular-table/src/index.ts#L25)
1313

1414
Constant helper to import FlexRender directives.
15+
16+
You should prefer to use this constant over importing the directives separately,
17+
as it ensures you always have the correct set of directives over library updates.
18+
19+
## See
20+
21+
[FlexRenderDirective](../classes/FlexRenderDirective.md) and [FlexRenderCell](../classes/FlexRenderCell.md) for more details on the directives included in this export.

docs/framework/angular/reference/variables/angularReactivityFeature.md

Lines changed: 0 additions & 12 deletions
This file was deleted.

0 commit comments

Comments
 (0)