@tanstack/angular-table-devtools
Version:
Angular devtools for TanStack Table.
88 lines (60 loc) • 2.88 kB
Markdown
name: devtools
description: >
Register Angular Table v9 instances with injectTanStackTableDevtools inside injection context. Load for reactive table registration, required options.key, enabled or undefined tables, cleanup, Angular isDevMode gating, or explicit production exports.
metadata:
type: framework
library: '@tanstack/angular-table-devtools'
framework: angular
library_version: '9.1.1'
requires:
- '@tanstack/table-core#core'
- '@tanstack/table-devtools#devtools'
sources:
- 'TanStack/table:docs/devtools.md'
- 'TanStack/table:packages/angular-table-devtools/src/index.ts'
- 'TanStack/table:packages/angular-table-devtools/src/injectTanStackTableDevtools.ts'
This skill builds on @tanstack/table-core#core and @tanstack/table-devtools#devtools.
## Setup
```ts
import { Component } from '@angular/core'
import { injectTable, tableFeatures } from '@tanstack/angular-table'
import { injectTanStackTableDevtools } from '@tanstack/angular-table-devtools'
const features = tableFeatures({})
const columns = [{ accessorKey: 'id' }]
const data: Array<{ id: string }> = []
@Component({ selector: 'users-table', template: 'Users table registered' })
export class UsersTable {
readonly table = injectTable(() => ({
key: 'users-table',
features,
columns,
data,
}))
constructor() {
injectTanStackTableDevtools(() => ({ table: this.table }))
}
}
```
Provide the Angular TanStack Devtools host once at application configuration level as documented in `docs/devtools.md`.
## Hooks and Components
The injector options function may return `table: undefined` or an `enabled` function to remove/disable registration reactively.
## Common Mistakes
### CRITICAL Injector called outside context
Wrong: call `injectTanStackTableDevtools` from an arbitrary callback after bootstrap.
Correct: call it in a component/service field initializer or constructor injection context.
The adapter uses Angular injection and effects for lifecycle cleanup.
Source: TanStack/table:packages/angular-table-devtools/src/injectTanStackTableDevtools.ts
### HIGH Missing table key
Wrong: register an otherwise valid table without `options.key`.
Correct: assign a stable unique key before injection registration.
Core registration logs an error and skips keyless targets.
Source: TanStack/table:packages/table-devtools/src/tableTarget.ts
### MEDIUM isDevMode no-op misunderstood
Wrong: expect default Angular exports to render production Devtools.
Correct: keep standard setup development-only; use `/production` only when explicitly requested.
The package index switches exports using Angular `isDevMode()`.
Source: TanStack/table:packages/angular-table-devtools/src/index.ts
## API Discovery
Inspect `node_modules/@tanstack/angular-table-devtools/dist/index.d.ts` and `injectTanStackTableDevtools.d.ts` for current injection options.