@spartan-ng/brain 0.0.1-alpha.475 → 0.0.1-alpha.476
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -5
- package/fesm2022/spartan-ng-brain-table.mjs +0 -507
- package/fesm2022/spartan-ng-brain-table.mjs.map +0 -1
- package/table/README.md +0 -3
- package/table/index.d.ts +0 -26
- package/table/lib/brn-cell-def.directive.d.ts +0 -9
- package/table/lib/brn-column-def.component.d.ts +0 -18
- package/table/lib/brn-column-manager.d.ts +0 -26
- package/table/lib/brn-footer-def.directive.d.ts +0 -9
- package/table/lib/brn-header-def.directive.d.ts +0 -9
- package/table/lib/brn-paginator.directive.d.ts +0 -44
- package/table/lib/brn-table.component.d.ts +0 -37
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@spartan-ng/brain",
|
|
3
|
-
"version": "0.0.1-alpha.
|
|
3
|
+
"version": "0.0.1-alpha.476",
|
|
4
4
|
"sideEffects": false,
|
|
5
5
|
"exports": {
|
|
6
6
|
"./hlm-tailwind-preset": {
|
|
@@ -114,10 +114,6 @@
|
|
|
114
114
|
"types": "./switch/index.d.ts",
|
|
115
115
|
"default": "./fesm2022/spartan-ng-brain-switch.mjs"
|
|
116
116
|
},
|
|
117
|
-
"./table": {
|
|
118
|
-
"types": "./table/index.d.ts",
|
|
119
|
-
"default": "./fesm2022/spartan-ng-brain-table.mjs"
|
|
120
|
-
},
|
|
121
117
|
"./tabs": {
|
|
122
118
|
"types": "./tabs/index.d.ts",
|
|
123
119
|
"default": "./fesm2022/spartan-ng-brain-tabs.mjs"
|
|
@@ -1,507 +0,0 @@
|
|
|
1
|
-
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, TemplateRef, Directive, input, ContentChild, ViewChild, Input, ViewEncapsulation, ChangeDetectionStrategy, Component, ViewContainerRef, signal, computed, effect, untracked, numberAttribute, EventEmitter, booleanAttribute, ContentChildren, Output, NgModule } from '@angular/core';
|
|
3
|
-
import * as i1 from '@angular/cdk/table';
|
|
4
|
-
import { CdkCellDef, CdkFooterCellDef, CdkHeaderCellDef, CdkTableModule, CdkColumnDef, CdkTable, CdkRowDef } from '@angular/cdk/table';
|
|
5
|
-
import { provideTableClassesSettableExisting } from '@spartan-ng/brain/core';
|
|
6
|
-
|
|
7
|
-
class BrnCellDefDirective extends CdkCellDef {
|
|
8
|
-
template;
|
|
9
|
-
constructor() {
|
|
10
|
-
const template = inject(TemplateRef);
|
|
11
|
-
super(template);
|
|
12
|
-
this.template = template;
|
|
13
|
-
}
|
|
14
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnCellDefDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
15
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.8", type: BrnCellDefDirective, isStandalone: true, selector: "[brnCellDef]", exportAs: ["brnCellDef"], usesInheritance: true, ngImport: i0 });
|
|
16
|
-
}
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnCellDefDirective, decorators: [{
|
|
18
|
-
type: Directive,
|
|
19
|
-
args: [{
|
|
20
|
-
selector: '[brnCellDef]',
|
|
21
|
-
exportAs: 'brnCellDef',
|
|
22
|
-
}]
|
|
23
|
-
}], ctorParameters: () => [] });
|
|
24
|
-
|
|
25
|
-
class BrnFooterDefDirective extends CdkFooterCellDef {
|
|
26
|
-
template;
|
|
27
|
-
constructor() {
|
|
28
|
-
const template = inject(TemplateRef);
|
|
29
|
-
super(template);
|
|
30
|
-
this.template = template;
|
|
31
|
-
}
|
|
32
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnFooterDefDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
33
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.8", type: BrnFooterDefDirective, isStandalone: true, selector: "[brnFooterDef]", exportAs: ["brnFooterDef"], usesInheritance: true, ngImport: i0 });
|
|
34
|
-
}
|
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnFooterDefDirective, decorators: [{
|
|
36
|
-
type: Directive,
|
|
37
|
-
args: [{
|
|
38
|
-
selector: '[brnFooterDef]',
|
|
39
|
-
exportAs: 'brnFooterDef',
|
|
40
|
-
}]
|
|
41
|
-
}], ctorParameters: () => [] });
|
|
42
|
-
|
|
43
|
-
class BrnHeaderDefDirective extends CdkHeaderCellDef {
|
|
44
|
-
template;
|
|
45
|
-
constructor() {
|
|
46
|
-
const template = inject(TemplateRef);
|
|
47
|
-
super(template);
|
|
48
|
-
this.template = template;
|
|
49
|
-
}
|
|
50
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnHeaderDefDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
51
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.8", type: BrnHeaderDefDirective, isStandalone: true, selector: "[brnHeaderDef]", exportAs: ["brnHeaderDef"], usesInheritance: true, ngImport: i0 });
|
|
52
|
-
}
|
|
53
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnHeaderDefDirective, decorators: [{
|
|
54
|
-
type: Directive,
|
|
55
|
-
args: [{
|
|
56
|
-
selector: '[brnHeaderDef]',
|
|
57
|
-
exportAs: 'brnHeaderDef',
|
|
58
|
-
}]
|
|
59
|
-
}], ctorParameters: () => [] });
|
|
60
|
-
|
|
61
|
-
class BrnColumnDefComponent {
|
|
62
|
-
get columnDef() {
|
|
63
|
-
return this._columnDef;
|
|
64
|
-
}
|
|
65
|
-
get cell() {
|
|
66
|
-
return this._columnDef.cell;
|
|
67
|
-
}
|
|
68
|
-
_name = '';
|
|
69
|
-
get name() {
|
|
70
|
-
return this._name;
|
|
71
|
-
}
|
|
72
|
-
set name(value) {
|
|
73
|
-
this._name = value;
|
|
74
|
-
if (!this._columnDef)
|
|
75
|
-
return;
|
|
76
|
-
this._columnDef.name = value;
|
|
77
|
-
}
|
|
78
|
-
class = input('');
|
|
79
|
-
_columnDef;
|
|
80
|
-
_cellDef;
|
|
81
|
-
_footerCellDef;
|
|
82
|
-
_headerCellDef;
|
|
83
|
-
ngAfterContentChecked() {
|
|
84
|
-
this._columnDef.name = this.name;
|
|
85
|
-
if (this._cellDef) {
|
|
86
|
-
this._columnDef.cell = this._cellDef;
|
|
87
|
-
}
|
|
88
|
-
if (this._headerCellDef) {
|
|
89
|
-
this._columnDef.headerCell = this._headerCellDef;
|
|
90
|
-
}
|
|
91
|
-
if (this._footerCellDef) {
|
|
92
|
-
this._columnDef.footerCell = this._footerCellDef;
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnColumnDefComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
96
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.8", type: BrnColumnDefComponent, isStandalone: true, selector: "brn-column-def", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: false, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "_cellDef", first: true, predicate: BrnCellDefDirective, descendants: true, static: true }, { propertyName: "_footerCellDef", first: true, predicate: BrnFooterDefDirective, descendants: true, static: true }, { propertyName: "_headerCellDef", first: true, predicate: BrnHeaderDefDirective, descendants: true, static: true }], viewQueries: [{ propertyName: "_columnDef", first: true, predicate: CdkColumnDef, descendants: true, static: true }], ngImport: i0, template: `
|
|
97
|
-
<ng-container [cdkColumnDef]="name">
|
|
98
|
-
<ng-content select="[brnHeaderDef]" />
|
|
99
|
-
<ng-content select="[brnCellDef]" />
|
|
100
|
-
<ng-content select="[brnFooterDef]" />
|
|
101
|
-
</ng-container>
|
|
102
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CdkTableModule }, { kind: "directive", type: i1.CdkColumnDef, selector: "[cdkColumnDef]", inputs: ["cdkColumnDef", "sticky", "stickyEnd"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
103
|
-
}
|
|
104
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnColumnDefComponent, decorators: [{
|
|
105
|
-
type: Component,
|
|
106
|
-
args: [{
|
|
107
|
-
selector: 'brn-column-def',
|
|
108
|
-
imports: [CdkTableModule],
|
|
109
|
-
template: `
|
|
110
|
-
<ng-container [cdkColumnDef]="name">
|
|
111
|
-
<ng-content select="[brnHeaderDef]" />
|
|
112
|
-
<ng-content select="[brnCellDef]" />
|
|
113
|
-
<ng-content select="[brnFooterDef]" />
|
|
114
|
-
</ng-container>
|
|
115
|
-
`,
|
|
116
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
117
|
-
encapsulation: ViewEncapsulation.None,
|
|
118
|
-
}]
|
|
119
|
-
}], propDecorators: { name: [{
|
|
120
|
-
type: Input
|
|
121
|
-
}], _columnDef: [{
|
|
122
|
-
type: ViewChild,
|
|
123
|
-
args: [CdkColumnDef, { static: true }]
|
|
124
|
-
}], _cellDef: [{
|
|
125
|
-
type: ContentChild,
|
|
126
|
-
args: [BrnCellDefDirective, { static: true }]
|
|
127
|
-
}], _footerCellDef: [{
|
|
128
|
-
type: ContentChild,
|
|
129
|
-
args: [BrnFooterDefDirective, { static: true }]
|
|
130
|
-
}], _headerCellDef: [{
|
|
131
|
-
type: ContentChild,
|
|
132
|
-
args: [BrnHeaderDefDirective, { static: true }]
|
|
133
|
-
}] } });
|
|
134
|
-
|
|
135
|
-
class BrnPaginatorDirective {
|
|
136
|
-
static ngTemplateContextGuard(_directive, _context) {
|
|
137
|
-
return true;
|
|
138
|
-
}
|
|
139
|
-
_vcr = inject(ViewContainerRef);
|
|
140
|
-
_template = inject((TemplateRef));
|
|
141
|
-
_state = signal({
|
|
142
|
-
currentPage: 0,
|
|
143
|
-
startIndex: 0,
|
|
144
|
-
endIndex: 0,
|
|
145
|
-
pageSize: 10,
|
|
146
|
-
totalPages: 0,
|
|
147
|
-
totalElements: null,
|
|
148
|
-
});
|
|
149
|
-
_decrementable = computed(() => 0 < this._state().startIndex);
|
|
150
|
-
_incrementable = computed(() => this._state().endIndex < (this._state().totalElements ?? 0) - 1);
|
|
151
|
-
set totalElements(value) {
|
|
152
|
-
this.calculateNewState({ newTotalElements: value, newPage: 0 });
|
|
153
|
-
}
|
|
154
|
-
set currentPage(value) {
|
|
155
|
-
this.calculateNewState({ newPage: value });
|
|
156
|
-
}
|
|
157
|
-
set pageSize(value) {
|
|
158
|
-
this.calculateNewState({ newPageSize: value, newPage: 0 });
|
|
159
|
-
}
|
|
160
|
-
onStateChange;
|
|
161
|
-
constructor() {
|
|
162
|
-
effect(() => {
|
|
163
|
-
const state = this._state();
|
|
164
|
-
untracked(() => {
|
|
165
|
-
Promise.resolve().then(() => {
|
|
166
|
-
if (this.onStateChange) {
|
|
167
|
-
this.onStateChange(state);
|
|
168
|
-
}
|
|
169
|
-
});
|
|
170
|
-
});
|
|
171
|
-
});
|
|
172
|
-
}
|
|
173
|
-
ngOnInit() {
|
|
174
|
-
this._vcr.createEmbeddedView(this._template, {
|
|
175
|
-
$implicit: {
|
|
176
|
-
state: this._state,
|
|
177
|
-
increment: () => this.incrementPage(),
|
|
178
|
-
decrement: () => this.decrementPage(),
|
|
179
|
-
incrementable: this._incrementable,
|
|
180
|
-
decrementable: this._decrementable,
|
|
181
|
-
goToFirstPage: () => this.reset(),
|
|
182
|
-
goToLastPage: () => this.goToLastPage(),
|
|
183
|
-
},
|
|
184
|
-
});
|
|
185
|
-
}
|
|
186
|
-
decrementPage() {
|
|
187
|
-
const { currentPage } = this._state();
|
|
188
|
-
if (0 < currentPage) {
|
|
189
|
-
this.calculateNewState({ newPage: currentPage - 1 });
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
goToLastPage() {
|
|
193
|
-
this.currentPage = this._state().totalPages;
|
|
194
|
-
}
|
|
195
|
-
incrementPage() {
|
|
196
|
-
const { currentPage, totalPages } = this._state();
|
|
197
|
-
if (totalPages > currentPage) {
|
|
198
|
-
this.calculateNewState({ newPage: currentPage + 1 });
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
reset() {
|
|
202
|
-
this.currentPage = 0;
|
|
203
|
-
}
|
|
204
|
-
calculateNewState({ newPage, newPageSize, newTotalElements, }) {
|
|
205
|
-
const previousState = this._state();
|
|
206
|
-
let currentPage = newPage ?? previousState.currentPage;
|
|
207
|
-
const pageSize = newPageSize ?? previousState.pageSize;
|
|
208
|
-
const totalElements = newTotalElements ?? previousState.totalElements ?? 0;
|
|
209
|
-
const newTotalPages = totalElements ? Math.floor(totalElements / pageSize) : 0;
|
|
210
|
-
if (newTotalPages < currentPage - 1) {
|
|
211
|
-
currentPage = newTotalPages - 1;
|
|
212
|
-
}
|
|
213
|
-
const newStartIndex = totalElements === 0 ? 0 : Math.min(totalElements - 1, currentPage * pageSize);
|
|
214
|
-
const newEndIndex = Math.min((currentPage + 1) * pageSize - 1, totalElements - 1);
|
|
215
|
-
const newState = {
|
|
216
|
-
currentPage: currentPage,
|
|
217
|
-
startIndex: newStartIndex,
|
|
218
|
-
endIndex: newEndIndex,
|
|
219
|
-
pageSize: pageSize,
|
|
220
|
-
totalPages: newTotalPages,
|
|
221
|
-
totalElements: totalElements,
|
|
222
|
-
};
|
|
223
|
-
this._state.set(newState);
|
|
224
|
-
}
|
|
225
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnPaginatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
226
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.2.8", type: BrnPaginatorDirective, isStandalone: true, selector: "[brnPaginator]", inputs: { totalElements: ["brnPaginatorTotalElements", "totalElements"], currentPage: ["brnPaginatorCurrentPage", "currentPage", numberAttribute], pageSize: ["brnPaginatorPageSize", "pageSize", numberAttribute], onStateChange: ["brnPaginatorOnStateChange", "onStateChange"] }, exportAs: ["brnPaginator"], ngImport: i0 });
|
|
227
|
-
}
|
|
228
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnPaginatorDirective, decorators: [{
|
|
229
|
-
type: Directive,
|
|
230
|
-
args: [{
|
|
231
|
-
selector: '[brnPaginator]',
|
|
232
|
-
exportAs: 'brnPaginator',
|
|
233
|
-
}]
|
|
234
|
-
}], ctorParameters: () => [], propDecorators: { totalElements: [{
|
|
235
|
-
type: Input,
|
|
236
|
-
args: [{ alias: 'brnPaginatorTotalElements' }]
|
|
237
|
-
}], currentPage: [{
|
|
238
|
-
type: Input,
|
|
239
|
-
args: [{ alias: 'brnPaginatorCurrentPage', transform: numberAttribute }]
|
|
240
|
-
}], pageSize: [{
|
|
241
|
-
type: Input,
|
|
242
|
-
args: [{ alias: 'brnPaginatorPageSize', transform: numberAttribute }]
|
|
243
|
-
}], onStateChange: [{
|
|
244
|
-
type: Input,
|
|
245
|
-
args: [{ alias: 'brnPaginatorOnStateChange' }]
|
|
246
|
-
}] } });
|
|
247
|
-
|
|
248
|
-
class BrnTableComponent {
|
|
249
|
-
_cdkTable;
|
|
250
|
-
// Cdk Table Inputs / Outputs
|
|
251
|
-
dataSource = [];
|
|
252
|
-
fixedLayout = false;
|
|
253
|
-
multiTemplateDataRows = false;
|
|
254
|
-
displayedColumns = [];
|
|
255
|
-
_trackBy;
|
|
256
|
-
get trackBy() {
|
|
257
|
-
return this._trackBy;
|
|
258
|
-
}
|
|
259
|
-
set trackBy(value) {
|
|
260
|
-
this._trackBy = value;
|
|
261
|
-
if (this._cdkTable) {
|
|
262
|
-
this._cdkTable.trackBy = this._trackBy;
|
|
263
|
-
}
|
|
264
|
-
}
|
|
265
|
-
contentChanged = new EventEmitter();
|
|
266
|
-
// Brn Inputs / Outputs
|
|
267
|
-
customTemplateDataRows = false;
|
|
268
|
-
onRowClick;
|
|
269
|
-
stickyHeader = false;
|
|
270
|
-
tableClasses = '';
|
|
271
|
-
headerRowClasses = '';
|
|
272
|
-
bodyRowClasses = '';
|
|
273
|
-
columnDefComponents;
|
|
274
|
-
rowDefs;
|
|
275
|
-
// after the <ng-content> has been initialized, the column definitions are available.
|
|
276
|
-
// All that's left is to add them to the table ourselves:
|
|
277
|
-
ngAfterContentInit() {
|
|
278
|
-
this.columnDefComponents.forEach((component) => {
|
|
279
|
-
if (!this._cdkTable)
|
|
280
|
-
return;
|
|
281
|
-
if (component.cell) {
|
|
282
|
-
this._cdkTable.addColumnDef(component.columnDef);
|
|
283
|
-
}
|
|
284
|
-
});
|
|
285
|
-
this.rowDefs.forEach((rowDef) => {
|
|
286
|
-
if (!this._cdkTable)
|
|
287
|
-
return;
|
|
288
|
-
this._cdkTable.addRowDef(rowDef);
|
|
289
|
-
});
|
|
290
|
-
}
|
|
291
|
-
setTableClasses({ table, headerRow, bodyRow, }) {
|
|
292
|
-
if (table) {
|
|
293
|
-
this.tableClasses = table;
|
|
294
|
-
}
|
|
295
|
-
if (headerRow) {
|
|
296
|
-
this.headerRowClasses = headerRow;
|
|
297
|
-
}
|
|
298
|
-
if (bodyRow) {
|
|
299
|
-
this.bodyRowClasses = bodyRow;
|
|
300
|
-
}
|
|
301
|
-
}
|
|
302
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
303
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.8", type: BrnTableComponent, isStandalone: true, selector: "brn-table", inputs: { dataSource: "dataSource", fixedLayout: ["fixedLayout", "fixedLayout", booleanAttribute], multiTemplateDataRows: ["multiTemplateDataRows", "multiTemplateDataRows", booleanAttribute], displayedColumns: "displayedColumns", trackBy: "trackBy", customTemplateDataRows: ["customTemplateDataRows", "customTemplateDataRows", booleanAttribute], onRowClick: "onRowClick", stickyHeader: ["stickyHeader", "stickyHeader", booleanAttribute], tableClasses: "tableClasses", headerRowClasses: "headerRowClasses", bodyRowClasses: "bodyRowClasses" }, outputs: { contentChanged: "contentChanged" }, providers: [provideTableClassesSettableExisting((() => BrnTableComponent))], queries: [{ propertyName: "columnDefComponents", predicate: BrnColumnDefComponent }, { propertyName: "rowDefs", predicate: CdkRowDef }], viewQueries: [{ propertyName: "_cdkTable", first: true, predicate: ["cdkTable"], descendants: true, read: CdkTable, static: true }], ngImport: i0, template: `
|
|
304
|
-
<cdk-table
|
|
305
|
-
#cdkTable
|
|
306
|
-
[class]="tableClasses"
|
|
307
|
-
[dataSource]="dataSource"
|
|
308
|
-
[fixedLayout]="fixedLayout"
|
|
309
|
-
[multiTemplateDataRows]="multiTemplateDataRows"
|
|
310
|
-
(contentChanged)="contentChanged.emit()"
|
|
311
|
-
>
|
|
312
|
-
<ng-content />
|
|
313
|
-
|
|
314
|
-
<cdk-header-row [class]="headerRowClasses" *cdkHeaderRowDef="displayedColumns; sticky: stickyHeader" />
|
|
315
|
-
@if (!customTemplateDataRows) {
|
|
316
|
-
<cdk-row
|
|
317
|
-
[tabindex]="!!onRowClick ? 0 : -1"
|
|
318
|
-
[attr.role]="!!onRowClick ? 'button' : 'row'"
|
|
319
|
-
[class.row-interactive]="!!onRowClick"
|
|
320
|
-
(keydown.enter)="!!onRowClick && onRowClick(row)"
|
|
321
|
-
(click)="!!onRowClick && onRowClick(row)"
|
|
322
|
-
[class]="bodyRowClasses"
|
|
323
|
-
*cdkRowDef="let row; columns: displayedColumns"
|
|
324
|
-
/>
|
|
325
|
-
}
|
|
326
|
-
|
|
327
|
-
<ng-template cdkNoDataRow>
|
|
328
|
-
<ng-content select="[brnNoDataRow]" />
|
|
329
|
-
</ng-template>
|
|
330
|
-
</cdk-table>
|
|
331
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CdkTableModule }, { kind: "component", type: i1.CdkTable, selector: "cdk-table, table[cdk-table]", inputs: ["trackBy", "dataSource", "multiTemplateDataRows", "fixedLayout"], outputs: ["contentChanged"], exportAs: ["cdkTable"] }, { kind: "directive", type: i1.CdkRowDef, selector: "[cdkRowDef]", inputs: ["cdkRowDefColumns", "cdkRowDefWhen"] }, { kind: "component", type: i1.CdkRow, selector: "cdk-row, tr[cdk-row]" }, { kind: "component", type: i1.CdkHeaderRow, selector: "cdk-header-row, tr[cdk-header-row]" }, { kind: "directive", type: i1.CdkHeaderRowDef, selector: "[cdkHeaderRowDef]", inputs: ["cdkHeaderRowDef", "cdkHeaderRowDefSticky"] }, { kind: "directive", type: i1.CdkNoDataRow, selector: "ng-template[cdkNoDataRow]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
332
|
-
}
|
|
333
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnTableComponent, decorators: [{
|
|
334
|
-
type: Component,
|
|
335
|
-
args: [{
|
|
336
|
-
selector: 'brn-table',
|
|
337
|
-
imports: [CdkTableModule],
|
|
338
|
-
providers: [provideTableClassesSettableExisting((() => BrnTableComponent))],
|
|
339
|
-
template: `
|
|
340
|
-
<cdk-table
|
|
341
|
-
#cdkTable
|
|
342
|
-
[class]="tableClasses"
|
|
343
|
-
[dataSource]="dataSource"
|
|
344
|
-
[fixedLayout]="fixedLayout"
|
|
345
|
-
[multiTemplateDataRows]="multiTemplateDataRows"
|
|
346
|
-
(contentChanged)="contentChanged.emit()"
|
|
347
|
-
>
|
|
348
|
-
<ng-content />
|
|
349
|
-
|
|
350
|
-
<cdk-header-row [class]="headerRowClasses" *cdkHeaderRowDef="displayedColumns; sticky: stickyHeader" />
|
|
351
|
-
@if (!customTemplateDataRows) {
|
|
352
|
-
<cdk-row
|
|
353
|
-
[tabindex]="!!onRowClick ? 0 : -1"
|
|
354
|
-
[attr.role]="!!onRowClick ? 'button' : 'row'"
|
|
355
|
-
[class.row-interactive]="!!onRowClick"
|
|
356
|
-
(keydown.enter)="!!onRowClick && onRowClick(row)"
|
|
357
|
-
(click)="!!onRowClick && onRowClick(row)"
|
|
358
|
-
[class]="bodyRowClasses"
|
|
359
|
-
*cdkRowDef="let row; columns: displayedColumns"
|
|
360
|
-
/>
|
|
361
|
-
}
|
|
362
|
-
|
|
363
|
-
<ng-template cdkNoDataRow>
|
|
364
|
-
<ng-content select="[brnNoDataRow]" />
|
|
365
|
-
</ng-template>
|
|
366
|
-
</cdk-table>
|
|
367
|
-
`,
|
|
368
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
369
|
-
encapsulation: ViewEncapsulation.None,
|
|
370
|
-
}]
|
|
371
|
-
}], propDecorators: { _cdkTable: [{
|
|
372
|
-
type: ViewChild,
|
|
373
|
-
args: ['cdkTable', { read: CdkTable, static: true }]
|
|
374
|
-
}], dataSource: [{
|
|
375
|
-
type: Input
|
|
376
|
-
}], fixedLayout: [{
|
|
377
|
-
type: Input,
|
|
378
|
-
args: [{ transform: booleanAttribute }]
|
|
379
|
-
}], multiTemplateDataRows: [{
|
|
380
|
-
type: Input,
|
|
381
|
-
args: [{ transform: booleanAttribute }]
|
|
382
|
-
}], displayedColumns: [{
|
|
383
|
-
type: Input
|
|
384
|
-
}], trackBy: [{
|
|
385
|
-
type: Input
|
|
386
|
-
}], contentChanged: [{
|
|
387
|
-
type: Output
|
|
388
|
-
}], customTemplateDataRows: [{
|
|
389
|
-
type: Input,
|
|
390
|
-
args: [{ transform: booleanAttribute }]
|
|
391
|
-
}], onRowClick: [{
|
|
392
|
-
type: Input
|
|
393
|
-
}], stickyHeader: [{
|
|
394
|
-
type: Input,
|
|
395
|
-
args: [{ transform: booleanAttribute }]
|
|
396
|
-
}], tableClasses: [{
|
|
397
|
-
type: Input
|
|
398
|
-
}], headerRowClasses: [{
|
|
399
|
-
type: Input
|
|
400
|
-
}], bodyRowClasses: [{
|
|
401
|
-
type: Input
|
|
402
|
-
}], columnDefComponents: [{
|
|
403
|
-
type: ContentChildren,
|
|
404
|
-
args: [BrnColumnDefComponent]
|
|
405
|
-
}], rowDefs: [{
|
|
406
|
-
type: ContentChildren,
|
|
407
|
-
args: [CdkRowDef]
|
|
408
|
-
}] } });
|
|
409
|
-
|
|
410
|
-
class BrnColumnManager {
|
|
411
|
-
_initialColumnVisibility;
|
|
412
|
-
_columnVisibility;
|
|
413
|
-
allColumns;
|
|
414
|
-
columnVisibility;
|
|
415
|
-
displayedColumns = computed(() => {
|
|
416
|
-
return Object.entries(this._columnVisibility())
|
|
417
|
-
.filter(([, value]) => (typeof value === 'boolean' ? value : value.visible))
|
|
418
|
-
.map(([key]) => key);
|
|
419
|
-
});
|
|
420
|
-
constructor(initialColumnVisibility) {
|
|
421
|
-
this._initialColumnVisibility = initialColumnVisibility;
|
|
422
|
-
this._columnVisibility = signal(this._initialColumnVisibility);
|
|
423
|
-
this._columnVisibility.set(this._initialColumnVisibility);
|
|
424
|
-
this.columnVisibility = this._columnVisibility.asReadonly();
|
|
425
|
-
this.allColumns = this.createAllColumns(this._initialColumnVisibility);
|
|
426
|
-
}
|
|
427
|
-
isColumnVisible = (columnName) => {
|
|
428
|
-
const visibilityMap = this.columnVisibility();
|
|
429
|
-
const columnEntry = visibilityMap[columnName];
|
|
430
|
-
return typeof columnEntry === 'boolean' ? columnEntry : columnEntry.visible;
|
|
431
|
-
};
|
|
432
|
-
isColumnDisabled = (columnName) => this.isColumnVisible(columnName) && this.displayedColumns().length === 1;
|
|
433
|
-
toggleVisibility(columnName) {
|
|
434
|
-
const visibilityMap = this._columnVisibility();
|
|
435
|
-
const columnEntry = visibilityMap[columnName];
|
|
436
|
-
const newVisibilityState = typeof columnEntry === 'boolean' ? !columnEntry : { visible: !columnEntry.visible };
|
|
437
|
-
this._columnVisibility.set({ ...visibilityMap, [columnName]: newVisibilityState });
|
|
438
|
-
}
|
|
439
|
-
setVisible(columnName) {
|
|
440
|
-
const visibilityMap = this._columnVisibility();
|
|
441
|
-
const columnEntry = visibilityMap[columnName];
|
|
442
|
-
const newVisibilityState = typeof columnEntry === 'boolean' ? true : { visible: true };
|
|
443
|
-
this._columnVisibility.set({ ...visibilityMap, [columnName]: newVisibilityState });
|
|
444
|
-
}
|
|
445
|
-
setInvisible(columnName) {
|
|
446
|
-
const visibilityMap = this._columnVisibility();
|
|
447
|
-
const columnEntry = visibilityMap[columnName];
|
|
448
|
-
const newVisibilityState = typeof columnEntry === 'boolean' ? false : { visible: false };
|
|
449
|
-
this._columnVisibility.set({ ...visibilityMap, [columnName]: newVisibilityState });
|
|
450
|
-
}
|
|
451
|
-
createAllColumns(initialColumnVisibility) {
|
|
452
|
-
const keys = Object.keys(initialColumnVisibility);
|
|
453
|
-
if (this.isBooleanConfig(initialColumnVisibility)) {
|
|
454
|
-
return keys;
|
|
455
|
-
}
|
|
456
|
-
return keys.map((key) => {
|
|
457
|
-
const values = initialColumnVisibility[key];
|
|
458
|
-
return {
|
|
459
|
-
name: key,
|
|
460
|
-
...values,
|
|
461
|
-
};
|
|
462
|
-
});
|
|
463
|
-
}
|
|
464
|
-
isBooleanConfig(config) {
|
|
465
|
-
return typeof Object.values(config)[0] === 'boolean';
|
|
466
|
-
}
|
|
467
|
-
}
|
|
468
|
-
const useBrnColumnManager = (initialColumnVisibility) => new BrnColumnManager(initialColumnVisibility);
|
|
469
|
-
|
|
470
|
-
const BrnTableImports = [
|
|
471
|
-
BrnCellDefDirective,
|
|
472
|
-
BrnColumnDefComponent,
|
|
473
|
-
BrnFooterDefDirective,
|
|
474
|
-
BrnHeaderDefDirective,
|
|
475
|
-
BrnTableComponent,
|
|
476
|
-
BrnPaginatorDirective,
|
|
477
|
-
];
|
|
478
|
-
class BrnTableModule {
|
|
479
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
480
|
-
/** @nocollapse */ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.8", ngImport: i0, type: BrnTableModule, imports: [BrnCellDefDirective,
|
|
481
|
-
BrnColumnDefComponent,
|
|
482
|
-
BrnFooterDefDirective,
|
|
483
|
-
BrnHeaderDefDirective,
|
|
484
|
-
BrnTableComponent,
|
|
485
|
-
BrnPaginatorDirective], exports: [BrnCellDefDirective,
|
|
486
|
-
BrnColumnDefComponent,
|
|
487
|
-
BrnFooterDefDirective,
|
|
488
|
-
BrnHeaderDefDirective,
|
|
489
|
-
BrnTableComponent,
|
|
490
|
-
BrnPaginatorDirective] });
|
|
491
|
-
/** @nocollapse */ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnTableModule, imports: [BrnColumnDefComponent,
|
|
492
|
-
BrnTableComponent] });
|
|
493
|
-
}
|
|
494
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnTableModule, decorators: [{
|
|
495
|
-
type: NgModule,
|
|
496
|
-
args: [{
|
|
497
|
-
imports: [...BrnTableImports],
|
|
498
|
-
exports: [...BrnTableImports],
|
|
499
|
-
}]
|
|
500
|
-
}] });
|
|
501
|
-
|
|
502
|
-
/**
|
|
503
|
-
* Generated bundle index. Do not edit.
|
|
504
|
-
*/
|
|
505
|
-
|
|
506
|
-
export { BrnCellDefDirective, BrnColumnDefComponent, BrnColumnManager, BrnFooterDefDirective, BrnHeaderDefDirective, BrnPaginatorDirective, BrnTableComponent, BrnTableImports, BrnTableModule, useBrnColumnManager };
|
|
507
|
-
//# sourceMappingURL=spartan-ng-brain-table.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"spartan-ng-brain-table.mjs","sources":["../../../../libs/brain/table/src/lib/brn-cell-def.directive.ts","../../../../libs/brain/table/src/lib/brn-footer-def.directive.ts","../../../../libs/brain/table/src/lib/brn-header-def.directive.ts","../../../../libs/brain/table/src/lib/brn-column-def.component.ts","../../../../libs/brain/table/src/lib/brn-paginator.directive.ts","../../../../libs/brain/table/src/lib/brn-table.component.ts","../../../../libs/brain/table/src/lib/brn-column-manager.ts","../../../../libs/brain/table/src/index.ts","../../../../libs/brain/table/src/spartan-ng-brain-table.ts"],"sourcesContent":["import { CdkCellDef } from '@angular/cdk/table';\nimport { Directive, TemplateRef, inject } from '@angular/core';\n\n@Directive({\n\tselector: '[brnCellDef]',\n\texportAs: 'brnCellDef',\n})\nexport class BrnCellDefDirective extends CdkCellDef {\n\tpublic override template: TemplateRef<unknown>;\n\n\tconstructor() {\n\t\tconst template = inject<TemplateRef<unknown>>(TemplateRef);\n\n\t\tsuper(template);\n\t\tthis.template = template;\n\t}\n}\n","import { CdkFooterCellDef } from '@angular/cdk/table';\nimport { Directive, TemplateRef, inject } from '@angular/core';\n\n@Directive({\n\tselector: '[brnFooterDef]',\n\texportAs: 'brnFooterDef',\n})\nexport class BrnFooterDefDirective extends CdkFooterCellDef {\n\tpublic override template: TemplateRef<unknown>;\n\n\tconstructor() {\n\t\tconst template = inject<TemplateRef<unknown>>(TemplateRef);\n\n\t\tsuper(template);\n\t\tthis.template = template;\n\t}\n}\n","import { CdkHeaderCellDef } from '@angular/cdk/table';\nimport { Directive, TemplateRef, inject } from '@angular/core';\n\n@Directive({\n\tselector: '[brnHeaderDef]',\n\texportAs: 'brnHeaderDef',\n})\nexport class BrnHeaderDefDirective extends CdkHeaderCellDef {\n\tpublic override template: TemplateRef<unknown>;\n\n\tconstructor() {\n\t\tconst template = inject<TemplateRef<unknown>>(TemplateRef);\n\n\t\tsuper(template);\n\t\tthis.template = template;\n\t}\n}\n","import {\n\ttype CdkCellDef,\n\tCdkColumnDef,\n\ttype CdkFooterCellDef,\n\ttype CdkHeaderCellDef,\n\tCdkTableModule,\n} from '@angular/cdk/table';\nimport {\n\ttype AfterContentChecked,\n\tChangeDetectionStrategy,\n\tComponent,\n\tContentChild,\n\tInput,\n\tViewChild,\n\tViewEncapsulation,\n\tinput,\n} from '@angular/core';\nimport { BrnCellDefDirective } from './brn-cell-def.directive';\nimport { BrnFooterDefDirective } from './brn-footer-def.directive';\nimport { BrnHeaderDefDirective } from './brn-header-def.directive';\n\n@Component({\n\tselector: 'brn-column-def',\n\timports: [CdkTableModule],\n\ttemplate: `\n\t\t<ng-container [cdkColumnDef]=\"name\">\n\t\t\t<ng-content select=\"[brnHeaderDef]\" />\n\t\t\t<ng-content select=\"[brnCellDef]\" />\n\t\t\t<ng-content select=\"[brnFooterDef]\" />\n\t\t</ng-container>\n\t`,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class BrnColumnDefComponent implements AfterContentChecked {\n\tpublic get columnDef() {\n\t\treturn this._columnDef;\n\t}\n\n\tpublic get cell() {\n\t\treturn this._columnDef.cell;\n\t}\n\n\tprivate _name = '';\n\t@Input()\n\tpublic get name(): string {\n\t\treturn this._name;\n\t}\n\n\tpublic set name(value: string) {\n\t\tthis._name = value;\n\t\tif (!this._columnDef) return;\n\t\tthis._columnDef.name = value;\n\t}\n\n\tpublic readonly class = input('');\n\n\t@ViewChild(CdkColumnDef, { static: true })\n\tprivate readonly _columnDef!: CdkColumnDef;\n\n\t@ContentChild(BrnCellDefDirective, { static: true })\n\tprivate readonly _cellDef?: CdkCellDef;\n\t@ContentChild(BrnFooterDefDirective, { static: true })\n\tprivate readonly _footerCellDef?: CdkFooterCellDef;\n\t@ContentChild(BrnHeaderDefDirective, { static: true })\n\tprivate readonly _headerCellDef?: CdkHeaderCellDef;\n\n\tpublic ngAfterContentChecked(): void {\n\t\tthis._columnDef.name = this.name;\n\t\tif (this._cellDef) {\n\t\t\tthis._columnDef.cell = this._cellDef;\n\t\t}\n\t\tif (this._headerCellDef) {\n\t\t\tthis._columnDef.headerCell = this._headerCellDef;\n\t\t}\n\t\tif (this._footerCellDef) {\n\t\t\tthis._columnDef.footerCell = this._footerCellDef;\n\t\t}\n\t}\n}\n","import {\n\tDirective,\n\tInput,\n\ttype OnInit,\n\ttype Signal,\n\tTemplateRef,\n\tViewContainerRef,\n\tcomputed,\n\teffect,\n\tinject,\n\tnumberAttribute,\n\tsignal,\n\tuntracked,\n} from '@angular/core';\n\nexport type PaginatorState = {\n\tcurrentPage: number;\n\tstartIndex: number;\n\tendIndex: number;\n\tpageSize: number;\n\ttotalPages: number;\n\ttotalElements: number | null | undefined;\n};\n\nexport type PaginatorContext = {\n\t$implicit: {\n\t\tstate: Signal<PaginatorState>;\n\t\tincrementable: Signal<boolean>;\n\t\tdecrementable: Signal<boolean>;\n\t\tincrement: () => void;\n\t\tdecrement: () => void;\n\t\tgoToFirstPage: () => void;\n\t\tgoToLastPage: () => void;\n\t};\n};\n\n@Directive({\n\tselector: '[brnPaginator]',\n\texportAs: 'brnPaginator',\n})\nexport class BrnPaginatorDirective implements OnInit {\n\tstatic ngTemplateContextGuard(_directive: BrnPaginatorDirective, _context: unknown): _context is PaginatorContext {\n\t\treturn true;\n\t}\n\n\tprivate readonly _vcr = inject(ViewContainerRef);\n\tprivate readonly _template = inject(TemplateRef<unknown>);\n\n\tprivate readonly _state = signal<PaginatorState>({\n\t\tcurrentPage: 0,\n\t\tstartIndex: 0,\n\t\tendIndex: 0,\n\t\tpageSize: 10,\n\t\ttotalPages: 0,\n\t\ttotalElements: null,\n\t});\n\tprivate readonly _decrementable = computed(() => 0 < this._state().startIndex);\n\tprivate readonly _incrementable = computed(() => this._state().endIndex < (this._state().totalElements ?? 0) - 1);\n\n\t@Input({ alias: 'brnPaginatorTotalElements' })\n\tpublic set totalElements(value: number | null | undefined) {\n\t\tthis.calculateNewState({ newTotalElements: value, newPage: 0 });\n\t}\n\n\t@Input({ alias: 'brnPaginatorCurrentPage', transform: numberAttribute })\n\tpublic set currentPage(value: number) {\n\t\tthis.calculateNewState({ newPage: value });\n\t}\n\n\t@Input({ alias: 'brnPaginatorPageSize', transform: numberAttribute })\n\tpublic set pageSize(value: number) {\n\t\tthis.calculateNewState({ newPageSize: value, newPage: 0 });\n\t}\n\n\t@Input({ alias: 'brnPaginatorOnStateChange' })\n\tpublic onStateChange?: (state: PaginatorState) => void;\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tconst state = this._state();\n\t\t\tuntracked(() => {\n\t\t\t\tPromise.resolve().then(() => {\n\t\t\t\t\tif (this.onStateChange) {\n\t\t\t\t\t\tthis.onStateChange(state);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t}\n\n\tpublic ngOnInit() {\n\t\tthis._vcr.createEmbeddedView<PaginatorContext>(this._template, {\n\t\t\t$implicit: {\n\t\t\t\tstate: this._state,\n\t\t\t\tincrement: () => this.incrementPage(),\n\t\t\t\tdecrement: () => this.decrementPage(),\n\t\t\t\tincrementable: this._incrementable,\n\t\t\t\tdecrementable: this._decrementable,\n\t\t\t\tgoToFirstPage: () => this.reset(),\n\t\t\t\tgoToLastPage: () => this.goToLastPage(),\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic decrementPage(): void {\n\t\tconst { currentPage } = this._state();\n\t\tif (0 < currentPage) {\n\t\t\tthis.calculateNewState({ newPage: currentPage - 1 });\n\t\t}\n\t}\n\n\tpublic goToLastPage(): void {\n\t\tthis.currentPage = this._state().totalPages;\n\t}\n\n\tpublic incrementPage(): void {\n\t\tconst { currentPage, totalPages } = this._state();\n\t\tif (totalPages > currentPage) {\n\t\t\tthis.calculateNewState({ newPage: currentPage + 1 });\n\t\t}\n\t}\n\n\tpublic reset(): void {\n\t\tthis.currentPage = 0;\n\t}\n\n\tprivate calculateNewState({\n\t\tnewPage,\n\t\tnewPageSize,\n\t\tnewTotalElements,\n\t}: Partial<{\n\t\tnewPage: number;\n\t\tnewPageSize: number;\n\t\tnewTotalElements: number | null | undefined;\n\t}>) {\n\t\tconst previousState = this._state();\n\n\t\tlet currentPage = newPage ?? previousState.currentPage;\n\t\tconst pageSize = newPageSize ?? previousState.pageSize;\n\t\tconst totalElements = newTotalElements ?? previousState.totalElements ?? 0;\n\n\t\tconst newTotalPages = totalElements ? Math.floor(totalElements / pageSize) : 0;\n\n\t\tif (newTotalPages < currentPage - 1) {\n\t\t\tcurrentPage = newTotalPages - 1;\n\t\t}\n\n\t\tconst newStartIndex = totalElements === 0 ? 0 : Math.min(totalElements - 1, currentPage * pageSize);\n\t\tconst newEndIndex = Math.min((currentPage + 1) * pageSize - 1, totalElements - 1);\n\n\t\tconst newState = {\n\t\t\tcurrentPage: currentPage,\n\t\t\tstartIndex: newStartIndex,\n\t\t\tendIndex: newEndIndex,\n\t\t\tpageSize: pageSize,\n\t\t\ttotalPages: newTotalPages,\n\t\t\ttotalElements: totalElements,\n\t\t};\n\n\t\tthis._state.set(newState);\n\t}\n}\n","import { CdkRowDef, CdkTable, type CdkTableDataSourceInput, CdkTableModule } from '@angular/cdk/table';\nimport {\n\ttype AfterContentInit,\n\tChangeDetectionStrategy,\n\tComponent,\n\tContentChildren,\n\tEventEmitter,\n\tInput,\n\tOutput,\n\ttype QueryList,\n\ttype TrackByFunction,\n\tViewChild,\n\tViewEncapsulation,\n\tbooleanAttribute,\n} from '@angular/core';\nimport { type TableClassesSettable, provideTableClassesSettableExisting } from '@spartan-ng/brain/core';\nimport { BrnColumnDefComponent } from './brn-column-def.component';\n\nexport type BrnTableDataSourceInput<T> = CdkTableDataSourceInput<T>;\n\n@Component({\n\tselector: 'brn-table',\n\timports: [CdkTableModule],\n\tproviders: [provideTableClassesSettableExisting(<T>() => BrnTableComponent<T>)],\n\ttemplate: `\n\t\t<cdk-table\n\t\t\t#cdkTable\n\t\t\t[class]=\"tableClasses\"\n\t\t\t[dataSource]=\"dataSource\"\n\t\t\t[fixedLayout]=\"fixedLayout\"\n\t\t\t[multiTemplateDataRows]=\"multiTemplateDataRows\"\n\t\t\t(contentChanged)=\"contentChanged.emit()\"\n\t\t>\n\t\t\t<ng-content />\n\n\t\t\t<cdk-header-row [class]=\"headerRowClasses\" *cdkHeaderRowDef=\"displayedColumns; sticky: stickyHeader\" />\n\t\t\t@if (!customTemplateDataRows) {\n\t\t\t\t<cdk-row\n\t\t\t\t\t[tabindex]=\"!!onRowClick ? 0 : -1\"\n\t\t\t\t\t[attr.role]=\"!!onRowClick ? 'button' : 'row'\"\n\t\t\t\t\t[class.row-interactive]=\"!!onRowClick\"\n\t\t\t\t\t(keydown.enter)=\"!!onRowClick && onRowClick(row)\"\n\t\t\t\t\t(click)=\"!!onRowClick && onRowClick(row)\"\n\t\t\t\t\t[class]=\"bodyRowClasses\"\n\t\t\t\t\t*cdkRowDef=\"let row; columns: displayedColumns\"\n\t\t\t\t/>\n\t\t\t}\n\n\t\t\t<ng-template cdkNoDataRow>\n\t\t\t\t<ng-content select=\"[brnNoDataRow]\" />\n\t\t\t</ng-template>\n\t\t</cdk-table>\n\t`,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class BrnTableComponent<T> implements TableClassesSettable, AfterContentInit {\n\t@ViewChild('cdkTable', { read: CdkTable, static: true })\n\tprivate readonly _cdkTable?: CdkTable<T>;\n\t// Cdk Table Inputs / Outputs\n\t@Input()\n\tpublic dataSource: BrnTableDataSourceInput<T> = [];\n\t@Input({ transform: booleanAttribute })\n\tpublic fixedLayout = false;\n\t@Input({ transform: booleanAttribute })\n\tpublic multiTemplateDataRows = false;\n\t@Input()\n\tpublic displayedColumns: string[] = [];\n\n\tprivate _trackBy?: TrackByFunction<T>;\n\tpublic get trackBy(): TrackByFunction<T> | undefined {\n\t\treturn this._trackBy;\n\t}\n\n\t@Input()\n\tpublic set trackBy(value: TrackByFunction<T>) {\n\t\tthis._trackBy = value;\n\t\tif (this._cdkTable) {\n\t\t\tthis._cdkTable.trackBy = this._trackBy;\n\t\t}\n\t}\n\n\t@Output()\n\tpublic readonly contentChanged: EventEmitter<void> = new EventEmitter<void>();\n\n\t// Brn Inputs / Outputs\n\t@Input({ transform: booleanAttribute })\n\tpublic customTemplateDataRows = false;\n\t@Input()\n\tpublic onRowClick: ((element: T) => void) | undefined;\n\n\t@Input({ transform: booleanAttribute })\n\tpublic stickyHeader = false;\n\t@Input()\n\tpublic tableClasses = '';\n\t@Input()\n\tpublic headerRowClasses = '';\n\t@Input()\n\tpublic bodyRowClasses = '';\n\n\t@ContentChildren(BrnColumnDefComponent) public columnDefComponents!: QueryList<BrnColumnDefComponent>;\n\t@ContentChildren(CdkRowDef) public rowDefs!: QueryList<CdkRowDef<T>>;\n\n\t// after the <ng-content> has been initialized, the column definitions are available.\n\t// All that's left is to add them to the table ourselves:\n\tpublic ngAfterContentInit(): void {\n\t\tthis.columnDefComponents.forEach((component) => {\n\t\t\tif (!this._cdkTable) return;\n\t\t\tif (component.cell) {\n\t\t\t\tthis._cdkTable.addColumnDef(component.columnDef);\n\t\t\t}\n\t\t});\n\t\tthis.rowDefs.forEach((rowDef) => {\n\t\t\tif (!this._cdkTable) return;\n\t\t\tthis._cdkTable.addRowDef(rowDef);\n\t\t});\n\t}\n\n\tpublic setTableClasses({\n\t\ttable,\n\t\theaderRow,\n\t\tbodyRow,\n\t}: Partial<{ table: string; headerRow: string; bodyRow: string }>): void {\n\t\tif (table) {\n\t\t\tthis.tableClasses = table;\n\t\t}\n\t\tif (headerRow) {\n\t\t\tthis.headerRowClasses = headerRow;\n\t\t}\n\t\tif (bodyRow) {\n\t\t\tthis.bodyRowClasses = bodyRow;\n\t\t}\n\t}\n}\n","import { type Signal, computed, signal } from '@angular/core';\n\ntype BrnColumnVisibility = Record<string, boolean> | Record<string, { visible: boolean }>;\n\n// prettier-ignore\ntype AllColumnsPropertyType<T> = T extends Record<string, boolean>\n\t? (keyof T)[]\n\t: T extends Record<string, infer R>\n\t\t? (R extends { visible: boolean } ? { name: keyof T } & R : never)[]\n\t\t: never;\n\nexport class BrnColumnManager<T extends BrnColumnVisibility> {\n\tprivate readonly _initialColumnVisibility: T;\n\tprivate readonly _columnVisibility;\n\n\tpublic readonly allColumns: AllColumnsPropertyType<T>;\n\tpublic readonly columnVisibility;\n\tpublic readonly displayedColumns: Signal<(keyof T)[]> = computed(() => {\n\t\treturn Object.entries(this._columnVisibility())\n\t\t\t.filter(([, value]) => (typeof value === 'boolean' ? value : value.visible))\n\t\t\t.map(([key]) => key);\n\t});\n\n\tconstructor(initialColumnVisibility: T) {\n\t\tthis._initialColumnVisibility = initialColumnVisibility;\n\t\tthis._columnVisibility = signal(this._initialColumnVisibility);\n\t\tthis._columnVisibility.set(this._initialColumnVisibility);\n\t\tthis.columnVisibility = this._columnVisibility.asReadonly();\n\t\tthis.allColumns = this.createAllColumns(this._initialColumnVisibility);\n\t}\n\n\tpublic readonly isColumnVisible = (columnName: string) => {\n\t\tconst visibilityMap = this.columnVisibility();\n\t\tconst columnEntry = visibilityMap[columnName];\n\t\treturn typeof columnEntry === 'boolean' ? columnEntry : columnEntry.visible;\n\t};\n\tpublic readonly isColumnDisabled = (columnName: string) =>\n\t\tthis.isColumnVisible(columnName) && this.displayedColumns().length === 1;\n\n\tpublic toggleVisibility(columnName: keyof T) {\n\t\tconst visibilityMap = this._columnVisibility();\n\t\tconst columnEntry = visibilityMap[columnName];\n\t\tconst newVisibilityState = typeof columnEntry === 'boolean' ? !columnEntry : { visible: !columnEntry.visible };\n\t\tthis._columnVisibility.set({ ...visibilityMap, [columnName]: newVisibilityState });\n\t}\n\tpublic setVisible(columnName: keyof T) {\n\t\tconst visibilityMap = this._columnVisibility();\n\t\tconst columnEntry = visibilityMap[columnName];\n\t\tconst newVisibilityState = typeof columnEntry === 'boolean' ? true : { visible: true };\n\t\tthis._columnVisibility.set({ ...visibilityMap, [columnName]: newVisibilityState });\n\t}\n\tpublic setInvisible(columnName: keyof T) {\n\t\tconst visibilityMap = this._columnVisibility();\n\t\tconst columnEntry = visibilityMap[columnName];\n\t\tconst newVisibilityState = typeof columnEntry === 'boolean' ? false : { visible: false };\n\t\tthis._columnVisibility.set({ ...visibilityMap, [columnName]: newVisibilityState });\n\t}\n\n\tprivate createAllColumns(initialColumnVisibility: T): AllColumnsPropertyType<T> {\n\t\tconst keys = Object.keys(initialColumnVisibility) as (keyof T)[];\n\t\tif (this.isBooleanConfig(initialColumnVisibility)) {\n\t\t\treturn keys as unknown as AllColumnsPropertyType<T>;\n\t\t}\n\t\treturn keys.map((key) => {\n\t\t\tconst values = initialColumnVisibility[key] as { visible: boolean };\n\t\t\treturn {\n\t\t\t\tname: key,\n\t\t\t\t...values,\n\t\t\t};\n\t\t}) as AllColumnsPropertyType<T>;\n\t}\n\n\tprivate isBooleanConfig(config: any): config is Record<string, boolean> {\n\t\treturn typeof Object.values(config)[0] === 'boolean';\n\t}\n}\n\nexport const useBrnColumnManager = <T extends BrnColumnVisibility>(initialColumnVisibility: T) =>\n\tnew BrnColumnManager(initialColumnVisibility);\n","import { NgModule } from '@angular/core';\nimport { BrnCellDefDirective } from './lib/brn-cell-def.directive';\nimport { BrnColumnDefComponent } from './lib/brn-column-def.component';\nimport { BrnFooterDefDirective } from './lib/brn-footer-def.directive';\nimport { BrnHeaderDefDirective } from './lib/brn-header-def.directive';\nimport { BrnPaginatorDirective } from './lib/brn-paginator.directive';\nimport { BrnTableComponent } from './lib/brn-table.component';\n\nexport { BrnCellDefDirective } from './lib/brn-cell-def.directive';\nexport { BrnColumnDefComponent } from './lib/brn-column-def.component';\nexport { BrnColumnManager, useBrnColumnManager } from './lib/brn-column-manager';\nexport { BrnFooterDefDirective } from './lib/brn-footer-def.directive';\nexport { BrnHeaderDefDirective } from './lib/brn-header-def.directive';\nexport { BrnPaginatorDirective, PaginatorContext, PaginatorState } from './lib/brn-paginator.directive';\nexport { BrnTableComponent } from './lib/brn-table.component';\n\nexport const BrnTableImports = [\n\tBrnCellDefDirective,\n\tBrnColumnDefComponent,\n\tBrnFooterDefDirective,\n\tBrnHeaderDefDirective,\n\tBrnTableComponent,\n\tBrnPaginatorDirective,\n] as const;\n\n@NgModule({\n\timports: [...BrnTableImports],\n\texports: [...BrnTableImports],\n})\nexport class BrnTableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/table/README.md
DELETED
package/table/index.d.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { BrnCellDefDirective } from './lib/brn-cell-def.directive';
|
|
2
|
-
import { BrnColumnDefComponent } from './lib/brn-column-def.component';
|
|
3
|
-
import { BrnFooterDefDirective } from './lib/brn-footer-def.directive';
|
|
4
|
-
import { BrnHeaderDefDirective } from './lib/brn-header-def.directive';
|
|
5
|
-
import { BrnPaginatorDirective } from './lib/brn-paginator.directive';
|
|
6
|
-
import { BrnTableComponent } from './lib/brn-table.component';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "./lib/brn-cell-def.directive";
|
|
9
|
-
import * as i2 from "./lib/brn-column-def.component";
|
|
10
|
-
import * as i3 from "./lib/brn-footer-def.directive";
|
|
11
|
-
import * as i4 from "./lib/brn-header-def.directive";
|
|
12
|
-
import * as i5 from "./lib/brn-table.component";
|
|
13
|
-
import * as i6 from "./lib/brn-paginator.directive";
|
|
14
|
-
export { BrnCellDefDirective } from './lib/brn-cell-def.directive';
|
|
15
|
-
export { BrnColumnDefComponent } from './lib/brn-column-def.component';
|
|
16
|
-
export { BrnColumnManager, useBrnColumnManager } from './lib/brn-column-manager';
|
|
17
|
-
export { BrnFooterDefDirective } from './lib/brn-footer-def.directive';
|
|
18
|
-
export { BrnHeaderDefDirective } from './lib/brn-header-def.directive';
|
|
19
|
-
export { BrnPaginatorDirective, PaginatorContext, PaginatorState } from './lib/brn-paginator.directive';
|
|
20
|
-
export { BrnTableComponent } from './lib/brn-table.component';
|
|
21
|
-
export declare const BrnTableImports: readonly [typeof BrnCellDefDirective, typeof BrnColumnDefComponent, typeof BrnFooterDefDirective, typeof BrnHeaderDefDirective, typeof BrnTableComponent, typeof BrnPaginatorDirective];
|
|
22
|
-
export declare class BrnTableModule {
|
|
23
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<BrnTableModule, never>;
|
|
24
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<BrnTableModule, never, [typeof i1.BrnCellDefDirective, typeof i2.BrnColumnDefComponent, typeof i3.BrnFooterDefDirective, typeof i4.BrnHeaderDefDirective, typeof i5.BrnTableComponent, typeof i6.BrnPaginatorDirective], [typeof i1.BrnCellDefDirective, typeof i2.BrnColumnDefComponent, typeof i3.BrnFooterDefDirective, typeof i4.BrnHeaderDefDirective, typeof i5.BrnTableComponent, typeof i6.BrnPaginatorDirective]>;
|
|
25
|
-
static ɵinj: i0.ɵɵInjectorDeclaration<BrnTableModule>;
|
|
26
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { CdkCellDef } from '@angular/cdk/table';
|
|
2
|
-
import { TemplateRef } from '@angular/core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class BrnCellDefDirective extends CdkCellDef {
|
|
5
|
-
template: TemplateRef<unknown>;
|
|
6
|
-
constructor();
|
|
7
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<BrnCellDefDirective, never>;
|
|
8
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<BrnCellDefDirective, "[brnCellDef]", ["brnCellDef"], {}, {}, never, never, true, never>;
|
|
9
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { type CdkCellDef, CdkColumnDef } from '@angular/cdk/table';
|
|
2
|
-
import { type AfterContentChecked } from '@angular/core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class BrnColumnDefComponent implements AfterContentChecked {
|
|
5
|
-
get columnDef(): CdkColumnDef;
|
|
6
|
-
get cell(): CdkCellDef;
|
|
7
|
-
private _name;
|
|
8
|
-
get name(): string;
|
|
9
|
-
set name(value: string);
|
|
10
|
-
readonly class: import("@angular/core").InputSignal<string>;
|
|
11
|
-
private readonly _columnDef;
|
|
12
|
-
private readonly _cellDef?;
|
|
13
|
-
private readonly _footerCellDef?;
|
|
14
|
-
private readonly _headerCellDef?;
|
|
15
|
-
ngAfterContentChecked(): void;
|
|
16
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<BrnColumnDefComponent, never>;
|
|
17
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<BrnColumnDefComponent, "brn-column-def", never, { "name": { "alias": "name"; "required": false; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, ["_cellDef", "_footerCellDef", "_headerCellDef"], ["[brnHeaderDef]", "[brnCellDef]", "[brnFooterDef]"], true, never>;
|
|
18
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { type Signal } from '@angular/core';
|
|
2
|
-
type BrnColumnVisibility = Record<string, boolean> | Record<string, {
|
|
3
|
-
visible: boolean;
|
|
4
|
-
}>;
|
|
5
|
-
type AllColumnsPropertyType<T> = T extends Record<string, boolean> ? (keyof T)[] : T extends Record<string, infer R> ? (R extends {
|
|
6
|
-
visible: boolean;
|
|
7
|
-
} ? {
|
|
8
|
-
name: keyof T;
|
|
9
|
-
} & R : never)[] : never;
|
|
10
|
-
export declare class BrnColumnManager<T extends BrnColumnVisibility> {
|
|
11
|
-
private readonly _initialColumnVisibility;
|
|
12
|
-
private readonly _columnVisibility;
|
|
13
|
-
readonly allColumns: AllColumnsPropertyType<T>;
|
|
14
|
-
readonly columnVisibility: Signal<T>;
|
|
15
|
-
readonly displayedColumns: Signal<(keyof T)[]>;
|
|
16
|
-
constructor(initialColumnVisibility: T);
|
|
17
|
-
readonly isColumnVisible: (columnName: string) => boolean;
|
|
18
|
-
readonly isColumnDisabled: (columnName: string) => boolean;
|
|
19
|
-
toggleVisibility(columnName: keyof T): void;
|
|
20
|
-
setVisible(columnName: keyof T): void;
|
|
21
|
-
setInvisible(columnName: keyof T): void;
|
|
22
|
-
private createAllColumns;
|
|
23
|
-
private isBooleanConfig;
|
|
24
|
-
}
|
|
25
|
-
export declare const useBrnColumnManager: <T extends BrnColumnVisibility>(initialColumnVisibility: T) => BrnColumnManager<T>;
|
|
26
|
-
export {};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { CdkFooterCellDef } from '@angular/cdk/table';
|
|
2
|
-
import { TemplateRef } from '@angular/core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class BrnFooterDefDirective extends CdkFooterCellDef {
|
|
5
|
-
template: TemplateRef<unknown>;
|
|
6
|
-
constructor();
|
|
7
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<BrnFooterDefDirective, never>;
|
|
8
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<BrnFooterDefDirective, "[brnFooterDef]", ["brnFooterDef"], {}, {}, never, never, true, never>;
|
|
9
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { CdkHeaderCellDef } from '@angular/cdk/table';
|
|
2
|
-
import { TemplateRef } from '@angular/core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class BrnHeaderDefDirective extends CdkHeaderCellDef {
|
|
5
|
-
template: TemplateRef<unknown>;
|
|
6
|
-
constructor();
|
|
7
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<BrnHeaderDefDirective, never>;
|
|
8
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<BrnHeaderDefDirective, "[brnHeaderDef]", ["brnHeaderDef"], {}, {}, never, never, true, never>;
|
|
9
|
-
}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { type OnInit, type Signal } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export type PaginatorState = {
|
|
4
|
-
currentPage: number;
|
|
5
|
-
startIndex: number;
|
|
6
|
-
endIndex: number;
|
|
7
|
-
pageSize: number;
|
|
8
|
-
totalPages: number;
|
|
9
|
-
totalElements: number | null | undefined;
|
|
10
|
-
};
|
|
11
|
-
export type PaginatorContext = {
|
|
12
|
-
$implicit: {
|
|
13
|
-
state: Signal<PaginatorState>;
|
|
14
|
-
incrementable: Signal<boolean>;
|
|
15
|
-
decrementable: Signal<boolean>;
|
|
16
|
-
increment: () => void;
|
|
17
|
-
decrement: () => void;
|
|
18
|
-
goToFirstPage: () => void;
|
|
19
|
-
goToLastPage: () => void;
|
|
20
|
-
};
|
|
21
|
-
};
|
|
22
|
-
export declare class BrnPaginatorDirective implements OnInit {
|
|
23
|
-
static ngTemplateContextGuard(_directive: BrnPaginatorDirective, _context: unknown): _context is PaginatorContext;
|
|
24
|
-
private readonly _vcr;
|
|
25
|
-
private readonly _template;
|
|
26
|
-
private readonly _state;
|
|
27
|
-
private readonly _decrementable;
|
|
28
|
-
private readonly _incrementable;
|
|
29
|
-
set totalElements(value: number | null | undefined);
|
|
30
|
-
set currentPage(value: number);
|
|
31
|
-
set pageSize(value: number);
|
|
32
|
-
onStateChange?: (state: PaginatorState) => void;
|
|
33
|
-
constructor();
|
|
34
|
-
ngOnInit(): void;
|
|
35
|
-
decrementPage(): void;
|
|
36
|
-
goToLastPage(): void;
|
|
37
|
-
incrementPage(): void;
|
|
38
|
-
reset(): void;
|
|
39
|
-
private calculateNewState;
|
|
40
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<BrnPaginatorDirective, never>;
|
|
41
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<BrnPaginatorDirective, "[brnPaginator]", ["brnPaginator"], { "totalElements": { "alias": "brnPaginatorTotalElements"; "required": false; }; "currentPage": { "alias": "brnPaginatorCurrentPage"; "required": false; }; "pageSize": { "alias": "brnPaginatorPageSize"; "required": false; }; "onStateChange": { "alias": "brnPaginatorOnStateChange"; "required": false; }; }, {}, never, never, true, never>;
|
|
42
|
-
static ngAcceptInputType_currentPage: unknown;
|
|
43
|
-
static ngAcceptInputType_pageSize: unknown;
|
|
44
|
-
}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { CdkRowDef, type CdkTableDataSourceInput } from '@angular/cdk/table';
|
|
2
|
-
import { type AfterContentInit, EventEmitter, type QueryList, type TrackByFunction } from '@angular/core';
|
|
3
|
-
import { type TableClassesSettable } from '@spartan-ng/brain/core';
|
|
4
|
-
import { BrnColumnDefComponent } from './brn-column-def.component';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export type BrnTableDataSourceInput<T> = CdkTableDataSourceInput<T>;
|
|
7
|
-
export declare class BrnTableComponent<T> implements TableClassesSettable, AfterContentInit {
|
|
8
|
-
private readonly _cdkTable?;
|
|
9
|
-
dataSource: BrnTableDataSourceInput<T>;
|
|
10
|
-
fixedLayout: boolean;
|
|
11
|
-
multiTemplateDataRows: boolean;
|
|
12
|
-
displayedColumns: string[];
|
|
13
|
-
private _trackBy?;
|
|
14
|
-
get trackBy(): TrackByFunction<T> | undefined;
|
|
15
|
-
set trackBy(value: TrackByFunction<T>);
|
|
16
|
-
readonly contentChanged: EventEmitter<void>;
|
|
17
|
-
customTemplateDataRows: boolean;
|
|
18
|
-
onRowClick: ((element: T) => void) | undefined;
|
|
19
|
-
stickyHeader: boolean;
|
|
20
|
-
tableClasses: string;
|
|
21
|
-
headerRowClasses: string;
|
|
22
|
-
bodyRowClasses: string;
|
|
23
|
-
columnDefComponents: QueryList<BrnColumnDefComponent>;
|
|
24
|
-
rowDefs: QueryList<CdkRowDef<T>>;
|
|
25
|
-
ngAfterContentInit(): void;
|
|
26
|
-
setTableClasses({ table, headerRow, bodyRow, }: Partial<{
|
|
27
|
-
table: string;
|
|
28
|
-
headerRow: string;
|
|
29
|
-
bodyRow: string;
|
|
30
|
-
}>): void;
|
|
31
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<BrnTableComponent<any>, never>;
|
|
32
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<BrnTableComponent<any>, "brn-table", never, { "dataSource": { "alias": "dataSource"; "required": false; }; "fixedLayout": { "alias": "fixedLayout"; "required": false; }; "multiTemplateDataRows": { "alias": "multiTemplateDataRows"; "required": false; }; "displayedColumns": { "alias": "displayedColumns"; "required": false; }; "trackBy": { "alias": "trackBy"; "required": false; }; "customTemplateDataRows": { "alias": "customTemplateDataRows"; "required": false; }; "onRowClick": { "alias": "onRowClick"; "required": false; }; "stickyHeader": { "alias": "stickyHeader"; "required": false; }; "tableClasses": { "alias": "tableClasses"; "required": false; }; "headerRowClasses": { "alias": "headerRowClasses"; "required": false; }; "bodyRowClasses": { "alias": "bodyRowClasses"; "required": false; }; }, { "contentChanged": "contentChanged"; }, ["columnDefComponents", "rowDefs"], ["*", "[brnNoDataRow]"], true, never>;
|
|
33
|
-
static ngAcceptInputType_fixedLayout: unknown;
|
|
34
|
-
static ngAcceptInputType_multiTemplateDataRows: unknown;
|
|
35
|
-
static ngAcceptInputType_customTemplateDataRows: unknown;
|
|
36
|
-
static ngAcceptInputType_stickyHeader: unknown;
|
|
37
|
-
}
|