Skip to content

Commit 87128f8

Browse files
committed
cleanup structure
1 parent 96d9286 commit 87128f8

13 files changed

Lines changed: 71 additions & 96 deletions

File tree

examples/angular/row-selection/src/app/app.component.html

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,7 @@
88
@for (header of headerGroup.headers; track header.id) {
99
<th [attr.colSpan]="header.colSpan">
1010
@if (!header.isPlaceholder) {
11-
<ng-container
12-
*flexRender="
13-
header.column.columnDef.header;
14-
props: header.getContext();
15-
let headerCell
16-
"
17-
>
11+
<ng-container *flexRenderHeader="header; let headerCell">
1812
{{ headerCell }}
1913
</ng-container>
2014

@@ -38,13 +32,7 @@
3832
<tr>
3933
@for (cell of row.getAllCells(); track cell.id) {
4034
<td>
41-
<ng-container
42-
*flexRender="
43-
cell.column.columnDef.cell;
44-
props: cell.getContext();
45-
let renderCell
46-
"
47-
>
35+
<ng-container *flexRenderCell="cell; let renderCell">
4836
{{ renderCell }}
4937
</ng-container>
5038
</td>

examples/angular/row-selection/src/app/app.component.ts

Lines changed: 6 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,7 @@ import {
66
viewChild,
77
} from '@angular/core'
88
import {
9-
CellFlexRender,
10-
FlexRenderDirective,
9+
FlexRender,
1110
columnFilteringFeature,
1211
createFilteredRowModel,
1312
createPaginatedRowModel,
@@ -44,7 +43,7 @@ const tableHelper = createTableHelper({
4443
@Component({
4544
selector: 'app-root',
4645
standalone: true,
47-
imports: [FilterComponent, FlexRenderDirective, CellFlexRender, FormsModule],
46+
imports: [FilterComponent, FlexRender, FormsModule],
4847
templateUrl: './app.component.html',
4948
changeDetection: ChangeDetectionStrategy.OnPush,
5049
})
@@ -53,20 +52,14 @@ export class AppComponent {
5352
readonly globalFilter = signal<string>('')
5453
readonly data = signal(makeData(10_000))
5554

56-
readonly myValue = signal(0)
57-
5855
readonly ageHeaderCell =
5956
viewChild.required<TemplateRef<unknown>>('ageHeaderCell')
6057

6158
readonly columns: Array<ColumnDef<typeof tableHelper.features, Person>> = [
6259
{
6360
id: 'select',
64-
header: () => {
65-
const data = flexRenderComponent(TableHeadSelectionComponent)
66-
},
67-
cell: () => {
68-
return flexRenderComponent(TableRowSelectionComponent)
69-
},
61+
header: () => flexRenderComponent(TableHeadSelectionComponent),
62+
cell: () => flexRenderComponent(TableRowSelectionComponent),
7063
},
7164
{
7265
header: 'Name',
@@ -76,14 +69,12 @@ export class AppComponent {
7669
accessorKey: 'firstName',
7770
cell: (info) => info.getValue(),
7871
footer: (props) => props.column.id,
79-
header: (props) => `${this.myValue()} First name`,
72+
header: (props) => `First name`,
8073
},
8174
{
8275
accessorFn: (row) => row.lastName,
8376
id: 'lastName',
84-
cell: (info) => {
85-
return `lastname: ${info.getValue()} - is selected: ${info.row.getIsSelected()}`
86-
},
77+
cell: (info) => info.getValue(),
8778
header: () => 'Last Name',
8879
footer: (props) => props.column.id,
8980
},
@@ -167,12 +158,4 @@ export class AppComponent {
167158
refreshData(): void {
168159
this.data.set(makeData(10_000))
169160
}
170-
171-
constructor() {
172-
Reflect.set(window, 'updateValue', () => this.willUpdate())
173-
}
174-
175-
willUpdate() {
176-
this.myValue.update((x) => x + 1)
177-
}
178161
}

packages/angular-table/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
"src"
4141
],
4242
"scripts": {
43-
"build": "ng-packagr -p ng-package.json -c tsconfig.build.json && rimraf ./build/lib/package.json",
43+
"build": "ng-packagr -p ng-package.json -c tsconfig.build.json && rimraf ./dist/package.json",
4444
"build:types": "tsc --emitDeclarationOnly",
4545
"clean": "rimraf ./build && rimraf ./dist",
4646
"test:build": "publint --strict",

packages/angular-table/src/angularReactivityFeature.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ const getUserSkipPropertyFn = (
6666
return value ?? defaultPropertyFn
6767
}
6868

69-
export function constructAngularReactivityFeature<
69+
function constructAngularReactivityFeature<
7070
TFeatures extends TableFeatures,
7171
TData extends RowData,
7272
>(): TableFeature<AngularReactivityFeatureConstructors<TFeatures, TData>> {

packages/angular-table/src/flex-render/view.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { TemplateRef, Type } from '@angular/core'
22
import { FlexRenderComponent } from './flex-render-component'
33
import type { EmbeddedViewRef } from '@angular/core'
44
import type { FlexRenderComponentRef } from './flex-render-component-ref'
5-
import type { FlexRenderContent } from '../flex-render'
5+
import type { FlexRenderContent } from '../flexRender'
66

77
export type FlexRenderTypedContent =
88
| { kind: 'null' }
Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@ import {
2828
FlexRenderView,
2929
mapToFlexRenderTypedContent,
3030
} from './flex-render/view'
31-
import { CellContextToken } from './context/cell'
32-
import { HeaderContextToken } from './context/header'
33-
import { TableContextToken } from './context/table'
31+
import { TanStackTableCellToken } from './helpers/cell'
32+
import { TanStackTableHeaderToken } from './helpers/header'
33+
import { TanStackTableToken } from './helpers/table'
3434
import type { FlexRenderTypedContent } from './flex-render/view'
3535
import type {
3636
CellContext,
@@ -328,19 +328,19 @@ export class FlexRenderDirective<
328328
const staticProviders = []
329329
if ('table' in proxy) {
330330
staticProviders.push({
331-
provide: TableContextToken,
331+
provide: TanStackTableToken,
332332
useValue: () => proxy.table,
333333
})
334334
}
335335
if ('cell' in proxy) {
336336
staticProviders.push({
337-
provide: CellContextToken,
337+
provide: TanStackTableCellToken,
338338
useValue: () => proxy.cell,
339339
})
340340
}
341341
if ('header' in proxy) {
342342
staticProviders.push({
343-
provide: HeaderContextToken,
343+
provide: TanStackTableHeaderToken,
344344
useValue: () => proxy.header,
345345
})
346346
}

packages/angular-table/src/context/cell.ts renamed to packages/angular-table/src/helpers/cell.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ export interface TanStackTableCellContext<
1010
cell: Signal<Cell<TFeatures, TData, TValue>>
1111
}
1212

13-
export const CellContextToken = new InjectionToken<
13+
export const TanStackTableCellToken = new InjectionToken<
1414
TanStackTableCellContext<any, any, any>['cell']
1515
>('[TanStack Table] CellContext')
1616

@@ -19,7 +19,7 @@ export const CellContextToken = new InjectionToken<
1919
exportAs: 'cell',
2020
providers: [
2121
{
22-
provide: CellContextToken,
22+
provide: TanStackTableCellToken,
2323
useFactory: () => inject(TanStackTableCell).cell,
2424
},
2525
],
@@ -39,5 +39,5 @@ export function injectTableCellContext<
3939
TData extends RowData,
4040
TValue extends CellData,
4141
>(): TanStackTableCellContext<TFeatures, TData, TValue>['cell'] {
42-
return inject(CellContextToken)
42+
return inject(TanStackTableCellToken)
4343
}

packages/angular-table/src/context/createTableHook.ts renamed to packages/angular-table/src/helpers/createTableHook.ts

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
import { createColumnHelper as coreCreateColumnHelper } from '@tanstack/table-core'
22
import { injectTable } from '../injectTable'
3+
import { injectFlexRenderContext } from '../flexRender'
34
import { injectTableHeaderContext as _injectTableHeaderContext } from './header'
4-
import { injectTableContext as _injetTableContext } from './table'
5+
import { injectTableContext as _injectTableContext } from './table'
56
import { injectTableCellContext as _injectTableCellContext } from './cell'
7+
import type { FlexRenderContent } from '../flexRender'
68
import type { AngularTable } from '../injectTable'
79
import type {
810
AccessorFn,
@@ -18,6 +20,7 @@ import type {
1820
DisplayColumnDef,
1921
GroupColumnDef,
2022
Header,
23+
HeaderContext,
2124
IdentifiedColumnDef,
2225
Row,
2326
RowData,
@@ -28,7 +31,6 @@ import type {
2831
TableState,
2932
} from '@tanstack/table-core'
3033
import type { Type } from '@angular/core'
31-
import type { FlexRenderContent } from '../flex-render'
3234

3335
type RenderableComponent =
3436
| Type<any>
@@ -287,18 +289,6 @@ export type CreateTableContextOptions<
287289
headerComponents?: THeaderComponents
288290
}
289291

290-
/**
291-
* Props for AppCell component
292-
*/
293-
export interface AppCellPropsWithoutSelector<
294-
TFeatures extends TableFeatures,
295-
TData extends RowData,
296-
TValue extends CellData,
297-
TCellComponents extends Record<string, RenderableComponent>,
298-
> {
299-
cell: Cell<TFeatures, TData, TValue>
300-
}
301-
302292
export function createTableHook<
303293
TFeatures extends TableFeatures,
304294
const TTableComponents extends Record<string, RenderableComponent>,
@@ -316,7 +306,7 @@ export function createTableHook<
316306
THeaderComponents
317307
>) {
318308
function injectTableContext<TData extends RowData = RowData>() {
319-
return _injetTableContext<TFeatures, TData>()
309+
return _injectTableContext<TFeatures, TData>()
320310
}
321311

322312
function injectTableHeaderContext<TValue extends CellData = CellData>() {
@@ -327,6 +317,20 @@ export function createTableHook<
327317
return _injectTableCellContext<TFeatures, any, TValue>()
328318
}
329319

320+
function injectFlexRenderHeaderContext<
321+
TData extends RowData,
322+
TValue extends CellData,
323+
>() {
324+
return injectFlexRenderContext<HeaderContext<TFeatures, TData, TValue>>()
325+
}
326+
327+
function injectFlexRenderCellContext<
328+
TData extends RowData,
329+
TValue extends CellData,
330+
>() {
331+
return injectFlexRenderContext<CellContext<TFeatures, TData, TValue>>()
332+
}
333+
330334
function injectAppTable<TData extends RowData, TSelected = {}>(
331335
tableOptions: () => Omit<
332336
TableOptions<TFeatures, TData>,
@@ -384,6 +388,8 @@ export function createTableHook<
384388
injectTableContext,
385389
injectTableHeaderContext,
386390
injectTableCellContext,
391+
injectFlexRenderHeaderContext,
392+
injectFlexRenderCellContext,
387393
injectAppTable,
388394
}
389395
}

packages/angular-table/src/context/flex-render.ts renamed to packages/angular-table/src/helpers/flexRenderCell.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import {
66
RowData,
77
TableFeatures,
88
} from '@tanstack/table-core'
9-
import { FlexRenderDirective } from '../flex-render'
9+
import { FlexRenderDirective } from '../flexRender'
1010

1111
/**
1212
* Simplified directive wrapper of `*flexRender`.

packages/angular-table/src/context/header.ts renamed to packages/angular-table/src/helpers/header.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { Directive, InjectionToken, inject, input } from '@angular/core'
22
import { CellData, Header, RowData, TableFeatures } from '@tanstack/table-core'
33
import type { Signal } from '@angular/core'
44

5-
export const HeaderContextToken = new InjectionToken<
5+
export const TanStackTableHeaderToken = new InjectionToken<
66
TanStackTableHeaderContext<any, any, any>['header']
77
>('[TanStack Table] HeaderContext')
88

@@ -19,7 +19,7 @@ export interface TanStackTableHeaderContext<
1919
exportAs: 'header',
2020
providers: [
2121
{
22-
provide: HeaderContextToken,
22+
provide: TanStackTableHeaderToken,
2323
useFactory: () => inject(TanStackTableHeader).header,
2424
},
2525
],
@@ -39,5 +39,5 @@ export function injectTableHeaderContext<
3939
TData extends RowData,
4040
TValue extends CellData,
4141
>(): TanStackTableHeaderContext<TFeatures, TData, TValue>['header'] {
42-
return inject(HeaderContextToken)
42+
return inject(TanStackTableHeaderToken)
4343
}

0 commit comments

Comments
 (0)