@acorex/components 20.7.60 → 20.7.61
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.
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { MXBaseComponent, convertArrayToDataSource, AXComponent, AXRippleDirective, AXListDataSource, AXPagedComponent, AXCommonModule } from '@acorex/cdk/common';
|
|
2
|
-
import
|
|
3
|
-
import { EventEmitter, signal, Input, Output, Injectable, inject, ElementRef, Renderer2, NgZone, ChangeDetectorRef, DOCUMENT, PLATFORM_ID, HostListener, Directive, ViewChild, ChangeDetectionStrategy, ViewEncapsulation, Component, effect, input, computed, untracked, ContentChildren, ContentChild, NgModule } from '@angular/core';
|
|
4
|
-
import { isEqual, cloneDeep } from 'lodash-es';
|
|
2
|
+
import { AXHighlightService, AXUnsubscriber, AXHtmlUtil } from '@acorex/core/utils';
|
|
5
3
|
import * as i1 from '@angular/common';
|
|
6
4
|
import { isPlatformBrowser, CommonModule, NgTemplateOutlet, AsyncPipe, NgClass } from '@angular/common';
|
|
5
|
+
import * as i0 from '@angular/core';
|
|
6
|
+
import { signal, EventEmitter, inject, PLATFORM_ID, DestroyRef, Input, Output, Injectable, ElementRef, Renderer2, NgZone, ChangeDetectorRef, DOCUMENT, HostListener, Directive, ViewChild, ChangeDetectionStrategy, ViewEncapsulation, Component, effect, input, computed, untracked, ContentChildren, ContentChild, NgModule } from '@angular/core';
|
|
7
|
+
import { isEqual, cloneDeep } from 'lodash-es';
|
|
7
8
|
import { Subject, debounceTime, buffer, filter } from 'rxjs';
|
|
8
9
|
import { __decorate, __metadata } from 'tslib';
|
|
9
10
|
import { AXFormatService, AXFormatPipe, AXFormatModule } from '@acorex/core/format';
|
|
@@ -14,7 +15,7 @@ import { AXDropdownPanelComponent, AXDropdownModule } from '@acorex/components/d
|
|
|
14
15
|
import { AXLoadingComponent, AXLoadingModule } from '@acorex/components/loading';
|
|
15
16
|
import * as i2 from '@acorex/core/translation';
|
|
16
17
|
import { AXTranslationModule, AXTranslatorPipe } from '@acorex/core/translation';
|
|
17
|
-
import {
|
|
18
|
+
import { AXBadgeComponent } from '@acorex/components/badge';
|
|
18
19
|
import * as i2$1 from '@acorex/components/check-box';
|
|
19
20
|
import { AXCheckBoxModule } from '@acorex/components/check-box';
|
|
20
21
|
import * as i1$1 from '@angular/forms';
|
|
@@ -27,9 +28,96 @@ import { CdkScrollable, CdkVirtualScrollableElement, CdkVirtualScrollViewport, C
|
|
|
27
28
|
import { AXTooltipDirective } from '@acorex/components/tooltip';
|
|
28
29
|
import sum from 'lodash-es/sum';
|
|
29
30
|
|
|
31
|
+
/**
|
|
32
|
+
* Caches synchronous CSS class resolutions in a plain map (safe during template render)
|
|
33
|
+
* and asynchronous results in a signal (updated only after promises settle).
|
|
34
|
+
*/
|
|
35
|
+
class AXDataTableCssClassCache {
|
|
36
|
+
constructor() {
|
|
37
|
+
this.generation = 0;
|
|
38
|
+
this.syncCache = new Map();
|
|
39
|
+
this.pendingResolvers = new Map();
|
|
40
|
+
this.resolvedAsync = signal(new Map(), ...(ngDevMode ? [{ debugName: "resolvedAsync" }] : []));
|
|
41
|
+
}
|
|
42
|
+
clear() {
|
|
43
|
+
this.generation++;
|
|
44
|
+
this.pendingResolvers.clear();
|
|
45
|
+
this.syncCache.clear();
|
|
46
|
+
if (this.resolvedAsync().size > 0) {
|
|
47
|
+
this.resolvedAsync.set(new Map());
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
resolve(cacheKey, factory, onResolved) {
|
|
51
|
+
const asyncCached = this.resolvedAsync().get(cacheKey);
|
|
52
|
+
if (asyncCached !== undefined) {
|
|
53
|
+
return asyncCached;
|
|
54
|
+
}
|
|
55
|
+
if (this.syncCache.has(cacheKey)) {
|
|
56
|
+
return this.syncCache.get(cacheKey) ?? '';
|
|
57
|
+
}
|
|
58
|
+
const result = factory();
|
|
59
|
+
if (isCssClassPromise(result)) {
|
|
60
|
+
this.scheduleAsync(cacheKey, result, onResolved);
|
|
61
|
+
return '';
|
|
62
|
+
}
|
|
63
|
+
const normalized = normalizeCssClass(result);
|
|
64
|
+
this.syncCache.set(cacheKey, normalized);
|
|
65
|
+
return normalized;
|
|
66
|
+
}
|
|
67
|
+
scheduleAsync(cacheKey, promise, onResolved) {
|
|
68
|
+
if (this.pendingResolvers.has(cacheKey)) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
const generation = this.generation;
|
|
72
|
+
const task = promise
|
|
73
|
+
.then((value) => normalizeCssClass(value))
|
|
74
|
+
.catch(() => '')
|
|
75
|
+
.then((cssClass) => {
|
|
76
|
+
if (generation !== this.generation) {
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
this.pendingResolvers.delete(cacheKey);
|
|
80
|
+
this.resolvedAsync.update((map) => {
|
|
81
|
+
const next = new Map(map);
|
|
82
|
+
next.set(cacheKey, cssClass);
|
|
83
|
+
return next;
|
|
84
|
+
});
|
|
85
|
+
onResolved();
|
|
86
|
+
});
|
|
87
|
+
this.pendingResolvers.set(cacheKey, task);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
function normalizeCssClass(value) {
|
|
91
|
+
return typeof value === 'string' ? value.trim() : '';
|
|
92
|
+
}
|
|
93
|
+
function isCssClassPromise(value) {
|
|
94
|
+
return value != null && typeof value.then === 'function';
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
const AX_DATA_TABLE_ROW_COLOR_TYPES = [
|
|
98
|
+
'primary',
|
|
99
|
+
'secondary',
|
|
100
|
+
'success',
|
|
101
|
+
'warning',
|
|
102
|
+
'danger',
|
|
103
|
+
];
|
|
104
|
+
const AX_DATA_TABLE_ROW_HIGHLIGHT_DEFAULT_BADGE = '@acorex:dataTable.rowHighlight.new';
|
|
30
105
|
class AXBaseDataTable extends MXBaseComponent {
|
|
106
|
+
/**
|
|
107
|
+
* When set, matching text in the table body is highlighted.
|
|
108
|
+
*/
|
|
109
|
+
get highlightText() {
|
|
110
|
+
return this._highlightText;
|
|
111
|
+
}
|
|
112
|
+
set highlightText(value) {
|
|
113
|
+
if (this._highlightText === value) {
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
this._highlightText = value;
|
|
117
|
+
this.scheduleTextHighlight();
|
|
118
|
+
}
|
|
31
119
|
constructor() {
|
|
32
|
-
super(
|
|
120
|
+
super();
|
|
33
121
|
this.dataSource = convertArrayToDataSource([]);
|
|
34
122
|
/**
|
|
35
123
|
* For handle nested rows.
|
|
@@ -44,7 +132,20 @@ class AXBaseDataTable extends MXBaseComponent {
|
|
|
44
132
|
*/
|
|
45
133
|
this.hasChildrenField = 'hasChild';
|
|
46
134
|
this.selectedRowsChange = new EventEmitter();
|
|
135
|
+
this.highlightedRows = signal(new Map(), ...(ngDevMode ? [{ debugName: "highlightedRows" }] : []));
|
|
136
|
+
this.rowCssClassCache = new AXDataTableCssClassCache();
|
|
137
|
+
this.cellCssClassCache = new AXDataTableCssClassCache();
|
|
138
|
+
this.highlightService = inject(AXHighlightService);
|
|
139
|
+
this.platformId = inject(PLATFORM_ID);
|
|
140
|
+
this.destroyRef = inject(DestroyRef);
|
|
141
|
+
this.highlightOrder = 0;
|
|
47
142
|
this._selectedRows = signal([], ...(ngDevMode ? [{ debugName: "_selectedRows" }] : []));
|
|
143
|
+
this.destroyRef.onDestroy(() => {
|
|
144
|
+
if (this.textHighlightFrame != null) {
|
|
145
|
+
cancelAnimationFrame(this.textHighlightFrame);
|
|
146
|
+
}
|
|
147
|
+
this.clearTextHighlight();
|
|
148
|
+
});
|
|
48
149
|
}
|
|
49
150
|
/**
|
|
50
151
|
* Gets the data source key field name.
|
|
@@ -54,6 +155,204 @@ class AXBaseDataTable extends MXBaseComponent {
|
|
|
54
155
|
getDataSourceKey() {
|
|
55
156
|
return this.dataSource.config.key || 'id';
|
|
56
157
|
}
|
|
158
|
+
/**
|
|
159
|
+
* Temporarily highlights a row with optional pin, badge, and pulse styling.
|
|
160
|
+
* Highlights are cleared on the next grid `refresh()` unless `preserveHighlights` is set.
|
|
161
|
+
*/
|
|
162
|
+
highlightRow(row, options = {}) {
|
|
163
|
+
const key = this.resolveRowKey(row);
|
|
164
|
+
if (key == null) {
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
const entry = {
|
|
168
|
+
row: typeof row === 'object' && row !== null ? row : { [this.getDataSourceKey()]: row },
|
|
169
|
+
color: options.color ?? 'success',
|
|
170
|
+
badge: options.badge !== undefined ? options.badge : AX_DATA_TABLE_ROW_HIGHLIGHT_DEFAULT_BADGE,
|
|
171
|
+
pulse: options.pulse ?? true,
|
|
172
|
+
pinned: options.pinned ?? true,
|
|
173
|
+
order: ++this.highlightOrder,
|
|
174
|
+
};
|
|
175
|
+
this.highlightedRows.update((map) => {
|
|
176
|
+
const next = new Map(map);
|
|
177
|
+
next.set(key, entry);
|
|
178
|
+
return next;
|
|
179
|
+
});
|
|
180
|
+
this.onRowHighlightsChanged();
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Temporarily highlights multiple rows.
|
|
184
|
+
*/
|
|
185
|
+
highlightRows(rows, options = {}) {
|
|
186
|
+
rows.forEach((row) => this.highlightRow(row, options));
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Clears all temporary row highlights.
|
|
190
|
+
*/
|
|
191
|
+
clearRowHighlights() {
|
|
192
|
+
if (this.highlightedRows().size === 0) {
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
this.highlightedRows.set(new Map());
|
|
196
|
+
this.onRowHighlightsChanged();
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Returns the temporary highlight state for a row, if any.
|
|
200
|
+
*/
|
|
201
|
+
getRowHighlight(row) {
|
|
202
|
+
const key = this.resolveRowKey(row);
|
|
203
|
+
if (key == null) {
|
|
204
|
+
return null;
|
|
205
|
+
}
|
|
206
|
+
return this.highlightedRows().get(key) ?? null;
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Returns the translation key for the row highlight badge, if any.
|
|
210
|
+
*/
|
|
211
|
+
getRowHighlightBadge(row) {
|
|
212
|
+
return this.getRowHighlight(row)?.badge ?? null;
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Clears cached asynchronous CSS class results for rows and cells.
|
|
216
|
+
*/
|
|
217
|
+
clearResolvedCssClasses() {
|
|
218
|
+
this.rowCssClassCache.clear();
|
|
219
|
+
this.cellCssClassCache.clear();
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Returns CSS classes for the given row `<tr>`, including temporary highlight styles.
|
|
223
|
+
*/
|
|
224
|
+
getRowCssClass(row, rowIndex) {
|
|
225
|
+
const classes = [];
|
|
226
|
+
const highlight = this.getRowHighlight(row);
|
|
227
|
+
if (highlight) {
|
|
228
|
+
classes.push(`ax-row-color-${highlight.color}`);
|
|
229
|
+
if (highlight.pulse) {
|
|
230
|
+
classes.push('ax-row-color-pulse');
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
if (this.rowCssClass) {
|
|
234
|
+
classes.push(this.resolveRowCssClass(row, rowIndex));
|
|
235
|
+
}
|
|
236
|
+
return classes.filter(Boolean).join(' ');
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Returns CSS classes for a body cell, merging column `cssClass` with `cellCssClass`.
|
|
240
|
+
*/
|
|
241
|
+
getCellCssClass(row, column, rowIndex) {
|
|
242
|
+
const columnClass = column.cssClass ?? '';
|
|
243
|
+
if (!this.cellCssClass) {
|
|
244
|
+
return columnClass;
|
|
245
|
+
}
|
|
246
|
+
const resolved = this.resolveCellCssClass(row, column, rowIndex);
|
|
247
|
+
return columnClass ? (resolved ? `${columnClass} ${resolved}` : columnClass) : resolved;
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* Merges pinned highlighted rows with loaded items.
|
|
251
|
+
*/
|
|
252
|
+
mergeRowsWithHighlights(items) {
|
|
253
|
+
const highlights = this.highlightedRows();
|
|
254
|
+
if (highlights.size === 0) {
|
|
255
|
+
return items;
|
|
256
|
+
}
|
|
257
|
+
const itemsByKey = new Map();
|
|
258
|
+
for (const item of items) {
|
|
259
|
+
const itemKey = this.resolveRowKey(item);
|
|
260
|
+
if (itemKey != null) {
|
|
261
|
+
itemsByKey.set(itemKey, item);
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
const pinnedEntries = [...highlights.values()].filter((entry) => entry.pinned).sort((a, b) => a.order - b.order);
|
|
265
|
+
const pinnedRows = pinnedEntries.map((entry) => {
|
|
266
|
+
const entryKey = this.resolveRowKey(entry.row);
|
|
267
|
+
if (entryKey != null && itemsByKey.has(entryKey)) {
|
|
268
|
+
return itemsByKey.get(entryKey);
|
|
269
|
+
}
|
|
270
|
+
return entry.row;
|
|
271
|
+
});
|
|
272
|
+
const pinnedKeys = new Set(pinnedEntries.map((entry) => this.resolveRowKey(entry.row)).filter((key) => key != null));
|
|
273
|
+
const rest = items.filter((item) => {
|
|
274
|
+
const itemKey = this.resolveRowKey(item);
|
|
275
|
+
return itemKey == null || !pinnedKeys.has(itemKey);
|
|
276
|
+
});
|
|
277
|
+
return [...pinnedRows, ...rest];
|
|
278
|
+
}
|
|
279
|
+
resolveRowKey(row) {
|
|
280
|
+
const keyField = this.getDataSourceKey();
|
|
281
|
+
if (row == null) {
|
|
282
|
+
return null;
|
|
283
|
+
}
|
|
284
|
+
if (typeof row === 'object') {
|
|
285
|
+
const value = row[keyField];
|
|
286
|
+
if (value == null || value === '') {
|
|
287
|
+
return null;
|
|
288
|
+
}
|
|
289
|
+
return value;
|
|
290
|
+
}
|
|
291
|
+
return row;
|
|
292
|
+
}
|
|
293
|
+
onCssClassResolved() {
|
|
294
|
+
this.scheduleTextHighlight();
|
|
295
|
+
}
|
|
296
|
+
/**
|
|
297
|
+
* Schedules text highlighting after the current render frame.
|
|
298
|
+
*/
|
|
299
|
+
scheduleTextHighlight() {
|
|
300
|
+
if (!isPlatformBrowser(this.platformId)) {
|
|
301
|
+
return;
|
|
302
|
+
}
|
|
303
|
+
if (this.textHighlightFrame != null) {
|
|
304
|
+
cancelAnimationFrame(this.textHighlightFrame);
|
|
305
|
+
}
|
|
306
|
+
this.textHighlightFrame = requestAnimationFrame(() => {
|
|
307
|
+
this.textHighlightFrame = undefined;
|
|
308
|
+
this.applyTextHighlight();
|
|
309
|
+
});
|
|
310
|
+
}
|
|
311
|
+
/**
|
|
312
|
+
* Returns the DOM root used for text highlighting.
|
|
313
|
+
*/
|
|
314
|
+
getTextHighlightRoot() {
|
|
315
|
+
const host = this.getHostElement();
|
|
316
|
+
const root = host.querySelector('.ax-data-table-wrapper') ??
|
|
317
|
+
host.querySelector('.ax-body-content') ??
|
|
318
|
+
host;
|
|
319
|
+
root.setAttribute('data-ax-highlight-root', this.id);
|
|
320
|
+
return root;
|
|
321
|
+
}
|
|
322
|
+
getTextHighlightSelector() {
|
|
323
|
+
return `[data-ax-highlight-root="${this.id}"] tbody td`;
|
|
324
|
+
}
|
|
325
|
+
applyTextHighlight() {
|
|
326
|
+
const query = this._highlightText?.trim();
|
|
327
|
+
const selector = this.getTextHighlightSelector();
|
|
328
|
+
if (!query) {
|
|
329
|
+
this.highlightService.clear(selector);
|
|
330
|
+
return;
|
|
331
|
+
}
|
|
332
|
+
if (!this.getTextHighlightRoot()) {
|
|
333
|
+
return;
|
|
334
|
+
}
|
|
335
|
+
this.highlightService.highlight(selector, query);
|
|
336
|
+
}
|
|
337
|
+
clearTextHighlight() {
|
|
338
|
+
this.highlightService.clear(this.getTextHighlightSelector());
|
|
339
|
+
}
|
|
340
|
+
resolveRowCssClass(row, rowIndex) {
|
|
341
|
+
const cacheKey = this.resolveRowCssClassCacheKey(row, rowIndex);
|
|
342
|
+
return this.rowCssClassCache.resolve(cacheKey, () => this.rowCssClass(row, rowIndex), () => this.onCssClassResolved());
|
|
343
|
+
}
|
|
344
|
+
resolveCellCssClass(row, column, rowIndex) {
|
|
345
|
+
const cacheKey = this.resolveCellCssClassCacheKey(row, column, rowIndex);
|
|
346
|
+
return this.cellCssClassCache.resolve(cacheKey, () => this.cellCssClass(row, column, rowIndex), () => this.onCssClassResolved());
|
|
347
|
+
}
|
|
348
|
+
resolveRowCssClassCacheKey(row, rowIndex) {
|
|
349
|
+
const key = this.resolveRowKey(row);
|
|
350
|
+
return key != null ? `r:${key}:${rowIndex}` : `r:${rowIndex}`;
|
|
351
|
+
}
|
|
352
|
+
resolveCellCssClassCacheKey(row, column, rowIndex) {
|
|
353
|
+
const key = this.resolveRowKey(row);
|
|
354
|
+
return key != null ? `c:${key}:${column.name}:${rowIndex}` : `c:${column.name}:${rowIndex}`;
|
|
355
|
+
}
|
|
57
356
|
get selectedRows() {
|
|
58
357
|
return this._selectedRows();
|
|
59
358
|
}
|
|
@@ -137,12 +436,12 @@ class AXBaseDataTable extends MXBaseComponent {
|
|
|
137
436
|
this.selectedRows = this.selectedRows.filter((c) => !removedRowIds.includes(typeof c === 'object' ? c[key] : c));
|
|
138
437
|
//this.selectedRows = this.selectedRows.filter((c) => !rows.includes(c));
|
|
139
438
|
}
|
|
140
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXBaseDataTable, deps:
|
|
439
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXBaseDataTable, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
141
440
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXBaseDataTable }); }
|
|
142
441
|
}
|
|
143
442
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXBaseDataTable, decorators: [{
|
|
144
443
|
type: Injectable
|
|
145
|
-
}], propDecorators: { dataSource: [{
|
|
444
|
+
}], ctorParameters: () => [], propDecorators: { dataSource: [{
|
|
146
445
|
type: Input
|
|
147
446
|
}], parentField: [{
|
|
148
447
|
type: Input
|
|
@@ -150,6 +449,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImpor
|
|
|
150
449
|
type: Input
|
|
151
450
|
}], rowDetailsTemplate: [{
|
|
152
451
|
type: Input
|
|
452
|
+
}], rowCssClass: [{
|
|
453
|
+
type: Input
|
|
454
|
+
}], cellCssClass: [{
|
|
455
|
+
type: Input
|
|
456
|
+
}], highlightText: [{
|
|
457
|
+
type: Input
|
|
153
458
|
}], selectedRowsChange: [{
|
|
154
459
|
type: Output
|
|
155
460
|
}], selectedRows: [{
|
|
@@ -1174,7 +1479,7 @@ class AXRowIndexColumnComponent extends AXDataTableColumnComponent {
|
|
|
1174
1479
|
return 'ax-index-column';
|
|
1175
1480
|
}
|
|
1176
1481
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXRowIndexColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
1177
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
1482
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: AXRowIndexColumnComponent, isStandalone: true, selector: "ax-index-column", inputs: { width: "width", caption: "caption", fixed: "fixed", footerTemplate: "footerTemplate", padZero: "padZero" }, providers: [
|
|
1178
1483
|
AXUnsubscriber,
|
|
1179
1484
|
{
|
|
1180
1485
|
provide: AXDataTableColumnComponent,
|
|
@@ -1183,9 +1488,19 @@ class AXRowIndexColumnComponent extends AXDataTableColumnComponent {
|
|
|
1183
1488
|
{ provide: AXComponent, useExisting: AXRowIndexColumnComponent },
|
|
1184
1489
|
], viewQueries: [{ propertyName: "_cellTemplate", first: true, predicate: ["cell"], descendants: true }, { propertyName: "_contentHeaderTemplate", first: true, predicate: ["header"], descendants: true }, { propertyName: "_contentFooterTemplate", first: true, predicate: ["footer"], descendants: true }], usesInheritance: true, ngImport: i0, template: `<ng-template #header>{{ caption }}</ng-template>
|
|
1185
1490
|
<ng-template #cell let-row>
|
|
1186
|
-
|
|
1491
|
+
@if (grid.getRowHighlightBadge(row.data); as badgeKey) {
|
|
1492
|
+
<ax-badge
|
|
1493
|
+
class="ax-data-table-row-highlight-badge"
|
|
1494
|
+
[color]="grid.getRowHighlight(row.data)?.color ?? 'success'"
|
|
1495
|
+
[text]="badgeKey | translate | async"
|
|
1496
|
+
/>
|
|
1497
|
+
} @else {
|
|
1498
|
+
{{
|
|
1499
|
+
row.rowIndex + 1 | format: 'number' : { zeroPadLength: this.formatCount, thousandSeparator: false } | async
|
|
1500
|
+
}}
|
|
1501
|
+
}
|
|
1187
1502
|
</ng-template>
|
|
1188
|
-
<ng-template #footer></ng-template> `, isInline: true, dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXFormatPipe, name: "format" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1503
|
+
<ng-template #footer></ng-template> `, isInline: true, dependencies: [{ kind: "component", type: AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXFormatPipe, name: "format" }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1189
1504
|
}
|
|
1190
1505
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXRowIndexColumnComponent, decorators: [{
|
|
1191
1506
|
type: Component,
|
|
@@ -1193,7 +1508,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImpor
|
|
|
1193
1508
|
selector: 'ax-index-column',
|
|
1194
1509
|
template: `<ng-template #header>{{ caption }}</ng-template>
|
|
1195
1510
|
<ng-template #cell let-row>
|
|
1196
|
-
|
|
1511
|
+
@if (grid.getRowHighlightBadge(row.data); as badgeKey) {
|
|
1512
|
+
<ax-badge
|
|
1513
|
+
class="ax-data-table-row-highlight-badge"
|
|
1514
|
+
[color]="grid.getRowHighlight(row.data)?.color ?? 'success'"
|
|
1515
|
+
[text]="badgeKey | translate | async"
|
|
1516
|
+
/>
|
|
1517
|
+
} @else {
|
|
1518
|
+
{{
|
|
1519
|
+
row.rowIndex + 1 | format: 'number' : { zeroPadLength: this.formatCount, thousandSeparator: false } | async
|
|
1520
|
+
}}
|
|
1521
|
+
}
|
|
1197
1522
|
</ng-template>
|
|
1198
1523
|
<ng-template #footer></ng-template> `,
|
|
1199
1524
|
encapsulation: ViewEncapsulation.None,
|
|
@@ -1207,7 +1532,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImpor
|
|
|
1207
1532
|
{ provide: AXComponent, useExisting: AXRowIndexColumnComponent },
|
|
1208
1533
|
],
|
|
1209
1534
|
inputs: ['width', 'caption', 'fixed'],
|
|
1210
|
-
imports: [AsyncPipe, AXFormatPipe],
|
|
1535
|
+
imports: [AsyncPipe, AXFormatPipe, AXBadgeComponent, AXTranslatorPipe],
|
|
1211
1536
|
}]
|
|
1212
1537
|
}], propDecorators: { _cellTemplate: [{
|
|
1213
1538
|
type: ViewChild,
|
|
@@ -1611,6 +1936,11 @@ class AXDataTableComponent extends AXBaseDataTable {
|
|
|
1611
1936
|
* @ignore
|
|
1612
1937
|
*/
|
|
1613
1938
|
this.isRefreshCalled = signal(false, ...(ngDevMode ? [{ debugName: "isRefreshCalled" }] : []));
|
|
1939
|
+
/**
|
|
1940
|
+
* Root rows from the latest data source load (before highlight merge).
|
|
1941
|
+
* @ignore
|
|
1942
|
+
*/
|
|
1943
|
+
this.lastLoadedRows = [];
|
|
1614
1944
|
/**
|
|
1615
1945
|
* @ignore
|
|
1616
1946
|
*/
|
|
@@ -1701,9 +2031,12 @@ class AXDataTableComponent extends AXBaseDataTable {
|
|
|
1701
2031
|
this.goToPage(data.page);
|
|
1702
2032
|
return;
|
|
1703
2033
|
}
|
|
1704
|
-
this.
|
|
2034
|
+
this.clearResolvedCssClasses();
|
|
2035
|
+
this.lastLoadedRows = data.items.filter((item) => !item[this.parentField]);
|
|
2036
|
+
this.displayedRows.set(this.mergeRowsWithHighlights(this.lastLoadedRows));
|
|
1705
2037
|
this.totalRows = data.totalCount;
|
|
1706
2038
|
this.hasItems = data.totalCount > 0;
|
|
2039
|
+
this.scheduleTextHighlight();
|
|
1707
2040
|
});
|
|
1708
2041
|
this.dataSource.onItemExpanded.pipe(this._unsubscriber.takeUntilDestroy).subscribe((data) => {
|
|
1709
2042
|
const { expandedItem, children } = data;
|
|
@@ -1747,9 +2080,11 @@ class AXDataTableComponent extends AXBaseDataTable {
|
|
|
1747
2080
|
// Delay to ensure DOM is ready
|
|
1748
2081
|
setTimeout(() => {
|
|
1749
2082
|
this.autoFitColumnsWithAutoWidth();
|
|
2083
|
+
this.scheduleTextHighlight();
|
|
1750
2084
|
}, 100);
|
|
1751
2085
|
}
|
|
1752
2086
|
});
|
|
2087
|
+
this.scheduleTextHighlight();
|
|
1753
2088
|
}
|
|
1754
2089
|
captureAutoFitIntentColumns() {
|
|
1755
2090
|
this.columns.forEach((column) => {
|
|
@@ -1963,6 +2298,17 @@ class AXDataTableComponent extends AXBaseDataTable {
|
|
|
1963
2298
|
}
|
|
1964
2299
|
return undefined;
|
|
1965
2300
|
}
|
|
2301
|
+
/**
|
|
2302
|
+
* Re-applies pinned highlighted rows to the current view.
|
|
2303
|
+
* @ignore
|
|
2304
|
+
*/
|
|
2305
|
+
onRowHighlightsChanged() {
|
|
2306
|
+
this.displayedRows.set(this.mergeRowsWithHighlights(this.lastLoadedRows));
|
|
2307
|
+
}
|
|
2308
|
+
onCssClassResolved() {
|
|
2309
|
+
this.displayedRows.update((rows) => [...rows]);
|
|
2310
|
+
super.onCssClassResolved();
|
|
2311
|
+
}
|
|
1966
2312
|
/**
|
|
1967
2313
|
* Refreshes the data table with optional reset options.
|
|
1968
2314
|
*
|
|
@@ -1971,6 +2317,10 @@ class AXDataTableComponent extends AXBaseDataTable {
|
|
|
1971
2317
|
* @returns void - No return value.
|
|
1972
2318
|
*/
|
|
1973
2319
|
refresh(options = { reset: true }) {
|
|
2320
|
+
if (!options.preserveHighlights) {
|
|
2321
|
+
this.clearRowHighlights();
|
|
2322
|
+
}
|
|
2323
|
+
this.clearResolvedCssClasses();
|
|
1974
2324
|
this.dataSource.refresh(options);
|
|
1975
2325
|
const isRefreshCalled = untracked(() => this.isRefreshCalled());
|
|
1976
2326
|
if (this.fetchDataMode === 'manual' && !isRefreshCalled) {
|
|
@@ -1984,7 +2334,18 @@ class AXDataTableComponent extends AXBaseDataTable {
|
|
|
1984
2334
|
* @ignore
|
|
1985
2335
|
*/
|
|
1986
2336
|
calculateRowIndex(index) {
|
|
1987
|
-
|
|
2337
|
+
const highlightOffset = this.countHighlightBadgeRowsBefore(index);
|
|
2338
|
+
return this.dataSource.pageSize * this.page() + index - highlightOffset;
|
|
2339
|
+
}
|
|
2340
|
+
countHighlightBadgeRowsBefore(displayIndex) {
|
|
2341
|
+
let count = 0;
|
|
2342
|
+
const rows = this.displayedRows();
|
|
2343
|
+
for (let i = 0; i < displayIndex && i < rows.length; i++) {
|
|
2344
|
+
if (this.getRowHighlightBadge(rows[i])) {
|
|
2345
|
+
count++;
|
|
2346
|
+
}
|
|
2347
|
+
}
|
|
2348
|
+
return count;
|
|
1988
2349
|
}
|
|
1989
2350
|
/**
|
|
1990
2351
|
* Handles double-click on resize handle to auto-fit column width.
|
|
@@ -2095,18 +2456,10 @@ class AXDataTableComponent extends AXBaseDataTable {
|
|
|
2095
2456
|
console.error(`Failed to auto-fit column ${index}:`, error);
|
|
2096
2457
|
}
|
|
2097
2458
|
});
|
|
2098
|
-
if (!headerOnly && autoWidthColumns.length > 0) {
|
|
2099
|
-
console.warn(`Auto-fitted ${autoWidthColumns.length} column(s) with width='auto': indices ${autoWidthColumns.join(', ')}`);
|
|
2100
|
-
}
|
|
2101
2459
|
}
|
|
2102
2460
|
/**
|
|
2103
|
-
* Auto-fits all columns
|
|
2104
|
-
*
|
|
2105
|
-
* @param options - Configuration options
|
|
2106
|
-
* @param options.skipFixed - If true, skips fixed columns (default: true)
|
|
2107
|
-
* @param options.skipLoading - If true, skips if data is loading (default: true)
|
|
2108
|
-
* @param options.maxWidth - Maximum width for any column in pixels (default: 500)
|
|
2109
|
-
* @returns void
|
|
2461
|
+
* Auto-fits all resizable columns to their content width.
|
|
2462
|
+
* Call this whenever row data or templates change and column widths should be recalculated.
|
|
2110
2463
|
*/
|
|
2111
2464
|
autoFitAllColumns(options = {}) {
|
|
2112
2465
|
const { skipFixed = true, skipLoading = true, maxWidth = 500 } = options;
|
|
@@ -2134,15 +2487,10 @@ class AXDataTableComponent extends AXBaseDataTable {
|
|
|
2134
2487
|
});
|
|
2135
2488
|
}
|
|
2136
2489
|
/**
|
|
2137
|
-
* Auto-fits a column
|
|
2490
|
+
* Auto-fits a single column to its content width.
|
|
2138
2491
|
* Similar to Excel's "AutoFit Column Width" feature.
|
|
2139
|
-
* Uses an invisible helper table to measure actual content width without affecting the main table.
|
|
2140
2492
|
*
|
|
2141
|
-
* @param columnIndex -
|
|
2142
|
-
* @param options - Configuration options
|
|
2143
|
-
* @param options.maxWidth - Maximum width for the column in pixels (default: none)
|
|
2144
|
-
* @param options.headerOnly - When true, only the header cell is measured (e.g. before row data exists)
|
|
2145
|
-
* @returns void
|
|
2493
|
+
* @param columnIndex - 0-based index in the columns `QueryList`.
|
|
2146
2494
|
*/
|
|
2147
2495
|
autoFitColumn(columnIndex, options = {}) {
|
|
2148
2496
|
if (!isPlatformBrowser(this.platformID)) {
|
|
@@ -2271,19 +2619,39 @@ class AXDataTableComponent extends AXBaseDataTable {
|
|
|
2271
2619
|
}
|
|
2272
2620
|
}
|
|
2273
2621
|
}
|
|
2622
|
+
/**
|
|
2623
|
+
* Auto-fits a single column by its `name` / data field.
|
|
2624
|
+
*/
|
|
2625
|
+
autoFitColumnByName(columnName, options = {}) {
|
|
2626
|
+
const columnIndex = this.columns.toArray().findIndex((column) => column.name === columnName);
|
|
2627
|
+
if (columnIndex === -1) {
|
|
2628
|
+
console.warn(`Column "${columnName}" not found`);
|
|
2629
|
+
return;
|
|
2630
|
+
}
|
|
2631
|
+
this.autoFitColumn(columnIndex, options);
|
|
2632
|
+
}
|
|
2274
2633
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXDataTableComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
2275
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: AXDataTableComponent, isStandalone: true, selector: "ax-data-table", inputs: { dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: false, isRequired: false, transformFunction: null }, selectedRows: { classPropertyName: "selectedRows", publicName: "selectedRows", isSignal: false, isRequired: false, transformFunction: null }, parentField: { classPropertyName: "parentField", publicName: "parentField", isSignal: false, isRequired: false, transformFunction: null }, hasChildrenField: { classPropertyName: "hasChildrenField", publicName: "hasChildrenField", isSignal: false, isRequired: false, transformFunction: null }, rowDetailsTemplate: { classPropertyName: "rowDetailsTemplate", publicName: "rowDetailsTemplate", isSignal: false, isRequired: false, transformFunction: null }, look: { classPropertyName: "look", publicName: "look", isSignal: true, isRequired: false, transformFunction: null }, rowTemplate: { classPropertyName: "rowTemplate", publicName: "rowTemplate", isSignal: false, isRequired: false, transformFunction: null }, emptyTemplate: { classPropertyName: "emptyTemplate", publicName: "emptyTemplate", isSignal: false, isRequired: false, transformFunction: null }, noDataTemplate: { classPropertyName: "noDataTemplate", publicName: "noDataTemplate", isSignal: false, isRequired: false, transformFunction: null }, alternative: { classPropertyName: "alternative", publicName: "alternative", isSignal: false, isRequired: false, transformFunction: null }, showHeader: { classPropertyName: "showHeader", publicName: "showHeader", isSignal: false, isRequired: false, transformFunction: null }, fixedHeader: { classPropertyName: "fixedHeader", publicName: "fixedHeader", isSignal: false, isRequired: false, transformFunction: null }, showFooter: { classPropertyName: "showFooter", publicName: "showFooter", isSignal: false, isRequired: false, transformFunction: null }, fixedFooter: { classPropertyName: "fixedFooter", publicName: "fixedFooter", isSignal: false, isRequired: false, transformFunction: null }, itemHeight: { classPropertyName: "itemHeight", publicName: "itemHeight", isSignal: false, isRequired: false, transformFunction: null }, allowReordering: { classPropertyName: "allowReordering", publicName: "allowReordering", isSignal: false, isRequired: false, transformFunction: null }, paging: { classPropertyName: "paging", publicName: "paging", isSignal: false, isRequired: false, transformFunction: null }, fetchDataMode: { classPropertyName: "fetchDataMode", publicName: "fetchDataMode", isSignal: false, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: false, isRequired: false, transformFunction: null }, focusedRow: { classPropertyName: "focusedRow", publicName: "focusedRow", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { selectedRowsChange: "selectedRowsChange", focusedRowChange: "focusedRowChange", onRowClick: "onRowClick", onRowDbClick: "onRowDbClick", onColumnsOrderChanged: "onColumnsOrderChanged", onColumnSizeChanged: "onColumnSizeChanged", onPageChanged: "onPageChanged" }, host: { attributes: { "ngSkipHydration": "true" }, properties: { "class.ax-data-table-look-minimal": "look() === \"minimal\"" } }, providers: [
|
|
2634
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: AXDataTableComponent, isStandalone: true, selector: "ax-data-table", inputs: { dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: false, isRequired: false, transformFunction: null }, selectedRows: { classPropertyName: "selectedRows", publicName: "selectedRows", isSignal: false, isRequired: false, transformFunction: null }, parentField: { classPropertyName: "parentField", publicName: "parentField", isSignal: false, isRequired: false, transformFunction: null }, hasChildrenField: { classPropertyName: "hasChildrenField", publicName: "hasChildrenField", isSignal: false, isRequired: false, transformFunction: null }, rowDetailsTemplate: { classPropertyName: "rowDetailsTemplate", publicName: "rowDetailsTemplate", isSignal: false, isRequired: false, transformFunction: null }, rowCssClass: { classPropertyName: "rowCssClass", publicName: "rowCssClass", isSignal: false, isRequired: false, transformFunction: null }, cellCssClass: { classPropertyName: "cellCssClass", publicName: "cellCssClass", isSignal: false, isRequired: false, transformFunction: null }, highlightText: { classPropertyName: "highlightText", publicName: "highlightText", isSignal: false, isRequired: false, transformFunction: null }, look: { classPropertyName: "look", publicName: "look", isSignal: true, isRequired: false, transformFunction: null }, rowTemplate: { classPropertyName: "rowTemplate", publicName: "rowTemplate", isSignal: false, isRequired: false, transformFunction: null }, emptyTemplate: { classPropertyName: "emptyTemplate", publicName: "emptyTemplate", isSignal: false, isRequired: false, transformFunction: null }, noDataTemplate: { classPropertyName: "noDataTemplate", publicName: "noDataTemplate", isSignal: false, isRequired: false, transformFunction: null }, alternative: { classPropertyName: "alternative", publicName: "alternative", isSignal: false, isRequired: false, transformFunction: null }, showHeader: { classPropertyName: "showHeader", publicName: "showHeader", isSignal: false, isRequired: false, transformFunction: null }, fixedHeader: { classPropertyName: "fixedHeader", publicName: "fixedHeader", isSignal: false, isRequired: false, transformFunction: null }, showFooter: { classPropertyName: "showFooter", publicName: "showFooter", isSignal: false, isRequired: false, transformFunction: null }, fixedFooter: { classPropertyName: "fixedFooter", publicName: "fixedFooter", isSignal: false, isRequired: false, transformFunction: null }, itemHeight: { classPropertyName: "itemHeight", publicName: "itemHeight", isSignal: false, isRequired: false, transformFunction: null }, allowReordering: { classPropertyName: "allowReordering", publicName: "allowReordering", isSignal: false, isRequired: false, transformFunction: null }, paging: { classPropertyName: "paging", publicName: "paging", isSignal: false, isRequired: false, transformFunction: null }, fetchDataMode: { classPropertyName: "fetchDataMode", publicName: "fetchDataMode", isSignal: false, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: false, isRequired: false, transformFunction: null }, focusedRow: { classPropertyName: "focusedRow", publicName: "focusedRow", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { selectedRowsChange: "selectedRowsChange", focusedRowChange: "focusedRowChange", onRowClick: "onRowClick", onRowDbClick: "onRowDbClick", onColumnsOrderChanged: "onColumnsOrderChanged", onColumnSizeChanged: "onColumnSizeChanged", onPageChanged: "onPageChanged" }, host: { attributes: { "ngSkipHydration": "true" }, properties: { "class.ax-data-table-look-minimal": "look() === \"minimal\"" } }, providers: [
|
|
2276
2635
|
{ provide: AXBaseDataTable, useExisting: AXDataTableComponent },
|
|
2277
2636
|
AXUnsubscriber,
|
|
2278
2637
|
{ provide: AXComponent, useExisting: AXDataTableComponent },
|
|
2279
|
-
], queries: [{ propertyName: "customDataPager", first: true, predicate: AXDataPagerComponent, descendants: true, static: true }, { propertyName: "columns", predicate: AXDataTableColumnComponent }], viewQueries: [{ propertyName: "dataPager", first: true, predicate: ["dataPager"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-header\"> </ng-content>\n<div class=\"ax-data-table-wrapper\">\n <table>\n @if (showHeader) {\n <thead [ngClass]=\"{ 'ax-data-table-sticky-header': fixedHeader }\">\n <tr\n [cdkDropListDisabled]=\"!allowReordering\"\n cdkDropList\n cdkScrollable\n cdkDropListOrientation=\"horizontal\"\n (cdkDropListDropped)=\"drop($event)\"\n >\n @for (c of startFixedColumnsList(); track $index) {\n <th\n cdkDrag\n [cdkDragDisabled]=\"true\"\n cdkDragLockAxis=\"x\"\n class=\"ax-data-table-head-cell sticky-start\"\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n [class.ax-state-is-last]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderHeaderTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n </th>\n }\n @for (c of normalColumnsList(); track $index) {\n <th\n cdkDrag\n cdkDragLockAxis=\"x\"\n class=\"ax-data-table-head-cell\"\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderHeaderTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n @if (c.allowResizing && !c.fixed) {\n <div\n class=\"ax-resize-handle\"\n (mousedown)=\"onResizeColumnStart($event, this.startFixedColumnsList().length + $index)\"\n (dblclick)=\"onResizeHandlerDoubleClick($event, this.startFixedColumnsList().length + $index)\"\n title=\"Double-click to auto-fit column width\"\n ></div>\n }\n </th>\n }\n <th></th>\n @for (c of endFixedColumnsList(); track $index) {\n <th\n cdkDrag\n [cdkDragDisabled]=\"true\"\n cdkDragLockAxis=\"x\"\n class=\"ax-data-table-head-cell sticky-end\"\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n [class.ax-state-is-first]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderHeaderTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n </th>\n }\n </tr>\n </thead>\n }\n <tbody [ngClass]=\"{ 'ax-data-table-row-alternative': alternative }\">\n @if (showNoDataLoadedYet) {\n <tr style=\"display: inherit\">\n <td class=\"ax-data-table-empty-data\" [attr.colspan]=\"columnsList().length + 1\">\n @if (noDataTemplate) {\n <ng-container [ngTemplateOutlet]=\"noDataTemplate\"></ng-container>\n } @else {\n <span>{{ '@acorex:common.general.no-data-yet' | translate | async }}</span>\n }\n </td>\n </tr>\n } @else if (!displayedRows().length) {\n <tr style=\"display: inherit\">\n <td class=\"ax-data-table-empty-data\" [attr.colspan]=\"columnsList().length + 1\">\n @if (emptyTemplate) {\n <ng-container [ngTemplateOutlet]=\"emptyTemplate\"></ng-container>\n } @else {\n <span>{{ '@acorex:common.general.no-record' | translate | async }}</span>\n }\n </td>\n </tr>\n } @else {\n @for (row of displayedRows(); let rowIndex = $index; track rowIndex) {\n <ng-container\n [ngTemplateOutlet]=\"rowTemp\"\n [ngTemplateOutletContext]=\"{ data: { row, rowIndex } }\"\n ></ng-container>\n }\n\n <ng-template #rowTemp let-data=\"data\">\n @if (rowTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"rowTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: data.row, rowIndex: data.rowIndex } }\"\n >\n </ng-container>\n } @else {\n <tr\n [class.ax-state-focused]=\"focusedRow && data.row === focusedRow\"\n [attr.data-index]=\"data.rowIndex\"\n [class.ax-state-selected]=\"selectedRows.includes(data.row)\"\n style.height=\"{{ itemHeight }}px\"\n style.max-height=\"{{ itemHeight }}px\"\n (click)=\"handleRowClick($event, data.row)\"\n >\n @for (c of startFixedColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [class.sticky-start]=\"true\"\n [class.ax-state-is-last]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n [attr.data-label]=\"c.caption\"\n tabindex=\"0\"\n [class]=\"c.cssClass\"\n >\n <div class=\"ax-bg\"></div>\n <span\n class=\"ax-data-table-cell-tooltip-wrapper\"\n [axTooltip]=\"c.hasTitle && data.row && !isLoading() ? getCellTooltipText(c, data.row) || null : null\"\n >\n @if (data.row && !isLoading()) {\n <ng-container\n [ngTemplateOutlet]=\"c.renderCellTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: { data: data.row, rowIndex: calculateRowIndex(data.rowIndex) },\n }\"\n ></ng-container>\n } @else {\n @if (c.loadingEnabled && loading.enabled) {\n @if (loading.loadingTemplate) {\n <ng-container [ngTemplateOutlet]=\"loading.loadingTemplate\"></ng-container>\n } @else {\n <ax-skeleton [animated]=\"loading.animation\"></ax-skeleton>\n }\n }\n }\n </span>\n </td>\n }\n @for (c of normalColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [attr.data-label]=\"c.caption\"\n tabindex=\"0\"\n [class]=\"c.cssClass\"\n >\n <div class=\"ax-bg\"></div>\n <span\n class=\"ax-data-table-cell-tooltip-wrapper\"\n [axTooltip]=\"c.hasTitle && data.row && !isLoading() ? getCellTooltipText(c, data.row) || null : null\"\n >\n @if (data.row && !isLoading()) {\n <ng-container\n [ngTemplateOutlet]=\"c.renderCellTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: { data: data.row, rowIndex: calculateRowIndex(data.rowIndex) },\n }\"\n ></ng-container>\n } @else {\n @if (c.loadingEnabled && loading.enabled) {\n @if (loading.loadingTemplate) {\n <ng-container [ngTemplateOutlet]=\"loading.loadingTemplate\"></ng-container>\n } @else {\n <ax-skeleton [animated]=\"loading.animation\"></ax-skeleton>\n }\n }\n }\n </span>\n </td>\n }\n <td><div class=\"ax-bg\"></div></td>\n @for (c of endFixedColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [class.sticky-end]=\"true\"\n [class.ax-state-is-first]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n [attr.data-label]=\"c.caption\"\n tabindex=\"0\"\n [class]=\"c.cssClass\"\n >\n <div class=\"ax-bg\"></div>\n <span\n class=\"ax-data-table-cell-tooltip-wrapper\"\n [axTooltip]=\"c.hasTitle && data.row && !isLoading() ? getCellTooltipText(c, data.row) || null : null\"\n >\n @if (data.row && !isLoading()) {\n <ng-container\n [ngTemplateOutlet]=\"c.renderCellTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: { data: data.row, rowIndex: calculateRowIndex(data.rowIndex) },\n }\"\n ></ng-container>\n } @else {\n @if (c.loadingEnabled && loading.enabled) {\n @if (loading.loadingTemplate) {\n <ng-container [ngTemplateOutlet]=\"loading.loadingTemplate\"></ng-container>\n } @else {\n <ax-skeleton [animated]=\"loading.animation\"></ax-skeleton>\n }\n }\n }\n </span>\n </td>\n }\n </tr>\n @if (data.row?.__meta__?.expanded) {\n @if (rowDetailsTemplate) {\n <tr>\n @for (c of startFixedColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [class.sticky-start]=\"true\"\n [class.ax-state-is-last]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n >\n <div class=\"ax-bg\"></div>\n </td>\n }\n <td class=\"ax-data-table-row-details\" [attr.colspan]=\"normalColumnsList().length + 1\">\n <ng-container\n [ngTemplateOutlet]=\"rowDetailsTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: data.row, rowIndex: data.rowIndex } }\"\n ></ng-container>\n </td>\n @for (c of endFixedColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [class.sticky-end]=\"true\"\n [class.ax-state-is-first]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n >\n <div class=\"ax-bg\"></div>\n </td>\n }\n </tr>\n }\n @for (childRow of data.row.children; let childRowIndex = $index; track childRowIndex) {\n <ng-container\n [ngTemplateOutlet]=\"rowTemp\"\n [ngTemplateOutletContext]=\"{ data: { row: childRow, rowIndex: childRowIndex } }\"\n ></ng-container>\n }\n }\n }\n </ng-template>\n\n <tr class=\"empty-row\"></tr>\n }\n </tbody>\n @if (showFooter) {\n <tfoot [ngClass]=\"{ 'ax-data-table-sticky-footer': fixedFooter }\">\n <tr>\n @for (c of startFixedColumnsList(); track $index) {\n <td\n class=\"ax-data-table-sticky-footer-cell sticky-start\"\n [class.ax-data-table-sticky-footer-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n [class.ax-state-is-last]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderFooterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n </td>\n }\n @for (c of normalColumnsList(); track $index) {\n <td\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderFooterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n @if (c.allowResizing && !c.fixed) {\n <div\n class=\"ax-resize-handle\"\n (mousedown)=\"onResizeColumnStart($event, this.startFixedColumnsList().length + $index)\"\n (dblclick)=\"onResizeHandlerDoubleClick($event, this.startFixedColumnsList().length + $index)\"\n title=\"Double-click to auto-fit column width\"\n ></div>\n }\n </td>\n }\n <td></td>\n @for (c of endFixedColumnsList(); track $index) {\n <td\n class=\"ax-data-table-sticky-footer-cell sticky-end\"\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n [class.ax-state-is-first]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderFooterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n </td>\n }\n </tr>\n </tfoot>\n }\n </table>\n</div>\n\n@if (paging) {\n <div class=\"ax-table-footer\" #footerContainer>\n <ng-template #customPager>\n <ng-content select=\"ax-data-pager\"></ng-content>\n </ng-template>\n\n @if (customDataPager) {\n <ng-container [ngTemplateOutlet]=\"customPager\"></ng-container>\n } @else {\n <ax-data-pager\n #dataPager\n [displayMode]=\"'custom'\"\n (onChanged)=\"handleChangePage($event)\"\n [total]=\"dataSource.totalCount\"\n [size]=\"dataSource.pageSize\"\n [isLoading]=\"isLoading()\"\n >\n <ax-prefix class=\"ax-data-table-numeric-paging\">\n <ax-data-pager-numeric-selector> </ax-data-pager-numeric-selector>\n <ax-data-pager-page-sizes> </ax-data-pager-page-sizes>\n </ax-prefix>\n <ax-prefix class=\"ax-data-table-input-paging\">\n <ax-data-pager-prev-buttons> </ax-data-pager-prev-buttons>\n <ax-data-pager-input-selector> </ax-data-pager-input-selector>\n <ax-data-pager-next-buttons> </ax-data-pager-next-buttons>\n </ax-prefix>\n <ax-suffix class=\"ax-data-table-info\">\n <ax-data-pager-info> </ax-data-pager-info>\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"refresh({ reset: false })\">\n <ax-icon icon=\"ax-icon ax-icon-refresh\"></ax-icon>\n </ax-button>\n </ax-suffix>\n </ax-data-pager>\n }\n </div>\n}\n<ng-content select=\"ax-footer\"> </ng-content>\n", styles: ["ax-data-table{--ax-comp-data-table-font-size: .875rem;--ax-comp-data-table-line-height: 1rem;--ax-comp-data-table-border-color: var(--ax-sys-color-border-surface);--ax-comp-data-table-border-radius: var(--ax-sys-border-radius);--ax-comp-data-table-column-bg-color: var(--ax-sys-color-lightest-surface);--ax-comp-data-table-header-bg-color: var(--ax-sys-color-lighter-surface);--ax-comp-data-table-header-text-color: var(--ax-sys-color-on-lighter-surface);--ax-comp-data-table-footer-bg-color: var(--ax-sys-color-lighter-surface);--ax-comp-data-table-footer-text-color: var(--ax-sys-color-on-lighter-surface);--ax-comp-data-table-hover-bg-color: var(--ax-sys-color-primary-lightest-surface);--ax-comp-data-table-hover-text-color: var(--ax-sys-color-on-primary-lightest-surface);--ax-comp-data-table-focus-bg-color: var(--ax-sys-color-primary-lighter-surface);--ax-comp-data-table-selected-bg-color: var(--ax-sys-color-primary-light-surface);--ax-comp-data-table-selected-hover-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-data-table-index-bg-color: var(--ax-sys-color-light-surface);--ax-comp-data-table-index-text-color: var(--ax-sys-color-on-light-surface);--ax-comp-data-table-alternative-bg-color: var(--ax-sys-color-light-surface);--ax-comp-data-table-alternative-text-color: var(--ax-sys-color-on-light-surface);--ax-comp-data-table-skeleton-bg-color: var(--ax-sys-color-dark-surface);--ax-comp-data-table-handler-bg-color: var(--ax-sys-color-primary-light-surface);--ax-comp-data-table-interactive-bg-color: var(--ax-sys-color-light-surface)}.ax-dark ax-data-table{--ax-comp-data-table-column-bg-color: var(--ax-sys-color-darkest-surface);--ax-comp-data-table-header-bg-color: var(--ax-sys-color-darker-surface);--ax-comp-data-table-header-text-color: var(--ax-sys-color-on-darker-surface);--ax-comp-data-table-footer-bg-color: var(--ax-sys-color-darker-surface);--ax-comp-data-table-footer-text-color: var(--ax-sys-color-on-darker-surface);--ax-comp-data-table-hover-bg-color: var(--ax-sys-color-primary-light-surface);--ax-comp-data-table-hover-text-color: var(--ax-sys-color-on-light-surface);--ax-comp-data-table-focus-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-data-table-selected-bg-color: var(--ax-sys-color-primary-dark-surface);--ax-comp-data-table-selected-hover-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-data-table-index-bg-color: var(--ax-sys-color-dark-surface);--ax-comp-data-table-index-text-color: var(--ax-sys-color-on-dark-surface);--ax-comp-data-table-skeleton-bg-color: var(--ax-sys-color-lighter-surface);--ax-comp-data-table-alternative-bg-color: var(--ax-sys-color-surface);--ax-comp-data-table-alternative-text-color: var(--ax-sys-color-on-surface);--ax-comp-data-table-handler-bg-color: var(--ax-sys-color-primary-dark-surface)}@media screen and (min-width: 768px){html[dir=rtl] ax-data-table .ax-data-table-wrapper table thead th.ax-data-table-sticky-header-cell.sticky-start{box-shadow:inset 1px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table thead th.ax-data-table-sticky-header-cell.sticky-start.ax-state-is-last{box-shadow:inset 2px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table thead th.ax-data-table-sticky-header-cell.sticky-end{box-shadow:inset -1px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table thead th.ax-data-table-sticky-header-cell.sticky-end.ax-state-is-first{box-shadow:inset -2px 0 rgba(var(--ax-comp-data-table-border-color))}}@media screen and (min-width: 768px){html[dir=rtl] ax-data-table .ax-data-table-wrapper table tbody td.ax-data-table-sticky-body-cell.sticky-start{box-shadow:inset 1px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table tbody td.ax-data-table-sticky-body-cell.sticky-start.ax-state-is-last{box-shadow:inset 2px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table tbody td.ax-data-table-sticky-body-cell.sticky-end{box-shadow:inset -1px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table tbody td.ax-data-table-sticky-body-cell.sticky-end.ax-state-is-first{box-shadow:inset -2px 0 rgba(var(--ax-comp-data-table-border-color))}}ax-data-table{display:flex;flex-direction:column;height:100%;width:100%;font-size:var(--ax-comp-data-table-font-size);line-height:var(--ax-comp-data-table-line-height);border-radius:var(--ax-comp-data-table-border-radius);border-width:1px;border-color:rgba(var(--ax-comp-data-table-border-color));position:relative;min-height:inherit;overflow:hidden}ax-data-table td.ax-data-table-empty-data{background:transparent!important;position:absolute!important;padding:2rem 1rem;text-align:center;vertical-align:middle;height:8rem;border-bottom:none;top:50%;transform:translateY(-50%);width:100%}ax-data-table td.ax-data-table-empty-data span{color:rgb(var(--ax-sys-color-ghost-500));font-size:var(--ax-comp-data-table-font-size);display:flex;height:100%;align-items:center;justify-content:center}ax-data-table .ax-data-table-wrapper{overflow:auto;width:100%;flex:1;border-radius:var(--ax-comp-data-table-border-radius)}ax-data-table .ax-data-table-wrapper table{display:table;height:100%;width:100%;table-layout:fixed;overflow-x:auto}ax-data-table .ax-data-table-wrapper table thead{overflow:hidden;border-start-end-radius:var(--ax-comp-data-table-border-radius);border-start-start-radius:var(--ax-comp-data-table-border-radius)}ax-data-table .ax-data-table-wrapper table thead th{border-bottom-width:1px;border-inline-end-width:1px;border-style:solid;border-color:rgba(var(--ax-comp-data-table-border-color));background-color:rgba(var(--ax-comp-data-table-header-bg-color));color:rgba(var(--ax-comp-data-table-header-text-color));padding-inline-start:1rem;padding-inline-end:1rem;padding-top:.75rem;padding-bottom:.75rem;text-align:start;font-weight:500;text-transform:uppercase;position:relative;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;height:2.5rem}ax-data-table .ax-data-table-wrapper table thead th.ax-interactive{cursor:pointer}ax-data-table .ax-data-table-wrapper table thead th.ax-interactive:hover{background-color:rgba(var(--ax-comp-data-table-interactive-bg-color))}ax-data-table .ax-data-table-wrapper table thead th .ax-resize-handle{position:absolute;inset-inline-end:0px;top:0;bottom:0;width:.25rem;height:100%;cursor:col-resize;background:transparent}ax-data-table .ax-data-table-wrapper table thead th .ax-resize-handle:hover{background-color:rgba(var(--ax-comp-data-table-handler-bg-color))}ax-data-table .ax-data-table-wrapper table thead th .ax-caption{display:flex;align-items:center;gap:.5rem}ax-data-table .ax-data-table-wrapper table thead th:last-child{border-inline-end-width:0px}ax-data-table .ax-data-table-wrapper table thead.ax-data-table-sticky-header{position:sticky;top:0;border-top:none;border-bottom:none;z-index:3;box-shadow:inset 1px 1px 0 2px rgba(var(--ax-comp-data-table-border-color))}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell{position:sticky;z-index:2;border-inline-start:none;border-inline-end:none}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-start{box-shadow:inset -1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-start.ax-state-is-last{box-shadow:inset -2px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-end{box-shadow:inset 1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-end.ax-state-is-first{box-shadow:inset 2px 0 rgba(var(--ax-comp-data-table-border-color))}}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell{position:sticky;z-index:2;background-color:rgba(var(--ax-comp-data-table-column-bg-color));border-inline-start:none;border-inline-end:none}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-start{box-shadow:inset -1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-start.ax-state-is-last{box-shadow:inset -2px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-end{box-shadow:inset 1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-end.ax-state-is-first{box-shadow:inset 2px 0 rgba(var(--ax-comp-data-table-border-color))}}ax-data-table .ax-data-table-wrapper table tbody tr td{z-index:0;position:relative}ax-data-table .ax-data-table-wrapper table tbody tr td .ax-data-table-cell-tooltip-wrapper{position:relative;min-height:inherit}ax-data-table .ax-data-table-wrapper table tbody tr td .ax-bg{top:0;left:0;z-index:-1;width:100%;height:100%;position:absolute;border-inline-end:1px solid rgba(var(--ax-comp-data-table-border-color));background-color:transparent;opacity:.3}ax-data-table .ax-data-table-wrapper table tbody .empty-row{height:auto!important}ax-data-table .ax-data-table-wrapper table tbody.ax-data-table-row-alternative tr:nth-child(2n) td{background-color:rgba(var(--ax-comp-data-table-alternative-bg-color));color:rgba(var(--ax-comp-data-table-alternative-text-color))}ax-data-table .ax-data-table-wrapper table tbody.ax-data-table-row-alternative tr:nth-child(2n) ax-skeleton{width:25%}ax-data-table .ax-data-table-wrapper table tbody tr{height:2.5rem;max-height:2.5rem}ax-data-table .ax-data-table-wrapper table tbody tr:hover td:not(.ax-index-column){color:rgba(var(--ax-comp-data-table-hover-text-color))}ax-data-table .ax-data-table-wrapper table tbody tr:hover td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-comp-data-table-hover-bg-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-focused td:not(.ax-index-column){color:rgba(var(--ax-comp-data-table-focus-text-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-focused td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-comp-data-table-focus-bg-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-selected td:not(.ax-index-column){color:rgba(var(--ax-comp-data-table-selected-text-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-selected td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-comp-data-table-selected-bg-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-selected:hover td:not(.ax-index-column){color:rgba(var(--ax-comp-data-table-selected-hover-text-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-selected:hover td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-comp-data-table-selected-hover-bg-color))}ax-data-table .ax-data-table-wrapper table tbody td{position:relative;min-width:2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom-width:1px;border-inline-end-width:1px;border-color:rgba(var(--ax-comp-data-table-border-color));background-color:rgba(var(--ax-comp-data-table-column-bg-color));padding-inline-start:1rem;padding-inline-end:1rem;padding-top:.5rem;padding-bottom:.5rem;vertical-align:middle}ax-data-table .ax-data-table-wrapper table tbody td .ax-expand-handler{padding-inline-start:.25rem;padding-inline-end:.25rem;cursor:pointer}ax-data-table .ax-data-table-wrapper table tbody td .ax-expand-handler.has-parent{padding-inline-start:1.5rem!important}ax-data-table .ax-data-table-wrapper table tbody td.ax-index-column{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background-color:rgba(var(--ax-comp-data-table-index-bg-color));color:rgba(var(--ax-comp-data-table-index-text-color));text-align:center}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column{text-align:center}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column button.ax-state-disabled{position:relative!important;cursor:not-allowed!important;opacity:.5!important}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column>div{position:absolute;inset-inline-start:0px;top:50%;display:flex;width:100%;transform:translateY(-50%);align-items:center;justify-content:center}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button{--ax-comp-button-font-size: .75rem;--ax-comp-button-padding-x: .25rem;--ax-comp-button-decorator-padding-x: .25rem;--ax-comp-button-icon-only-font-size: .875rem;--ax-sys-size-base: 1.5rem;margin-left:.25rem;margin-right:.25rem}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button ax-loading .ax-loader{width:.75rem!important;height:.75rem!important;border-width:2px!important}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button{position:relative;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:var(--ax-comp-data-table-border-radius);border-style:none;border-color:rgba(var(--ax-comp-data-table-border-color));background-color:transparent;padding:.25rem;color:rgba(var(--ax-color-ghost-fore))}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button:hover:not(ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button:hover.ax-state-selected,ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button:hover.ax-state-disabled){opacity:.75}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button:active{opacity:1}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button .ax-ripple{background-color:rgba(var(--ax-color-ghost-fore),.05)}ax-data-table .ax-data-table-wrapper table tbody td:last-child{border-inline-end-width:0px}ax-data-table .ax-data-table-wrapper table tbody td ax-skeleton{height:.875rem;width:33.333333%;border-radius:.375rem;background-color:rgba(var(--ax-comp-data-table-skeleton-bg-color))}ax-data-table .ax-data-table-wrapper table tfoot tr td{border-bottom-width:1px;border-inline-end-width:1px;border-style:solid;border-color:rgba(var(--ax-comp-data-table-border-color));background-color:rgba(var(--ax-comp-data-table-footer-bg-color));color:rgba(var(--ax-comp-data-table-footer-text-color));padding-inline-start:1rem;padding-inline-end:1rem;padding-top:.75rem;padding-bottom:.75rem;text-align:start;font-weight:500;text-transform:uppercase;position:relative;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;height:2.5rem}ax-data-table .ax-data-table-wrapper table tfoot tr td.ax-interactive{cursor:pointer}ax-data-table .ax-data-table-wrapper table tfoot tr td.ax-interactive:hover{background-color:rgba(var(--ax-comp-data-table-interactive-bg-color))}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell{position:sticky;z-index:2;border-inline-start:none;border-inline-end:none}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-start{box-shadow:inset -1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-start.ax-state-is-last{box-shadow:inset -2px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-end{box-shadow:inset 1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-end.ax-state-is-first{box-shadow:inset 2px 0 rgba(var(--ax-comp-data-table-border-color))}}ax-data-table .ax-data-table-wrapper table tfoot.ax-data-table-sticky-footer{position:sticky;bottom:-1px;border-top:none;border-bottom:none;z-index:3;box-shadow:1px 0 rgba(var(--ax-comp-data-table-border-color)),0 -1px rgba(var(--ax-comp-data-table-border-color))}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table .sticky-end{inset-inline-end:var(--sticky-end)}ax-data-table .ax-data-table-wrapper table .sticky-start{inset-inline-start:var(--sticky-start)}}ax-data-table ax-data-pager{justify-content:center}ax-data-table .ax-table-footer{border-top-width:1px;border-collapse:collapse;overflow:hidden;border-color:rgba(var(--ax-comp-data-table-border-color));padding-inline-start:.875rem;padding-inline-end:.875rem;min-height:max-content}ax-data-table .ax-table-footer .ax-table-info{display:flex;flex:1 1 0%;align-items:center;justify-content:space-between}ax-data-table .ax-data-table-numeric-paging{display:none}ax-data-table .ax-data-table-input-paging{display:flex}ax-data-table .ax-data-table-info{display:none}@media (min-width: 1024px){ax-data-table .ax-data-table-numeric-paging{display:flex}ax-data-table .ax-data-table-input-paging{display:none}}@media (min-width: 768px){ax-data-table .ax-data-table-info{display:flex;align-items:center}ax-data-table ax-data-pager{justify-content:space-between}}.cdk-drag-preview{border-bottom-width:1px;border-inline-end-width:1px;box-shadow:0 5px 5px -3px rgba(var(--ax-sys-color-primary-900),.2),0 8px 10px 1px rgba(var(--ax-sys-color-primary-900),.14),0 3px 14px 2px rgba(var(--ax-sys-color-primary-900),.12);border-style:solid;border-color:rgba(var(--ax-comp-data-table-border-color));background-color:rgba(var(--ax-sys-color-surface));color:rgba(var(--ax-sys-color-surface-fore));padding-inline-start:1rem;padding-inline-end:1rem;padding-top:.75rem;padding-bottom:.75rem;text-align:start;font-weight:500;text-transform:uppercase;position:relative}.ax-dropdown-command-empty-state-text{color:rgba(var(--ax-sys-color-on-surface-variant-500));font-size:.75rem}ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table thead th{border-inline-end-width:0}ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table thead.ax-data-table-sticky-header{box-shadow:inset 0 1px rgba(var(--ax-comp-data-table-border-color))}@media screen and (min-width: 768px){ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-start,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-end{box-shadow:none}}@media screen and (min-width: 768px){ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-start,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-end{box-shadow:none}}ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tbody tr td .ax-bg{border-inline-end:none}ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tbody td{border-inline-end-width:0}ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr td{border-inline-end-width:0;border-inline-start-width:0}@media screen and (min-width: 768px){ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-start,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-end,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-start.ax-state-is-last,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-end.ax-state-is-first,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-header-cell.sticky-start,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-header-cell.sticky-end,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-header-cell.sticky-start.ax-state-is-last,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-header-cell.sticky-end.ax-state-is-first{box-shadow:none}}ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot.ax-data-table-sticky-footer{box-shadow:0 -1px rgba(var(--ax-comp-data-table-border-color))}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer", "cdkDropListHasAnchor"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: AXSkeletonComponent, selector: "ax-skeleton", inputs: ["animated"] }, { kind: "component", type: AXDataPagerComponent, selector: "ax-data-pager", inputs: ["value", "name", "disabled", "readonly", "isLoading", "size", "total", "displayMode"], outputs: ["valueChange", "onValueChanged", "disabledChange", "readonlyChange", "displayModeChange", "onChanged"] }, { kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXDataPagerNumericSelectorComponent, selector: "ax-data-pager-numeric-selector" }, { kind: "component", type: AXDataPagerPageSizesComponent, selector: "ax-data-pager-page-sizes", inputs: ["sizes"] }, { kind: "component", type: AXDataPagerPrevButtonsComponent, selector: "ax-data-pager-prev-buttons" }, { kind: "component", type: AXDataPagerInputSelectorComponent, selector: "ax-data-pager-input-selector" }, { kind: "component", type: AXDataPagerNextButtonsComponent, selector: "ax-data-pager-next-buttons" }, { kind: "component", type: AXDataPagerInfoComponent, selector: "ax-data-pager-info", inputs: ["text"] }, { kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "directive", type: AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltipDisabled", "axTooltip", "axTooltipContext", "axTooltipPlacement", "axTooltipOffsetX", "axTooltipOffsetY", "axTooltipOpenAfter", "axTooltipCloseAfter"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
2638
|
+
], queries: [{ propertyName: "customDataPager", first: true, predicate: AXDataPagerComponent, descendants: true, static: true }, { propertyName: "columns", predicate: AXDataTableColumnComponent }], viewQueries: [{ propertyName: "dataPager", first: true, predicate: ["dataPager"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-header\"> </ng-content>\n<div class=\"ax-data-table-wrapper\">\n <table>\n @if (showHeader) {\n <thead [ngClass]=\"{ 'ax-data-table-sticky-header': fixedHeader }\">\n <tr\n [cdkDropListDisabled]=\"!allowReordering\"\n cdkDropList\n cdkScrollable\n cdkDropListOrientation=\"horizontal\"\n (cdkDropListDropped)=\"drop($event)\"\n >\n @for (c of startFixedColumnsList(); track $index) {\n <th\n cdkDrag\n [cdkDragDisabled]=\"true\"\n cdkDragLockAxis=\"x\"\n class=\"ax-data-table-head-cell sticky-start\"\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n [class.ax-state-is-last]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderHeaderTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n </th>\n }\n @for (c of normalColumnsList(); track $index) {\n <th\n cdkDrag\n cdkDragLockAxis=\"x\"\n class=\"ax-data-table-head-cell\"\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderHeaderTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n @if (c.allowResizing && !c.fixed) {\n <div\n class=\"ax-resize-handle\"\n (mousedown)=\"onResizeColumnStart($event, this.startFixedColumnsList().length + $index)\"\n (dblclick)=\"onResizeHandlerDoubleClick($event, this.startFixedColumnsList().length + $index)\"\n title=\"Double-click to auto-fit column width\"\n ></div>\n }\n </th>\n }\n <th></th>\n @for (c of endFixedColumnsList(); track $index) {\n <th\n cdkDrag\n [cdkDragDisabled]=\"true\"\n cdkDragLockAxis=\"x\"\n class=\"ax-data-table-head-cell sticky-end\"\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n [class.ax-state-is-first]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderHeaderTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n </th>\n }\n </tr>\n </thead>\n }\n <tbody [ngClass]=\"{ 'ax-data-table-row-alternative': alternative }\">\n @if (showNoDataLoadedYet) {\n <tr style=\"display: inherit\">\n <td class=\"ax-data-table-empty-data\" [attr.colspan]=\"columnsList().length + 1\">\n @if (noDataTemplate) {\n <ng-container [ngTemplateOutlet]=\"noDataTemplate\"></ng-container>\n } @else {\n <span>{{ '@acorex:common.general.no-data-yet' | translate | async }}</span>\n }\n </td>\n </tr>\n } @else if (!displayedRows().length) {\n <tr style=\"display: inherit\">\n <td class=\"ax-data-table-empty-data\" [attr.colspan]=\"columnsList().length + 1\">\n @if (emptyTemplate) {\n <ng-container [ngTemplateOutlet]=\"emptyTemplate\"></ng-container>\n } @else {\n <span>{{ '@acorex:common.general.no-record' | translate | async }}</span>\n }\n </td>\n </tr>\n } @else {\n @for (row of displayedRows(); let rowIndex = $index; track rowIndex) {\n <ng-container\n [ngTemplateOutlet]=\"rowTemp\"\n [ngTemplateOutletContext]=\"{ data: { row, rowIndex } }\"\n ></ng-container>\n }\n\n <ng-template #rowTemp let-data=\"data\">\n @if (rowTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"rowTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: data.row, rowIndex: data.rowIndex } }\"\n >\n </ng-container>\n } @else {\n <tr\n [class.ax-state-focused]=\"focusedRow && data.row === focusedRow\"\n [attr.data-index]=\"data.rowIndex\"\n [class.ax-state-selected]=\"selectedRows.includes(data.row)\"\n [ngClass]=\"getRowCssClass(data.row, data.rowIndex)\"\n style.height=\"{{ itemHeight }}px\"\n style.max-height=\"{{ itemHeight }}px\"\n (click)=\"handleRowClick($event, data.row)\"\n >\n @for (c of startFixedColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [class.sticky-start]=\"true\"\n [class.ax-state-is-last]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n [attr.data-label]=\"c.caption\"\n tabindex=\"0\"\n [class]=\"getCellCssClass(data.row, c, calculateRowIndex(data.rowIndex))\"\n >\n <div class=\"ax-bg\"></div>\n <span\n class=\"ax-data-table-cell-tooltip-wrapper\"\n [axTooltip]=\"\n c.hasTitle && data.row && !isLoading() ? getCellTooltipText(c, data.row) || null : null\n \"\n >\n @if (data.row && !isLoading()) {\n <ng-container\n [ngTemplateOutlet]=\"c.renderCellTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: { data: data.row, rowIndex: calculateRowIndex(data.rowIndex) },\n }\"\n ></ng-container>\n } @else {\n @if (c.loadingEnabled && loading.enabled) {\n @if (loading.loadingTemplate) {\n <ng-container [ngTemplateOutlet]=\"loading.loadingTemplate\"></ng-container>\n } @else {\n <ax-skeleton [animated]=\"loading.animation\"></ax-skeleton>\n }\n }\n }\n </span>\n </td>\n }\n @for (c of normalColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [attr.data-label]=\"c.caption\"\n tabindex=\"0\"\n [class]=\"getCellCssClass(data.row, c, calculateRowIndex(data.rowIndex))\"\n >\n <div class=\"ax-bg\"></div>\n <span\n class=\"ax-data-table-cell-tooltip-wrapper\"\n [axTooltip]=\"\n c.hasTitle && data.row && !isLoading() ? getCellTooltipText(c, data.row) || null : null\n \"\n >\n @if (data.row && !isLoading()) {\n <ng-container\n [ngTemplateOutlet]=\"c.renderCellTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: { data: data.row, rowIndex: calculateRowIndex(data.rowIndex) },\n }\"\n ></ng-container>\n } @else {\n @if (c.loadingEnabled && loading.enabled) {\n @if (loading.loadingTemplate) {\n <ng-container [ngTemplateOutlet]=\"loading.loadingTemplate\"></ng-container>\n } @else {\n <ax-skeleton [animated]=\"loading.animation\"></ax-skeleton>\n }\n }\n }\n </span>\n </td>\n }\n <td><div class=\"ax-bg\"></div></td>\n @for (c of endFixedColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [class.sticky-end]=\"true\"\n [class.ax-state-is-first]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n [attr.data-label]=\"c.caption\"\n tabindex=\"0\"\n [class]=\"getCellCssClass(data.row, c, calculateRowIndex(data.rowIndex))\"\n >\n <div class=\"ax-bg\"></div>\n <span\n class=\"ax-data-table-cell-tooltip-wrapper\"\n [axTooltip]=\"\n c.hasTitle && data.row && !isLoading() ? getCellTooltipText(c, data.row) || null : null\n \"\n >\n @if (data.row && !isLoading()) {\n <ng-container\n [ngTemplateOutlet]=\"c.renderCellTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: { data: data.row, rowIndex: calculateRowIndex(data.rowIndex) },\n }\"\n ></ng-container>\n } @else {\n @if (c.loadingEnabled && loading.enabled) {\n @if (loading.loadingTemplate) {\n <ng-container [ngTemplateOutlet]=\"loading.loadingTemplate\"></ng-container>\n } @else {\n <ax-skeleton [animated]=\"loading.animation\"></ax-skeleton>\n }\n }\n }\n </span>\n </td>\n }\n </tr>\n @if (data.row?.__meta__?.expanded) {\n @if (rowDetailsTemplate) {\n <tr>\n @for (c of startFixedColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [class.sticky-start]=\"true\"\n [class.ax-state-is-last]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n >\n <div class=\"ax-bg\"></div>\n </td>\n }\n <td class=\"ax-data-table-row-details\" [attr.colspan]=\"normalColumnsList().length + 1\">\n <ng-container\n [ngTemplateOutlet]=\"rowDetailsTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: data.row, rowIndex: data.rowIndex } }\"\n ></ng-container>\n </td>\n @for (c of endFixedColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [class.sticky-end]=\"true\"\n [class.ax-state-is-first]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n >\n <div class=\"ax-bg\"></div>\n </td>\n }\n </tr>\n }\n @for (childRow of data.row.children; let childRowIndex = $index; track childRowIndex) {\n <ng-container\n [ngTemplateOutlet]=\"rowTemp\"\n [ngTemplateOutletContext]=\"{ data: { row: childRow, rowIndex: childRowIndex } }\"\n ></ng-container>\n }\n }\n }\n </ng-template>\n\n <tr class=\"empty-row\"></tr>\n }\n </tbody>\n @if (showFooter) {\n <tfoot [ngClass]=\"{ 'ax-data-table-sticky-footer': fixedFooter }\">\n <tr>\n @for (c of startFixedColumnsList(); track $index) {\n <td\n class=\"ax-data-table-sticky-footer-cell sticky-start\"\n [class.ax-data-table-sticky-footer-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n [class.ax-state-is-last]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderFooterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n </td>\n }\n @for (c of normalColumnsList(); track $index) {\n <td\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderFooterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n @if (c.allowResizing && !c.fixed) {\n <div\n class=\"ax-resize-handle\"\n (mousedown)=\"onResizeColumnStart($event, this.startFixedColumnsList().length + $index)\"\n (dblclick)=\"onResizeHandlerDoubleClick($event, this.startFixedColumnsList().length + $index)\"\n title=\"Double-click to auto-fit column width\"\n ></div>\n }\n </td>\n }\n <td></td>\n @for (c of endFixedColumnsList(); track $index) {\n <td\n class=\"ax-data-table-sticky-footer-cell sticky-end\"\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n [class.ax-state-is-first]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderFooterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n </td>\n }\n </tr>\n </tfoot>\n }\n </table>\n</div>\n\n@if (paging) {\n <div class=\"ax-table-footer\" #footerContainer>\n <ng-template #customPager>\n <ng-content select=\"ax-data-pager\"></ng-content>\n </ng-template>\n\n @if (customDataPager) {\n <ng-container [ngTemplateOutlet]=\"customPager\"></ng-container>\n } @else {\n <ax-data-pager\n #dataPager\n [displayMode]=\"'custom'\"\n (onChanged)=\"handleChangePage($event)\"\n [total]=\"dataSource.totalCount\"\n [size]=\"dataSource.pageSize\"\n [isLoading]=\"isLoading()\"\n >\n <ax-prefix class=\"ax-data-table-numeric-paging\">\n <ax-data-pager-numeric-selector> </ax-data-pager-numeric-selector>\n <ax-data-pager-page-sizes> </ax-data-pager-page-sizes>\n </ax-prefix>\n <ax-prefix class=\"ax-data-table-input-paging\">\n <ax-data-pager-prev-buttons> </ax-data-pager-prev-buttons>\n <ax-data-pager-input-selector> </ax-data-pager-input-selector>\n <ax-data-pager-next-buttons> </ax-data-pager-next-buttons>\n </ax-prefix>\n <ax-suffix class=\"ax-data-table-info\">\n <ax-data-pager-info> </ax-data-pager-info>\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"refresh({ reset: false })\">\n <ax-icon icon=\"ax-icon ax-icon-refresh\"></ax-icon>\n </ax-button>\n </ax-suffix>\n </ax-data-pager>\n }\n </div>\n}\n<ng-content select=\"ax-footer\"> </ng-content>\n", styles: ["ax-data-table{--ax-comp-data-table-font-size: .875rem;--ax-comp-data-table-line-height: 1rem;--ax-comp-data-table-border-color: var(--ax-sys-color-border-surface);--ax-comp-data-table-border-radius: var(--ax-sys-border-radius);--ax-comp-data-table-column-bg-color: var(--ax-sys-color-lightest-surface);--ax-comp-data-table-header-bg-color: var(--ax-sys-color-lighter-surface);--ax-comp-data-table-header-text-color: var(--ax-sys-color-on-lighter-surface);--ax-comp-data-table-footer-bg-color: var(--ax-sys-color-lighter-surface);--ax-comp-data-table-footer-text-color: var(--ax-sys-color-on-lighter-surface);--ax-comp-data-table-hover-bg-color: var(--ax-sys-color-primary-lightest-surface);--ax-comp-data-table-hover-text-color: var(--ax-sys-color-on-primary-lightest-surface);--ax-comp-data-table-focus-bg-color: var(--ax-sys-color-primary-lighter-surface);--ax-comp-data-table-selected-bg-color: var(--ax-sys-color-primary-light-surface);--ax-comp-data-table-selected-hover-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-data-table-index-bg-color: var(--ax-sys-color-light-surface);--ax-comp-data-table-index-text-color: var(--ax-sys-color-on-light-surface);--ax-comp-data-table-alternative-bg-color: var(--ax-sys-color-light-surface);--ax-comp-data-table-alternative-text-color: var(--ax-sys-color-on-light-surface);--ax-comp-data-table-skeleton-bg-color: var(--ax-sys-color-dark-surface);--ax-comp-data-table-handler-bg-color: var(--ax-sys-color-primary-light-surface);--ax-comp-data-table-interactive-bg-color: var(--ax-sys-color-light-surface);--ax-comp-data-table-highlight-bg-color: var(--ax-sys-color-warning-lighter-surface);--ax-comp-data-table-highlight-text-color: var(--ax-sys-color-on-warning-lighter-surface);--ax-comp-data-table-highlight-border-color: var(--ax-sys-color-warning-500)}ax-data-table .ax-highlight{background:rgb(var(--ax-comp-data-table-highlight-bg-color));color:rgb(var(--ax-comp-data-table-highlight-text-color));padding:0 .125rem;font-weight:500;box-shadow:0 0 0 1px rgba(var(--ax-comp-data-table-highlight-border-color),.25)}ax-infinite-scroll-data-table{--ax-comp-data-table-highlight-bg-color: var(--ax-sys-color-warning-lighter-surface);--ax-comp-data-table-highlight-text-color: var(--ax-sys-color-on-warning-lighter-surface);--ax-comp-data-table-highlight-border-color: var(--ax-sys-color-warning-500)}ax-infinite-scroll-data-table .ax-highlight{background:rgb(var(--ax-comp-data-table-highlight-bg-color));color:rgb(var(--ax-comp-data-table-highlight-text-color));padding:0 .125rem;font-weight:500;box-shadow:0 0 0 1px rgba(var(--ax-comp-data-table-highlight-border-color),.25)}.ax-dark ax-data-table{--ax-comp-data-table-column-bg-color: var(--ax-sys-color-darkest-surface);--ax-comp-data-table-header-bg-color: var(--ax-sys-color-darker-surface);--ax-comp-data-table-header-text-color: var(--ax-sys-color-on-darker-surface);--ax-comp-data-table-footer-bg-color: var(--ax-sys-color-darker-surface);--ax-comp-data-table-footer-text-color: var(--ax-sys-color-on-darker-surface);--ax-comp-data-table-hover-bg-color: var(--ax-sys-color-primary-light-surface);--ax-comp-data-table-hover-text-color: var(--ax-sys-color-on-light-surface);--ax-comp-data-table-focus-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-data-table-selected-bg-color: var(--ax-sys-color-primary-dark-surface);--ax-comp-data-table-selected-hover-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-data-table-index-bg-color: var(--ax-sys-color-dark-surface);--ax-comp-data-table-index-text-color: var(--ax-sys-color-on-dark-surface);--ax-comp-data-table-skeleton-bg-color: var(--ax-sys-color-lighter-surface);--ax-comp-data-table-alternative-bg-color: var(--ax-sys-color-surface);--ax-comp-data-table-alternative-text-color: var(--ax-sys-color-on-surface);--ax-comp-data-table-handler-bg-color: var(--ax-sys-color-primary-dark-surface);--ax-comp-data-table-highlight-bg-color: var(--ax-sys-color-warning-dark-surface);--ax-comp-data-table-highlight-text-color: var(--ax-sys-color-on-warning-dark-surface);--ax-comp-data-table-highlight-border-color: var(--ax-sys-color-warning-400)}.ax-dark ax-infinite-scroll-data-table{--ax-comp-data-table-highlight-bg-color: var(--ax-sys-color-warning-dark-surface);--ax-comp-data-table-highlight-text-color: var(--ax-sys-color-on-warning-dark-surface);--ax-comp-data-table-highlight-border-color: var(--ax-sys-color-warning-400)}@media screen and (min-width: 768px){html[dir=rtl] ax-data-table .ax-data-table-wrapper table thead th.ax-data-table-sticky-header-cell.sticky-start{box-shadow:inset 1px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table thead th.ax-data-table-sticky-header-cell.sticky-start.ax-state-is-last{box-shadow:inset 2px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table thead th.ax-data-table-sticky-header-cell.sticky-end{box-shadow:inset -1px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table thead th.ax-data-table-sticky-header-cell.sticky-end.ax-state-is-first{box-shadow:inset -2px 0 rgba(var(--ax-comp-data-table-border-color))}}@media screen and (min-width: 768px){html[dir=rtl] ax-data-table .ax-data-table-wrapper table tbody td.ax-data-table-sticky-body-cell.sticky-start{box-shadow:inset 1px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table tbody td.ax-data-table-sticky-body-cell.sticky-start.ax-state-is-last{box-shadow:inset 2px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table tbody td.ax-data-table-sticky-body-cell.sticky-end{box-shadow:inset -1px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table tbody td.ax-data-table-sticky-body-cell.sticky-end.ax-state-is-first{box-shadow:inset -2px 0 rgba(var(--ax-comp-data-table-border-color))}}ax-data-table{display:flex;flex-direction:column;height:100%;width:100%;font-size:var(--ax-comp-data-table-font-size);line-height:var(--ax-comp-data-table-line-height);border-radius:var(--ax-comp-data-table-border-radius);border-width:1px;border-color:rgba(var(--ax-comp-data-table-border-color));position:relative;min-height:inherit;overflow:hidden}ax-data-table td.ax-data-table-empty-data{background:transparent!important;position:absolute!important;padding:2rem 1rem;text-align:center;vertical-align:middle;height:8rem;border-bottom:none;top:50%;transform:translateY(-50%);width:100%}ax-data-table td.ax-data-table-empty-data span{color:rgb(var(--ax-sys-color-ghost-500));font-size:var(--ax-comp-data-table-font-size);display:flex;height:100%;align-items:center;justify-content:center}ax-data-table .ax-data-table-wrapper{overflow:auto;width:100%;flex:1;border-radius:var(--ax-comp-data-table-border-radius)}ax-data-table .ax-data-table-wrapper table{display:table;height:100%;width:100%;table-layout:fixed;overflow-x:auto}ax-data-table .ax-data-table-wrapper table thead{overflow:hidden;border-start-end-radius:var(--ax-comp-data-table-border-radius);border-start-start-radius:var(--ax-comp-data-table-border-radius)}ax-data-table .ax-data-table-wrapper table thead th{border-bottom-width:1px;border-inline-end-width:1px;border-style:solid;border-color:rgba(var(--ax-comp-data-table-border-color));background-color:rgba(var(--ax-comp-data-table-header-bg-color));color:rgba(var(--ax-comp-data-table-header-text-color));padding-inline-start:1rem;padding-inline-end:1rem;padding-top:.75rem;padding-bottom:.75rem;text-align:start;font-weight:500;text-transform:uppercase;position:relative;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;height:2.5rem}ax-data-table .ax-data-table-wrapper table thead th.ax-interactive{cursor:pointer}ax-data-table .ax-data-table-wrapper table thead th.ax-interactive:hover{background-color:rgba(var(--ax-comp-data-table-interactive-bg-color))}ax-data-table .ax-data-table-wrapper table thead th .ax-resize-handle{position:absolute;inset-inline-end:0px;top:0;bottom:0;width:.25rem;height:100%;cursor:col-resize;background:transparent}ax-data-table .ax-data-table-wrapper table thead th .ax-resize-handle:hover{background-color:rgba(var(--ax-comp-data-table-handler-bg-color))}ax-data-table .ax-data-table-wrapper table thead th .ax-caption{display:flex;align-items:center;gap:.5rem}ax-data-table .ax-data-table-wrapper table thead th:last-child{border-inline-end-width:0px}ax-data-table .ax-data-table-wrapper table thead.ax-data-table-sticky-header{position:sticky;top:0;border-top:none;border-bottom:none;z-index:3;box-shadow:inset 1px 1px 0 2px rgba(var(--ax-comp-data-table-border-color))}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell{position:sticky;z-index:2;border-inline-start:none;border-inline-end:none}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-start{box-shadow:inset -1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-start.ax-state-is-last{box-shadow:inset -2px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-end{box-shadow:inset 1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-end.ax-state-is-first{box-shadow:inset 2px 0 rgba(var(--ax-comp-data-table-border-color))}}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell{position:sticky;z-index:2;background-color:rgba(var(--ax-comp-data-table-column-bg-color));border-inline-start:none;border-inline-end:none}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-start{box-shadow:inset -1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-start.ax-state-is-last{box-shadow:inset -2px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-end{box-shadow:inset 1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-end.ax-state-is-first{box-shadow:inset 2px 0 rgba(var(--ax-comp-data-table-border-color))}}ax-data-table .ax-data-table-wrapper table tbody tr td{z-index:0;position:relative}ax-data-table .ax-data-table-wrapper table tbody tr td .ax-data-table-cell-tooltip-wrapper{position:relative;min-height:inherit}ax-data-table .ax-data-table-wrapper table tbody tr td .ax-bg{top:0;left:0;z-index:-1;width:100%;height:100%;position:absolute;border-inline-end:1px solid rgba(var(--ax-comp-data-table-border-color));background-color:transparent;opacity:.3}ax-data-table .ax-data-table-wrapper table tbody .empty-row{height:auto!important}ax-data-table .ax-data-table-wrapper table tbody.ax-data-table-row-alternative tr:nth-child(2n) td{background-color:rgba(var(--ax-comp-data-table-alternative-bg-color));color:rgba(var(--ax-comp-data-table-alternative-text-color))}ax-data-table .ax-data-table-wrapper table tbody.ax-data-table-row-alternative tr:nth-child(2n) ax-skeleton{width:25%}ax-data-table .ax-data-table-wrapper table tbody tr{height:2.5rem;max-height:2.5rem}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-primary td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-primary-lightest-surface));color:rgba(var(--ax-sys-color-on-primary-lightest-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-primary td:not(.ax-index-column) .ax-bg{background-color:transparent}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-primary .ax-data-table-sticky-body-cell:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-primary-lightest-surface))}}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-primary:hover:not(.ax-state-selected) td:not(.ax-index-column){color:rgba(var(--ax-sys-color-on-primary-lighter-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-primary:hover:not(.ax-state-selected) td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-sys-color-primary-lighter-surface));opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-primary.ax-state-selected td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-primary-light-surface));color:rgba(var(--ax-sys-color-on-primary-light-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-primary.ax-state-selected td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-sys-color-primary-surface));opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-primary.ax-state-selected:hover td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-primary-surface));color:rgba(var(--ax-sys-color-on-primary-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-primary.ax-state-selected:hover td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-sys-color-primary-dark-surface));opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-secondary td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-secondary-lightest-surface));color:rgba(var(--ax-sys-color-on-secondary-lightest-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-secondary td:not(.ax-index-column) .ax-bg{background-color:transparent}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-secondary .ax-data-table-sticky-body-cell:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-secondary-lightest-surface))}}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-secondary:hover:not(.ax-state-selected) td:not(.ax-index-column){color:rgba(var(--ax-sys-color-on-secondary-lighter-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-secondary:hover:not(.ax-state-selected) td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-sys-color-secondary-lighter-surface));opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-secondary.ax-state-selected td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-secondary-light-surface));color:rgba(var(--ax-sys-color-on-secondary-light-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-secondary.ax-state-selected td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-sys-color-secondary-surface));opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-secondary.ax-state-selected:hover td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-secondary-surface));color:rgba(var(--ax-sys-color-on-secondary-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-secondary.ax-state-selected:hover td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-sys-color-secondary-dark-surface));opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-success td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-success-lightest-surface));color:rgba(var(--ax-sys-color-on-success-lightest-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-success td:not(.ax-index-column) .ax-bg{background-color:transparent}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-success .ax-data-table-sticky-body-cell:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-success-lightest-surface))}}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-success:hover:not(.ax-state-selected) td:not(.ax-index-column){color:rgba(var(--ax-sys-color-on-success-lighter-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-success:hover:not(.ax-state-selected) td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-sys-color-success-lighter-surface));opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-success.ax-state-selected td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-success-light-surface));color:rgba(var(--ax-sys-color-on-success-light-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-success.ax-state-selected td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-sys-color-success-surface));opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-success.ax-state-selected:hover td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-success-surface));color:rgba(var(--ax-sys-color-on-success-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-success.ax-state-selected:hover td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-sys-color-success-dark-surface));opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-warning td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-warning-lightest-surface));color:rgba(var(--ax-sys-color-on-warning-lightest-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-warning td:not(.ax-index-column) .ax-bg{background-color:transparent}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-warning .ax-data-table-sticky-body-cell:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-warning-lightest-surface))}}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-warning:hover:not(.ax-state-selected) td:not(.ax-index-column){color:rgba(var(--ax-sys-color-on-warning-lighter-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-warning:hover:not(.ax-state-selected) td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-sys-color-warning-lighter-surface));opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-warning.ax-state-selected td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-warning-light-surface));color:rgba(var(--ax-sys-color-on-warning-light-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-warning.ax-state-selected td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-sys-color-warning-surface));opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-warning.ax-state-selected:hover td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-warning-surface));color:rgba(var(--ax-sys-color-on-warning-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-warning.ax-state-selected:hover td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-sys-color-warning-dark-surface));opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-danger td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-danger-lightest-surface));color:rgba(var(--ax-sys-color-on-danger-lightest-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-danger td:not(.ax-index-column) .ax-bg{background-color:transparent}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-danger .ax-data-table-sticky-body-cell:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-danger-lightest-surface))}}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-danger:hover:not(.ax-state-selected) td:not(.ax-index-column){color:rgba(var(--ax-sys-color-on-danger-lighter-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-danger:hover:not(.ax-state-selected) td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-sys-color-danger-lighter-surface));opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-danger.ax-state-selected td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-danger-light-surface));color:rgba(var(--ax-sys-color-on-danger-light-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-danger.ax-state-selected td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-sys-color-danger-surface));opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-danger.ax-state-selected:hover td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-danger-surface));color:rgba(var(--ax-sys-color-on-danger-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-danger.ax-state-selected:hover td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-sys-color-danger-dark-surface));opacity:1}@keyframes ax-data-table-row-primary-pulse{0%,to{background-color:rgba(var(--ax-sys-color-primary-lightest-surface))}50%{background-color:rgba(var(--ax-sys-color-primary-lighter-surface))}}@keyframes ax-data-table-row-secondary-pulse{0%,to{background-color:rgba(var(--ax-sys-color-secondary-lightest-surface))}50%{background-color:rgba(var(--ax-sys-color-secondary-lighter-surface))}}@keyframes ax-data-table-row-success-pulse{0%,to{background-color:rgba(var(--ax-sys-color-success-lightest-surface))}50%{background-color:rgba(var(--ax-sys-color-success-lighter-surface))}}@keyframes ax-data-table-row-warning-pulse{0%,to{background-color:rgba(var(--ax-sys-color-warning-lightest-surface))}50%{background-color:rgba(var(--ax-sys-color-warning-lighter-surface))}}@keyframes ax-data-table-row-danger-pulse{0%,to{background-color:rgba(var(--ax-sys-color-danger-lightest-surface))}50%{background-color:rgba(var(--ax-sys-color-danger-lighter-surface))}}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-primary.ax-row-color-pulse td:not(.ax-index-column){animation:ax-data-table-row-primary-pulse 1.2s ease-in-out infinite}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-primary.ax-row-color-pulse td.ax-data-table-sticky-body-cell:not(.ax-index-column){animation:ax-data-table-row-primary-pulse 1.2s ease-in-out infinite}}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-secondary.ax-row-color-pulse td:not(.ax-index-column){animation:ax-data-table-row-secondary-pulse 1.2s ease-in-out infinite}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-secondary.ax-row-color-pulse td.ax-data-table-sticky-body-cell:not(.ax-index-column){animation:ax-data-table-row-secondary-pulse 1.2s ease-in-out infinite}}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-success.ax-row-color-pulse td:not(.ax-index-column){animation:ax-data-table-row-success-pulse 1.2s ease-in-out infinite}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-success.ax-row-color-pulse td.ax-data-table-sticky-body-cell:not(.ax-index-column){animation:ax-data-table-row-success-pulse 1.2s ease-in-out infinite}}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-warning.ax-row-color-pulse td:not(.ax-index-column){animation:ax-data-table-row-warning-pulse 1.2s ease-in-out infinite}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-warning.ax-row-color-pulse td.ax-data-table-sticky-body-cell:not(.ax-index-column){animation:ax-data-table-row-warning-pulse 1.2s ease-in-out infinite}}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-danger.ax-row-color-pulse td:not(.ax-index-column){animation:ax-data-table-row-danger-pulse 1.2s ease-in-out infinite}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-danger.ax-row-color-pulse td.ax-data-table-sticky-body-cell:not(.ax-index-column){animation:ax-data-table-row-danger-pulse 1.2s ease-in-out infinite}}ax-data-table .ax-data-table-wrapper table tbody tr:hover td:not(.ax-index-column){color:rgba(var(--ax-comp-data-table-hover-text-color))}ax-data-table .ax-data-table-wrapper table tbody tr:hover td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-comp-data-table-hover-bg-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-focused td:not(.ax-index-column){color:rgba(var(--ax-comp-data-table-focus-text-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-focused td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-comp-data-table-focus-bg-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-selected td:not(.ax-index-column){color:rgba(var(--ax-comp-data-table-selected-text-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-selected td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-comp-data-table-selected-bg-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-selected:hover td:not(.ax-index-column){color:rgba(var(--ax-comp-data-table-selected-hover-text-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-selected:hover td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-comp-data-table-selected-hover-bg-color))}ax-data-table .ax-data-table-wrapper table tbody td{position:relative;min-width:2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom-width:1px;border-inline-end-width:1px;border-color:rgba(var(--ax-comp-data-table-border-color));background-color:rgba(var(--ax-comp-data-table-column-bg-color));padding-inline-start:1rem;padding-inline-end:1rem;padding-top:.5rem;padding-bottom:.5rem;vertical-align:middle}ax-data-table .ax-data-table-wrapper table tbody td .ax-expand-handler{padding-inline-start:.25rem;padding-inline-end:.25rem;cursor:pointer}ax-data-table .ax-data-table-wrapper table tbody td .ax-expand-handler.has-parent{padding-inline-start:1.5rem!important}ax-data-table .ax-data-table-wrapper table tbody td.ax-index-column{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background-color:rgba(var(--ax-comp-data-table-index-bg-color));color:rgba(var(--ax-comp-data-table-index-text-color));text-align:center}ax-data-table .ax-data-table-wrapper table tbody td.ax-index-column .ax-data-table-cell-tooltip-wrapper{display:flex;align-items:center;justify-content:center;width:100%}ax-data-table .ax-data-table-wrapper table tbody td.ax-index-column .ax-data-table-row-highlight-badge{position:static;display:inline-flex;align-items:center;justify-content:center}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column{text-align:center}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column button.ax-state-disabled{position:relative!important;cursor:not-allowed!important;opacity:.5!important}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column>div{position:absolute;inset-inline-start:0px;top:50%;display:flex;width:100%;transform:translateY(-50%);align-items:center;justify-content:center}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button{--ax-comp-button-font-size: .75rem;--ax-comp-button-padding-x: .25rem;--ax-comp-button-decorator-padding-x: .25rem;--ax-comp-button-icon-only-font-size: .875rem;--ax-sys-size-base: 1.5rem;margin-left:.25rem;margin-right:.25rem}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button ax-loading .ax-loader{width:.75rem!important;height:.75rem!important;border-width:2px!important}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button{position:relative;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:var(--ax-comp-data-table-border-radius);border-style:none;border-color:rgba(var(--ax-comp-data-table-border-color));background-color:transparent;padding:.25rem;color:rgba(var(--ax-color-ghost-fore))}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button:hover:not(ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button:hover.ax-state-selected,ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button:hover.ax-state-disabled){opacity:.75}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button:active{opacity:1}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button .ax-ripple{background-color:rgba(var(--ax-color-ghost-fore),.05)}ax-data-table .ax-data-table-wrapper table tbody td:last-child{border-inline-end-width:0px}ax-data-table .ax-data-table-wrapper table tbody td ax-skeleton{height:.875rem;width:33.333333%;border-radius:.375rem;background-color:rgba(var(--ax-comp-data-table-skeleton-bg-color))}ax-data-table .ax-data-table-wrapper table tfoot tr td{border-bottom-width:1px;border-inline-end-width:1px;border-style:solid;border-color:rgba(var(--ax-comp-data-table-border-color));background-color:rgba(var(--ax-comp-data-table-footer-bg-color));color:rgba(var(--ax-comp-data-table-footer-text-color));padding-inline-start:1rem;padding-inline-end:1rem;padding-top:.75rem;padding-bottom:.75rem;text-align:start;font-weight:500;text-transform:uppercase;position:relative;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;height:2.5rem}ax-data-table .ax-data-table-wrapper table tfoot tr td.ax-interactive{cursor:pointer}ax-data-table .ax-data-table-wrapper table tfoot tr td.ax-interactive:hover{background-color:rgba(var(--ax-comp-data-table-interactive-bg-color))}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell{position:sticky;z-index:2;border-inline-start:none;border-inline-end:none}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-start{box-shadow:inset -1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-start.ax-state-is-last{box-shadow:inset -2px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-end{box-shadow:inset 1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-end.ax-state-is-first{box-shadow:inset 2px 0 rgba(var(--ax-comp-data-table-border-color))}}ax-data-table .ax-data-table-wrapper table tfoot.ax-data-table-sticky-footer{position:sticky;bottom:-1px;border-top:none;border-bottom:none;z-index:3;box-shadow:1px 0 rgba(var(--ax-comp-data-table-border-color)),0 -1px rgba(var(--ax-comp-data-table-border-color))}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table .sticky-end{inset-inline-end:var(--sticky-end)}ax-data-table .ax-data-table-wrapper table .sticky-start{inset-inline-start:var(--sticky-start)}}ax-data-table ax-data-pager{justify-content:center}ax-data-table .ax-table-footer{border-top-width:1px;border-collapse:collapse;overflow:hidden;border-color:rgba(var(--ax-comp-data-table-border-color));padding-inline-start:.875rem;padding-inline-end:.875rem;min-height:max-content}ax-data-table .ax-table-footer .ax-table-info{display:flex;flex:1 1 0%;align-items:center;justify-content:space-between}ax-data-table .ax-data-table-numeric-paging{display:none}ax-data-table .ax-data-table-input-paging{display:flex}ax-data-table .ax-data-table-info{display:none}@media (min-width: 1024px){ax-data-table .ax-data-table-numeric-paging{display:flex}ax-data-table .ax-data-table-input-paging{display:none}}@media (min-width: 768px){ax-data-table .ax-data-table-info{display:flex;align-items:center}ax-data-table ax-data-pager{justify-content:space-between}}.cdk-drag-preview{border-bottom-width:1px;border-inline-end-width:1px;box-shadow:0 5px 5px -3px rgba(var(--ax-sys-color-primary-900),.2),0 8px 10px 1px rgba(var(--ax-sys-color-primary-900),.14),0 3px 14px 2px rgba(var(--ax-sys-color-primary-900),.12);border-style:solid;border-color:rgba(var(--ax-comp-data-table-border-color));background-color:rgba(var(--ax-sys-color-surface));color:rgba(var(--ax-sys-color-surface-fore));padding-inline-start:1rem;padding-inline-end:1rem;padding-top:.75rem;padding-bottom:.75rem;text-align:start;font-weight:500;text-transform:uppercase;position:relative}.ax-dropdown-command-empty-state-text{color:rgba(var(--ax-sys-color-on-surface-variant-500));font-size:.75rem}ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table thead th{border-inline-end-width:0}ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table thead.ax-data-table-sticky-header{box-shadow:inset 0 1px rgba(var(--ax-comp-data-table-border-color))}@media screen and (min-width: 768px){ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-start,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-end{box-shadow:none}}@media screen and (min-width: 768px){ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-start,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-end{box-shadow:none}}ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tbody tr td .ax-bg{border-inline-end:none}ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tbody td{border-inline-end-width:0}ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr td{border-inline-end-width:0;border-inline-start-width:0}@media screen and (min-width: 768px){ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-start,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-end,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-start.ax-state-is-last,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-end.ax-state-is-first,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-header-cell.sticky-start,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-header-cell.sticky-end,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-header-cell.sticky-start.ax-state-is-last,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-header-cell.sticky-end.ax-state-is-first{box-shadow:none}}ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot.ax-data-table-sticky-footer{box-shadow:0 -1px rgba(var(--ax-comp-data-table-border-color))}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer", "cdkDropListHasAnchor"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: AXSkeletonComponent, selector: "ax-skeleton", inputs: ["animated"] }, { kind: "component", type: AXDataPagerComponent, selector: "ax-data-pager", inputs: ["value", "name", "disabled", "readonly", "isLoading", "size", "total", "displayMode"], outputs: ["valueChange", "onValueChanged", "disabledChange", "readonlyChange", "displayModeChange", "onChanged"] }, { kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXDataPagerNumericSelectorComponent, selector: "ax-data-pager-numeric-selector" }, { kind: "component", type: AXDataPagerPageSizesComponent, selector: "ax-data-pager-page-sizes", inputs: ["sizes"] }, { kind: "component", type: AXDataPagerPrevButtonsComponent, selector: "ax-data-pager-prev-buttons" }, { kind: "component", type: AXDataPagerInputSelectorComponent, selector: "ax-data-pager-input-selector" }, { kind: "component", type: AXDataPagerNextButtonsComponent, selector: "ax-data-pager-next-buttons" }, { kind: "component", type: AXDataPagerInfoComponent, selector: "ax-data-pager-info", inputs: ["text"] }, { kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "directive", type: AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltipDisabled", "axTooltip", "axTooltipContext", "axTooltipPlacement", "axTooltipOffsetX", "axTooltipOffsetY", "axTooltipOpenAfter", "axTooltipCloseAfter"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
2280
2639
|
}
|
|
2281
2640
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXDataTableComponent, decorators: [{
|
|
2282
2641
|
type: Component,
|
|
2283
2642
|
args: [{ selector: 'ax-data-table', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
2284
2643
|
ngSkipHydration: 'true',
|
|
2285
2644
|
'[class.ax-data-table-look-minimal]': 'look() === "minimal"',
|
|
2286
|
-
}, inputs: [
|
|
2645
|
+
}, inputs: [
|
|
2646
|
+
'dataSource',
|
|
2647
|
+
'selectedRows',
|
|
2648
|
+
'parentField',
|
|
2649
|
+
'hasChildrenField',
|
|
2650
|
+
'rowDetailsTemplate',
|
|
2651
|
+
'rowCssClass',
|
|
2652
|
+
'cellCssClass',
|
|
2653
|
+
'highlightText',
|
|
2654
|
+
], outputs: ['selectedRowsChange'], providers: [
|
|
2287
2655
|
{ provide: AXBaseDataTable, useExisting: AXDataTableComponent },
|
|
2288
2656
|
AXUnsubscriber,
|
|
2289
2657
|
{ provide: AXComponent, useExisting: AXDataTableComponent },
|
|
@@ -2307,7 +2675,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImpor
|
|
|
2307
2675
|
AsyncPipe,
|
|
2308
2676
|
AXTranslatorPipe,
|
|
2309
2677
|
AXTooltipDirective,
|
|
2310
|
-
], template: "<ng-content select=\"ax-header\"> </ng-content>\n<div class=\"ax-data-table-wrapper\">\n <table>\n @if (showHeader) {\n <thead [ngClass]=\"{ 'ax-data-table-sticky-header': fixedHeader }\">\n <tr\n [cdkDropListDisabled]=\"!allowReordering\"\n cdkDropList\n cdkScrollable\n cdkDropListOrientation=\"horizontal\"\n (cdkDropListDropped)=\"drop($event)\"\n >\n @for (c of startFixedColumnsList(); track $index) {\n <th\n cdkDrag\n [cdkDragDisabled]=\"true\"\n cdkDragLockAxis=\"x\"\n class=\"ax-data-table-head-cell sticky-start\"\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n [class.ax-state-is-last]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderHeaderTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n </th>\n }\n @for (c of normalColumnsList(); track $index) {\n <th\n cdkDrag\n cdkDragLockAxis=\"x\"\n class=\"ax-data-table-head-cell\"\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderHeaderTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n @if (c.allowResizing && !c.fixed) {\n <div\n class=\"ax-resize-handle\"\n (mousedown)=\"onResizeColumnStart($event, this.startFixedColumnsList().length + $index)\"\n (dblclick)=\"onResizeHandlerDoubleClick($event, this.startFixedColumnsList().length + $index)\"\n title=\"Double-click to auto-fit column width\"\n ></div>\n }\n </th>\n }\n <th></th>\n @for (c of endFixedColumnsList(); track $index) {\n <th\n cdkDrag\n [cdkDragDisabled]=\"true\"\n cdkDragLockAxis=\"x\"\n class=\"ax-data-table-head-cell sticky-end\"\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n [class.ax-state-is-first]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderHeaderTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n </th>\n }\n </tr>\n </thead>\n }\n <tbody [ngClass]=\"{ 'ax-data-table-row-alternative': alternative }\">\n @if (showNoDataLoadedYet) {\n <tr style=\"display: inherit\">\n <td class=\"ax-data-table-empty-data\" [attr.colspan]=\"columnsList().length + 1\">\n @if (noDataTemplate) {\n <ng-container [ngTemplateOutlet]=\"noDataTemplate\"></ng-container>\n } @else {\n <span>{{ '@acorex:common.general.no-data-yet' | translate | async }}</span>\n }\n </td>\n </tr>\n } @else if (!displayedRows().length) {\n <tr style=\"display: inherit\">\n <td class=\"ax-data-table-empty-data\" [attr.colspan]=\"columnsList().length + 1\">\n @if (emptyTemplate) {\n <ng-container [ngTemplateOutlet]=\"emptyTemplate\"></ng-container>\n } @else {\n <span>{{ '@acorex:common.general.no-record' | translate | async }}</span>\n }\n </td>\n </tr>\n } @else {\n @for (row of displayedRows(); let rowIndex = $index; track rowIndex) {\n <ng-container\n [ngTemplateOutlet]=\"rowTemp\"\n [ngTemplateOutletContext]=\"{ data: { row, rowIndex } }\"\n ></ng-container>\n }\n\n <ng-template #rowTemp let-data=\"data\">\n @if (rowTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"rowTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: data.row, rowIndex: data.rowIndex } }\"\n >\n </ng-container>\n } @else {\n <tr\n [class.ax-state-focused]=\"focusedRow && data.row === focusedRow\"\n [attr.data-index]=\"data.rowIndex\"\n [class.ax-state-selected]=\"selectedRows.includes(data.row)\"\n style.height=\"{{ itemHeight }}px\"\n style.max-height=\"{{ itemHeight }}px\"\n (click)=\"handleRowClick($event, data.row)\"\n >\n @for (c of startFixedColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [class.sticky-start]=\"true\"\n [class.ax-state-is-last]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n [attr.data-label]=\"c.caption\"\n tabindex=\"0\"\n [class]=\"c.cssClass\"\n >\n <div class=\"ax-bg\"></div>\n <span\n class=\"ax-data-table-cell-tooltip-wrapper\"\n [axTooltip]=\"c.hasTitle && data.row && !isLoading() ? getCellTooltipText(c, data.row) || null : null\"\n >\n @if (data.row && !isLoading()) {\n <ng-container\n [ngTemplateOutlet]=\"c.renderCellTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: { data: data.row, rowIndex: calculateRowIndex(data.rowIndex) },\n }\"\n ></ng-container>\n } @else {\n @if (c.loadingEnabled && loading.enabled) {\n @if (loading.loadingTemplate) {\n <ng-container [ngTemplateOutlet]=\"loading.loadingTemplate\"></ng-container>\n } @else {\n <ax-skeleton [animated]=\"loading.animation\"></ax-skeleton>\n }\n }\n }\n </span>\n </td>\n }\n @for (c of normalColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [attr.data-label]=\"c.caption\"\n tabindex=\"0\"\n [class]=\"c.cssClass\"\n >\n <div class=\"ax-bg\"></div>\n <span\n class=\"ax-data-table-cell-tooltip-wrapper\"\n [axTooltip]=\"c.hasTitle && data.row && !isLoading() ? getCellTooltipText(c, data.row) || null : null\"\n >\n @if (data.row && !isLoading()) {\n <ng-container\n [ngTemplateOutlet]=\"c.renderCellTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: { data: data.row, rowIndex: calculateRowIndex(data.rowIndex) },\n }\"\n ></ng-container>\n } @else {\n @if (c.loadingEnabled && loading.enabled) {\n @if (loading.loadingTemplate) {\n <ng-container [ngTemplateOutlet]=\"loading.loadingTemplate\"></ng-container>\n } @else {\n <ax-skeleton [animated]=\"loading.animation\"></ax-skeleton>\n }\n }\n }\n </span>\n </td>\n }\n <td><div class=\"ax-bg\"></div></td>\n @for (c of endFixedColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [class.sticky-end]=\"true\"\n [class.ax-state-is-first]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n [attr.data-label]=\"c.caption\"\n tabindex=\"0\"\n [class]=\"c.cssClass\"\n >\n <div class=\"ax-bg\"></div>\n <span\n class=\"ax-data-table-cell-tooltip-wrapper\"\n [axTooltip]=\"c.hasTitle && data.row && !isLoading() ? getCellTooltipText(c, data.row) || null : null\"\n >\n @if (data.row && !isLoading()) {\n <ng-container\n [ngTemplateOutlet]=\"c.renderCellTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: { data: data.row, rowIndex: calculateRowIndex(data.rowIndex) },\n }\"\n ></ng-container>\n } @else {\n @if (c.loadingEnabled && loading.enabled) {\n @if (loading.loadingTemplate) {\n <ng-container [ngTemplateOutlet]=\"loading.loadingTemplate\"></ng-container>\n } @else {\n <ax-skeleton [animated]=\"loading.animation\"></ax-skeleton>\n }\n }\n }\n </span>\n </td>\n }\n </tr>\n @if (data.row?.__meta__?.expanded) {\n @if (rowDetailsTemplate) {\n <tr>\n @for (c of startFixedColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [class.sticky-start]=\"true\"\n [class.ax-state-is-last]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n >\n <div class=\"ax-bg\"></div>\n </td>\n }\n <td class=\"ax-data-table-row-details\" [attr.colspan]=\"normalColumnsList().length + 1\">\n <ng-container\n [ngTemplateOutlet]=\"rowDetailsTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: data.row, rowIndex: data.rowIndex } }\"\n ></ng-container>\n </td>\n @for (c of endFixedColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [class.sticky-end]=\"true\"\n [class.ax-state-is-first]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n >\n <div class=\"ax-bg\"></div>\n </td>\n }\n </tr>\n }\n @for (childRow of data.row.children; let childRowIndex = $index; track childRowIndex) {\n <ng-container\n [ngTemplateOutlet]=\"rowTemp\"\n [ngTemplateOutletContext]=\"{ data: { row: childRow, rowIndex: childRowIndex } }\"\n ></ng-container>\n }\n }\n }\n </ng-template>\n\n <tr class=\"empty-row\"></tr>\n }\n </tbody>\n @if (showFooter) {\n <tfoot [ngClass]=\"{ 'ax-data-table-sticky-footer': fixedFooter }\">\n <tr>\n @for (c of startFixedColumnsList(); track $index) {\n <td\n class=\"ax-data-table-sticky-footer-cell sticky-start\"\n [class.ax-data-table-sticky-footer-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n [class.ax-state-is-last]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderFooterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n </td>\n }\n @for (c of normalColumnsList(); track $index) {\n <td\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderFooterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n @if (c.allowResizing && !c.fixed) {\n <div\n class=\"ax-resize-handle\"\n (mousedown)=\"onResizeColumnStart($event, this.startFixedColumnsList().length + $index)\"\n (dblclick)=\"onResizeHandlerDoubleClick($event, this.startFixedColumnsList().length + $index)\"\n title=\"Double-click to auto-fit column width\"\n ></div>\n }\n </td>\n }\n <td></td>\n @for (c of endFixedColumnsList(); track $index) {\n <td\n class=\"ax-data-table-sticky-footer-cell sticky-end\"\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n [class.ax-state-is-first]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderFooterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n </td>\n }\n </tr>\n </tfoot>\n }\n </table>\n</div>\n\n@if (paging) {\n <div class=\"ax-table-footer\" #footerContainer>\n <ng-template #customPager>\n <ng-content select=\"ax-data-pager\"></ng-content>\n </ng-template>\n\n @if (customDataPager) {\n <ng-container [ngTemplateOutlet]=\"customPager\"></ng-container>\n } @else {\n <ax-data-pager\n #dataPager\n [displayMode]=\"'custom'\"\n (onChanged)=\"handleChangePage($event)\"\n [total]=\"dataSource.totalCount\"\n [size]=\"dataSource.pageSize\"\n [isLoading]=\"isLoading()\"\n >\n <ax-prefix class=\"ax-data-table-numeric-paging\">\n <ax-data-pager-numeric-selector> </ax-data-pager-numeric-selector>\n <ax-data-pager-page-sizes> </ax-data-pager-page-sizes>\n </ax-prefix>\n <ax-prefix class=\"ax-data-table-input-paging\">\n <ax-data-pager-prev-buttons> </ax-data-pager-prev-buttons>\n <ax-data-pager-input-selector> </ax-data-pager-input-selector>\n <ax-data-pager-next-buttons> </ax-data-pager-next-buttons>\n </ax-prefix>\n <ax-suffix class=\"ax-data-table-info\">\n <ax-data-pager-info> </ax-data-pager-info>\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"refresh({ reset: false })\">\n <ax-icon icon=\"ax-icon ax-icon-refresh\"></ax-icon>\n </ax-button>\n </ax-suffix>\n </ax-data-pager>\n }\n </div>\n}\n<ng-content select=\"ax-footer\"> </ng-content>\n", styles: ["ax-data-table{--ax-comp-data-table-font-size: .875rem;--ax-comp-data-table-line-height: 1rem;--ax-comp-data-table-border-color: var(--ax-sys-color-border-surface);--ax-comp-data-table-border-radius: var(--ax-sys-border-radius);--ax-comp-data-table-column-bg-color: var(--ax-sys-color-lightest-surface);--ax-comp-data-table-header-bg-color: var(--ax-sys-color-lighter-surface);--ax-comp-data-table-header-text-color: var(--ax-sys-color-on-lighter-surface);--ax-comp-data-table-footer-bg-color: var(--ax-sys-color-lighter-surface);--ax-comp-data-table-footer-text-color: var(--ax-sys-color-on-lighter-surface);--ax-comp-data-table-hover-bg-color: var(--ax-sys-color-primary-lightest-surface);--ax-comp-data-table-hover-text-color: var(--ax-sys-color-on-primary-lightest-surface);--ax-comp-data-table-focus-bg-color: var(--ax-sys-color-primary-lighter-surface);--ax-comp-data-table-selected-bg-color: var(--ax-sys-color-primary-light-surface);--ax-comp-data-table-selected-hover-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-data-table-index-bg-color: var(--ax-sys-color-light-surface);--ax-comp-data-table-index-text-color: var(--ax-sys-color-on-light-surface);--ax-comp-data-table-alternative-bg-color: var(--ax-sys-color-light-surface);--ax-comp-data-table-alternative-text-color: var(--ax-sys-color-on-light-surface);--ax-comp-data-table-skeleton-bg-color: var(--ax-sys-color-dark-surface);--ax-comp-data-table-handler-bg-color: var(--ax-sys-color-primary-light-surface);--ax-comp-data-table-interactive-bg-color: var(--ax-sys-color-light-surface)}.ax-dark ax-data-table{--ax-comp-data-table-column-bg-color: var(--ax-sys-color-darkest-surface);--ax-comp-data-table-header-bg-color: var(--ax-sys-color-darker-surface);--ax-comp-data-table-header-text-color: var(--ax-sys-color-on-darker-surface);--ax-comp-data-table-footer-bg-color: var(--ax-sys-color-darker-surface);--ax-comp-data-table-footer-text-color: var(--ax-sys-color-on-darker-surface);--ax-comp-data-table-hover-bg-color: var(--ax-sys-color-primary-light-surface);--ax-comp-data-table-hover-text-color: var(--ax-sys-color-on-light-surface);--ax-comp-data-table-focus-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-data-table-selected-bg-color: var(--ax-sys-color-primary-dark-surface);--ax-comp-data-table-selected-hover-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-data-table-index-bg-color: var(--ax-sys-color-dark-surface);--ax-comp-data-table-index-text-color: var(--ax-sys-color-on-dark-surface);--ax-comp-data-table-skeleton-bg-color: var(--ax-sys-color-lighter-surface);--ax-comp-data-table-alternative-bg-color: var(--ax-sys-color-surface);--ax-comp-data-table-alternative-text-color: var(--ax-sys-color-on-surface);--ax-comp-data-table-handler-bg-color: var(--ax-sys-color-primary-dark-surface)}@media screen and (min-width: 768px){html[dir=rtl] ax-data-table .ax-data-table-wrapper table thead th.ax-data-table-sticky-header-cell.sticky-start{box-shadow:inset 1px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table thead th.ax-data-table-sticky-header-cell.sticky-start.ax-state-is-last{box-shadow:inset 2px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table thead th.ax-data-table-sticky-header-cell.sticky-end{box-shadow:inset -1px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table thead th.ax-data-table-sticky-header-cell.sticky-end.ax-state-is-first{box-shadow:inset -2px 0 rgba(var(--ax-comp-data-table-border-color))}}@media screen and (min-width: 768px){html[dir=rtl] ax-data-table .ax-data-table-wrapper table tbody td.ax-data-table-sticky-body-cell.sticky-start{box-shadow:inset 1px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table tbody td.ax-data-table-sticky-body-cell.sticky-start.ax-state-is-last{box-shadow:inset 2px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table tbody td.ax-data-table-sticky-body-cell.sticky-end{box-shadow:inset -1px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table tbody td.ax-data-table-sticky-body-cell.sticky-end.ax-state-is-first{box-shadow:inset -2px 0 rgba(var(--ax-comp-data-table-border-color))}}ax-data-table{display:flex;flex-direction:column;height:100%;width:100%;font-size:var(--ax-comp-data-table-font-size);line-height:var(--ax-comp-data-table-line-height);border-radius:var(--ax-comp-data-table-border-radius);border-width:1px;border-color:rgba(var(--ax-comp-data-table-border-color));position:relative;min-height:inherit;overflow:hidden}ax-data-table td.ax-data-table-empty-data{background:transparent!important;position:absolute!important;padding:2rem 1rem;text-align:center;vertical-align:middle;height:8rem;border-bottom:none;top:50%;transform:translateY(-50%);width:100%}ax-data-table td.ax-data-table-empty-data span{color:rgb(var(--ax-sys-color-ghost-500));font-size:var(--ax-comp-data-table-font-size);display:flex;height:100%;align-items:center;justify-content:center}ax-data-table .ax-data-table-wrapper{overflow:auto;width:100%;flex:1;border-radius:var(--ax-comp-data-table-border-radius)}ax-data-table .ax-data-table-wrapper table{display:table;height:100%;width:100%;table-layout:fixed;overflow-x:auto}ax-data-table .ax-data-table-wrapper table thead{overflow:hidden;border-start-end-radius:var(--ax-comp-data-table-border-radius);border-start-start-radius:var(--ax-comp-data-table-border-radius)}ax-data-table .ax-data-table-wrapper table thead th{border-bottom-width:1px;border-inline-end-width:1px;border-style:solid;border-color:rgba(var(--ax-comp-data-table-border-color));background-color:rgba(var(--ax-comp-data-table-header-bg-color));color:rgba(var(--ax-comp-data-table-header-text-color));padding-inline-start:1rem;padding-inline-end:1rem;padding-top:.75rem;padding-bottom:.75rem;text-align:start;font-weight:500;text-transform:uppercase;position:relative;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;height:2.5rem}ax-data-table .ax-data-table-wrapper table thead th.ax-interactive{cursor:pointer}ax-data-table .ax-data-table-wrapper table thead th.ax-interactive:hover{background-color:rgba(var(--ax-comp-data-table-interactive-bg-color))}ax-data-table .ax-data-table-wrapper table thead th .ax-resize-handle{position:absolute;inset-inline-end:0px;top:0;bottom:0;width:.25rem;height:100%;cursor:col-resize;background:transparent}ax-data-table .ax-data-table-wrapper table thead th .ax-resize-handle:hover{background-color:rgba(var(--ax-comp-data-table-handler-bg-color))}ax-data-table .ax-data-table-wrapper table thead th .ax-caption{display:flex;align-items:center;gap:.5rem}ax-data-table .ax-data-table-wrapper table thead th:last-child{border-inline-end-width:0px}ax-data-table .ax-data-table-wrapper table thead.ax-data-table-sticky-header{position:sticky;top:0;border-top:none;border-bottom:none;z-index:3;box-shadow:inset 1px 1px 0 2px rgba(var(--ax-comp-data-table-border-color))}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell{position:sticky;z-index:2;border-inline-start:none;border-inline-end:none}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-start{box-shadow:inset -1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-start.ax-state-is-last{box-shadow:inset -2px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-end{box-shadow:inset 1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-end.ax-state-is-first{box-shadow:inset 2px 0 rgba(var(--ax-comp-data-table-border-color))}}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell{position:sticky;z-index:2;background-color:rgba(var(--ax-comp-data-table-column-bg-color));border-inline-start:none;border-inline-end:none}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-start{box-shadow:inset -1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-start.ax-state-is-last{box-shadow:inset -2px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-end{box-shadow:inset 1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-end.ax-state-is-first{box-shadow:inset 2px 0 rgba(var(--ax-comp-data-table-border-color))}}ax-data-table .ax-data-table-wrapper table tbody tr td{z-index:0;position:relative}ax-data-table .ax-data-table-wrapper table tbody tr td .ax-data-table-cell-tooltip-wrapper{position:relative;min-height:inherit}ax-data-table .ax-data-table-wrapper table tbody tr td .ax-bg{top:0;left:0;z-index:-1;width:100%;height:100%;position:absolute;border-inline-end:1px solid rgba(var(--ax-comp-data-table-border-color));background-color:transparent;opacity:.3}ax-data-table .ax-data-table-wrapper table tbody .empty-row{height:auto!important}ax-data-table .ax-data-table-wrapper table tbody.ax-data-table-row-alternative tr:nth-child(2n) td{background-color:rgba(var(--ax-comp-data-table-alternative-bg-color));color:rgba(var(--ax-comp-data-table-alternative-text-color))}ax-data-table .ax-data-table-wrapper table tbody.ax-data-table-row-alternative tr:nth-child(2n) ax-skeleton{width:25%}ax-data-table .ax-data-table-wrapper table tbody tr{height:2.5rem;max-height:2.5rem}ax-data-table .ax-data-table-wrapper table tbody tr:hover td:not(.ax-index-column){color:rgba(var(--ax-comp-data-table-hover-text-color))}ax-data-table .ax-data-table-wrapper table tbody tr:hover td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-comp-data-table-hover-bg-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-focused td:not(.ax-index-column){color:rgba(var(--ax-comp-data-table-focus-text-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-focused td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-comp-data-table-focus-bg-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-selected td:not(.ax-index-column){color:rgba(var(--ax-comp-data-table-selected-text-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-selected td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-comp-data-table-selected-bg-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-selected:hover td:not(.ax-index-column){color:rgba(var(--ax-comp-data-table-selected-hover-text-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-selected:hover td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-comp-data-table-selected-hover-bg-color))}ax-data-table .ax-data-table-wrapper table tbody td{position:relative;min-width:2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom-width:1px;border-inline-end-width:1px;border-color:rgba(var(--ax-comp-data-table-border-color));background-color:rgba(var(--ax-comp-data-table-column-bg-color));padding-inline-start:1rem;padding-inline-end:1rem;padding-top:.5rem;padding-bottom:.5rem;vertical-align:middle}ax-data-table .ax-data-table-wrapper table tbody td .ax-expand-handler{padding-inline-start:.25rem;padding-inline-end:.25rem;cursor:pointer}ax-data-table .ax-data-table-wrapper table tbody td .ax-expand-handler.has-parent{padding-inline-start:1.5rem!important}ax-data-table .ax-data-table-wrapper table tbody td.ax-index-column{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background-color:rgba(var(--ax-comp-data-table-index-bg-color));color:rgba(var(--ax-comp-data-table-index-text-color));text-align:center}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column{text-align:center}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column button.ax-state-disabled{position:relative!important;cursor:not-allowed!important;opacity:.5!important}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column>div{position:absolute;inset-inline-start:0px;top:50%;display:flex;width:100%;transform:translateY(-50%);align-items:center;justify-content:center}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button{--ax-comp-button-font-size: .75rem;--ax-comp-button-padding-x: .25rem;--ax-comp-button-decorator-padding-x: .25rem;--ax-comp-button-icon-only-font-size: .875rem;--ax-sys-size-base: 1.5rem;margin-left:.25rem;margin-right:.25rem}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button ax-loading .ax-loader{width:.75rem!important;height:.75rem!important;border-width:2px!important}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button{position:relative;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:var(--ax-comp-data-table-border-radius);border-style:none;border-color:rgba(var(--ax-comp-data-table-border-color));background-color:transparent;padding:.25rem;color:rgba(var(--ax-color-ghost-fore))}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button:hover:not(ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button:hover.ax-state-selected,ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button:hover.ax-state-disabled){opacity:.75}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button:active{opacity:1}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button .ax-ripple{background-color:rgba(var(--ax-color-ghost-fore),.05)}ax-data-table .ax-data-table-wrapper table tbody td:last-child{border-inline-end-width:0px}ax-data-table .ax-data-table-wrapper table tbody td ax-skeleton{height:.875rem;width:33.333333%;border-radius:.375rem;background-color:rgba(var(--ax-comp-data-table-skeleton-bg-color))}ax-data-table .ax-data-table-wrapper table tfoot tr td{border-bottom-width:1px;border-inline-end-width:1px;border-style:solid;border-color:rgba(var(--ax-comp-data-table-border-color));background-color:rgba(var(--ax-comp-data-table-footer-bg-color));color:rgba(var(--ax-comp-data-table-footer-text-color));padding-inline-start:1rem;padding-inline-end:1rem;padding-top:.75rem;padding-bottom:.75rem;text-align:start;font-weight:500;text-transform:uppercase;position:relative;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;height:2.5rem}ax-data-table .ax-data-table-wrapper table tfoot tr td.ax-interactive{cursor:pointer}ax-data-table .ax-data-table-wrapper table tfoot tr td.ax-interactive:hover{background-color:rgba(var(--ax-comp-data-table-interactive-bg-color))}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell{position:sticky;z-index:2;border-inline-start:none;border-inline-end:none}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-start{box-shadow:inset -1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-start.ax-state-is-last{box-shadow:inset -2px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-end{box-shadow:inset 1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-end.ax-state-is-first{box-shadow:inset 2px 0 rgba(var(--ax-comp-data-table-border-color))}}ax-data-table .ax-data-table-wrapper table tfoot.ax-data-table-sticky-footer{position:sticky;bottom:-1px;border-top:none;border-bottom:none;z-index:3;box-shadow:1px 0 rgba(var(--ax-comp-data-table-border-color)),0 -1px rgba(var(--ax-comp-data-table-border-color))}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table .sticky-end{inset-inline-end:var(--sticky-end)}ax-data-table .ax-data-table-wrapper table .sticky-start{inset-inline-start:var(--sticky-start)}}ax-data-table ax-data-pager{justify-content:center}ax-data-table .ax-table-footer{border-top-width:1px;border-collapse:collapse;overflow:hidden;border-color:rgba(var(--ax-comp-data-table-border-color));padding-inline-start:.875rem;padding-inline-end:.875rem;min-height:max-content}ax-data-table .ax-table-footer .ax-table-info{display:flex;flex:1 1 0%;align-items:center;justify-content:space-between}ax-data-table .ax-data-table-numeric-paging{display:none}ax-data-table .ax-data-table-input-paging{display:flex}ax-data-table .ax-data-table-info{display:none}@media (min-width: 1024px){ax-data-table .ax-data-table-numeric-paging{display:flex}ax-data-table .ax-data-table-input-paging{display:none}}@media (min-width: 768px){ax-data-table .ax-data-table-info{display:flex;align-items:center}ax-data-table ax-data-pager{justify-content:space-between}}.cdk-drag-preview{border-bottom-width:1px;border-inline-end-width:1px;box-shadow:0 5px 5px -3px rgba(var(--ax-sys-color-primary-900),.2),0 8px 10px 1px rgba(var(--ax-sys-color-primary-900),.14),0 3px 14px 2px rgba(var(--ax-sys-color-primary-900),.12);border-style:solid;border-color:rgba(var(--ax-comp-data-table-border-color));background-color:rgba(var(--ax-sys-color-surface));color:rgba(var(--ax-sys-color-surface-fore));padding-inline-start:1rem;padding-inline-end:1rem;padding-top:.75rem;padding-bottom:.75rem;text-align:start;font-weight:500;text-transform:uppercase;position:relative}.ax-dropdown-command-empty-state-text{color:rgba(var(--ax-sys-color-on-surface-variant-500));font-size:.75rem}ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table thead th{border-inline-end-width:0}ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table thead.ax-data-table-sticky-header{box-shadow:inset 0 1px rgba(var(--ax-comp-data-table-border-color))}@media screen and (min-width: 768px){ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-start,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-end{box-shadow:none}}@media screen and (min-width: 768px){ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-start,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-end{box-shadow:none}}ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tbody tr td .ax-bg{border-inline-end:none}ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tbody td{border-inline-end-width:0}ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr td{border-inline-end-width:0;border-inline-start-width:0}@media screen and (min-width: 768px){ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-start,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-end,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-start.ax-state-is-last,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-end.ax-state-is-first,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-header-cell.sticky-start,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-header-cell.sticky-end,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-header-cell.sticky-start.ax-state-is-last,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-header-cell.sticky-end.ax-state-is-first{box-shadow:none}}ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot.ax-data-table-sticky-footer{box-shadow:0 -1px rgba(var(--ax-comp-data-table-border-color))}\n"] }]
|
|
2678
|
+
], template: "<ng-content select=\"ax-header\"> </ng-content>\n<div class=\"ax-data-table-wrapper\">\n <table>\n @if (showHeader) {\n <thead [ngClass]=\"{ 'ax-data-table-sticky-header': fixedHeader }\">\n <tr\n [cdkDropListDisabled]=\"!allowReordering\"\n cdkDropList\n cdkScrollable\n cdkDropListOrientation=\"horizontal\"\n (cdkDropListDropped)=\"drop($event)\"\n >\n @for (c of startFixedColumnsList(); track $index) {\n <th\n cdkDrag\n [cdkDragDisabled]=\"true\"\n cdkDragLockAxis=\"x\"\n class=\"ax-data-table-head-cell sticky-start\"\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n [class.ax-state-is-last]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderHeaderTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n </th>\n }\n @for (c of normalColumnsList(); track $index) {\n <th\n cdkDrag\n cdkDragLockAxis=\"x\"\n class=\"ax-data-table-head-cell\"\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderHeaderTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n @if (c.allowResizing && !c.fixed) {\n <div\n class=\"ax-resize-handle\"\n (mousedown)=\"onResizeColumnStart($event, this.startFixedColumnsList().length + $index)\"\n (dblclick)=\"onResizeHandlerDoubleClick($event, this.startFixedColumnsList().length + $index)\"\n title=\"Double-click to auto-fit column width\"\n ></div>\n }\n </th>\n }\n <th></th>\n @for (c of endFixedColumnsList(); track $index) {\n <th\n cdkDrag\n [cdkDragDisabled]=\"true\"\n cdkDragLockAxis=\"x\"\n class=\"ax-data-table-head-cell sticky-end\"\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n [class.ax-state-is-first]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderHeaderTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n </th>\n }\n </tr>\n </thead>\n }\n <tbody [ngClass]=\"{ 'ax-data-table-row-alternative': alternative }\">\n @if (showNoDataLoadedYet) {\n <tr style=\"display: inherit\">\n <td class=\"ax-data-table-empty-data\" [attr.colspan]=\"columnsList().length + 1\">\n @if (noDataTemplate) {\n <ng-container [ngTemplateOutlet]=\"noDataTemplate\"></ng-container>\n } @else {\n <span>{{ '@acorex:common.general.no-data-yet' | translate | async }}</span>\n }\n </td>\n </tr>\n } @else if (!displayedRows().length) {\n <tr style=\"display: inherit\">\n <td class=\"ax-data-table-empty-data\" [attr.colspan]=\"columnsList().length + 1\">\n @if (emptyTemplate) {\n <ng-container [ngTemplateOutlet]=\"emptyTemplate\"></ng-container>\n } @else {\n <span>{{ '@acorex:common.general.no-record' | translate | async }}</span>\n }\n </td>\n </tr>\n } @else {\n @for (row of displayedRows(); let rowIndex = $index; track rowIndex) {\n <ng-container\n [ngTemplateOutlet]=\"rowTemp\"\n [ngTemplateOutletContext]=\"{ data: { row, rowIndex } }\"\n ></ng-container>\n }\n\n <ng-template #rowTemp let-data=\"data\">\n @if (rowTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"rowTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: data.row, rowIndex: data.rowIndex } }\"\n >\n </ng-container>\n } @else {\n <tr\n [class.ax-state-focused]=\"focusedRow && data.row === focusedRow\"\n [attr.data-index]=\"data.rowIndex\"\n [class.ax-state-selected]=\"selectedRows.includes(data.row)\"\n [ngClass]=\"getRowCssClass(data.row, data.rowIndex)\"\n style.height=\"{{ itemHeight }}px\"\n style.max-height=\"{{ itemHeight }}px\"\n (click)=\"handleRowClick($event, data.row)\"\n >\n @for (c of startFixedColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [class.sticky-start]=\"true\"\n [class.ax-state-is-last]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n [attr.data-label]=\"c.caption\"\n tabindex=\"0\"\n [class]=\"getCellCssClass(data.row, c, calculateRowIndex(data.rowIndex))\"\n >\n <div class=\"ax-bg\"></div>\n <span\n class=\"ax-data-table-cell-tooltip-wrapper\"\n [axTooltip]=\"\n c.hasTitle && data.row && !isLoading() ? getCellTooltipText(c, data.row) || null : null\n \"\n >\n @if (data.row && !isLoading()) {\n <ng-container\n [ngTemplateOutlet]=\"c.renderCellTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: { data: data.row, rowIndex: calculateRowIndex(data.rowIndex) },\n }\"\n ></ng-container>\n } @else {\n @if (c.loadingEnabled && loading.enabled) {\n @if (loading.loadingTemplate) {\n <ng-container [ngTemplateOutlet]=\"loading.loadingTemplate\"></ng-container>\n } @else {\n <ax-skeleton [animated]=\"loading.animation\"></ax-skeleton>\n }\n }\n }\n </span>\n </td>\n }\n @for (c of normalColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [attr.data-label]=\"c.caption\"\n tabindex=\"0\"\n [class]=\"getCellCssClass(data.row, c, calculateRowIndex(data.rowIndex))\"\n >\n <div class=\"ax-bg\"></div>\n <span\n class=\"ax-data-table-cell-tooltip-wrapper\"\n [axTooltip]=\"\n c.hasTitle && data.row && !isLoading() ? getCellTooltipText(c, data.row) || null : null\n \"\n >\n @if (data.row && !isLoading()) {\n <ng-container\n [ngTemplateOutlet]=\"c.renderCellTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: { data: data.row, rowIndex: calculateRowIndex(data.rowIndex) },\n }\"\n ></ng-container>\n } @else {\n @if (c.loadingEnabled && loading.enabled) {\n @if (loading.loadingTemplate) {\n <ng-container [ngTemplateOutlet]=\"loading.loadingTemplate\"></ng-container>\n } @else {\n <ax-skeleton [animated]=\"loading.animation\"></ax-skeleton>\n }\n }\n }\n </span>\n </td>\n }\n <td><div class=\"ax-bg\"></div></td>\n @for (c of endFixedColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [class.sticky-end]=\"true\"\n [class.ax-state-is-first]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n [attr.data-label]=\"c.caption\"\n tabindex=\"0\"\n [class]=\"getCellCssClass(data.row, c, calculateRowIndex(data.rowIndex))\"\n >\n <div class=\"ax-bg\"></div>\n <span\n class=\"ax-data-table-cell-tooltip-wrapper\"\n [axTooltip]=\"\n c.hasTitle && data.row && !isLoading() ? getCellTooltipText(c, data.row) || null : null\n \"\n >\n @if (data.row && !isLoading()) {\n <ng-container\n [ngTemplateOutlet]=\"c.renderCellTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: { data: data.row, rowIndex: calculateRowIndex(data.rowIndex) },\n }\"\n ></ng-container>\n } @else {\n @if (c.loadingEnabled && loading.enabled) {\n @if (loading.loadingTemplate) {\n <ng-container [ngTemplateOutlet]=\"loading.loadingTemplate\"></ng-container>\n } @else {\n <ax-skeleton [animated]=\"loading.animation\"></ax-skeleton>\n }\n }\n }\n </span>\n </td>\n }\n </tr>\n @if (data.row?.__meta__?.expanded) {\n @if (rowDetailsTemplate) {\n <tr>\n @for (c of startFixedColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [class.sticky-start]=\"true\"\n [class.ax-state-is-last]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n >\n <div class=\"ax-bg\"></div>\n </td>\n }\n <td class=\"ax-data-table-row-details\" [attr.colspan]=\"normalColumnsList().length + 1\">\n <ng-container\n [ngTemplateOutlet]=\"rowDetailsTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: data.row, rowIndex: data.rowIndex } }\"\n ></ng-container>\n </td>\n @for (c of endFixedColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [class.sticky-end]=\"true\"\n [class.ax-state-is-first]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n >\n <div class=\"ax-bg\"></div>\n </td>\n }\n </tr>\n }\n @for (childRow of data.row.children; let childRowIndex = $index; track childRowIndex) {\n <ng-container\n [ngTemplateOutlet]=\"rowTemp\"\n [ngTemplateOutletContext]=\"{ data: { row: childRow, rowIndex: childRowIndex } }\"\n ></ng-container>\n }\n }\n }\n </ng-template>\n\n <tr class=\"empty-row\"></tr>\n }\n </tbody>\n @if (showFooter) {\n <tfoot [ngClass]=\"{ 'ax-data-table-sticky-footer': fixedFooter }\">\n <tr>\n @for (c of startFixedColumnsList(); track $index) {\n <td\n class=\"ax-data-table-sticky-footer-cell sticky-start\"\n [class.ax-data-table-sticky-footer-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n [class.ax-state-is-last]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderFooterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n </td>\n }\n @for (c of normalColumnsList(); track $index) {\n <td\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderFooterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n @if (c.allowResizing && !c.fixed) {\n <div\n class=\"ax-resize-handle\"\n (mousedown)=\"onResizeColumnStart($event, this.startFixedColumnsList().length + $index)\"\n (dblclick)=\"onResizeHandlerDoubleClick($event, this.startFixedColumnsList().length + $index)\"\n title=\"Double-click to auto-fit column width\"\n ></div>\n }\n </td>\n }\n <td></td>\n @for (c of endFixedColumnsList(); track $index) {\n <td\n class=\"ax-data-table-sticky-footer-cell sticky-end\"\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n [class.ax-state-is-first]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderFooterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n </td>\n }\n </tr>\n </tfoot>\n }\n </table>\n</div>\n\n@if (paging) {\n <div class=\"ax-table-footer\" #footerContainer>\n <ng-template #customPager>\n <ng-content select=\"ax-data-pager\"></ng-content>\n </ng-template>\n\n @if (customDataPager) {\n <ng-container [ngTemplateOutlet]=\"customPager\"></ng-container>\n } @else {\n <ax-data-pager\n #dataPager\n [displayMode]=\"'custom'\"\n (onChanged)=\"handleChangePage($event)\"\n [total]=\"dataSource.totalCount\"\n [size]=\"dataSource.pageSize\"\n [isLoading]=\"isLoading()\"\n >\n <ax-prefix class=\"ax-data-table-numeric-paging\">\n <ax-data-pager-numeric-selector> </ax-data-pager-numeric-selector>\n <ax-data-pager-page-sizes> </ax-data-pager-page-sizes>\n </ax-prefix>\n <ax-prefix class=\"ax-data-table-input-paging\">\n <ax-data-pager-prev-buttons> </ax-data-pager-prev-buttons>\n <ax-data-pager-input-selector> </ax-data-pager-input-selector>\n <ax-data-pager-next-buttons> </ax-data-pager-next-buttons>\n </ax-prefix>\n <ax-suffix class=\"ax-data-table-info\">\n <ax-data-pager-info> </ax-data-pager-info>\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"refresh({ reset: false })\">\n <ax-icon icon=\"ax-icon ax-icon-refresh\"></ax-icon>\n </ax-button>\n </ax-suffix>\n </ax-data-pager>\n }\n </div>\n}\n<ng-content select=\"ax-footer\"> </ng-content>\n", styles: ["ax-data-table{--ax-comp-data-table-font-size: .875rem;--ax-comp-data-table-line-height: 1rem;--ax-comp-data-table-border-color: var(--ax-sys-color-border-surface);--ax-comp-data-table-border-radius: var(--ax-sys-border-radius);--ax-comp-data-table-column-bg-color: var(--ax-sys-color-lightest-surface);--ax-comp-data-table-header-bg-color: var(--ax-sys-color-lighter-surface);--ax-comp-data-table-header-text-color: var(--ax-sys-color-on-lighter-surface);--ax-comp-data-table-footer-bg-color: var(--ax-sys-color-lighter-surface);--ax-comp-data-table-footer-text-color: var(--ax-sys-color-on-lighter-surface);--ax-comp-data-table-hover-bg-color: var(--ax-sys-color-primary-lightest-surface);--ax-comp-data-table-hover-text-color: var(--ax-sys-color-on-primary-lightest-surface);--ax-comp-data-table-focus-bg-color: var(--ax-sys-color-primary-lighter-surface);--ax-comp-data-table-selected-bg-color: var(--ax-sys-color-primary-light-surface);--ax-comp-data-table-selected-hover-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-data-table-index-bg-color: var(--ax-sys-color-light-surface);--ax-comp-data-table-index-text-color: var(--ax-sys-color-on-light-surface);--ax-comp-data-table-alternative-bg-color: var(--ax-sys-color-light-surface);--ax-comp-data-table-alternative-text-color: var(--ax-sys-color-on-light-surface);--ax-comp-data-table-skeleton-bg-color: var(--ax-sys-color-dark-surface);--ax-comp-data-table-handler-bg-color: var(--ax-sys-color-primary-light-surface);--ax-comp-data-table-interactive-bg-color: var(--ax-sys-color-light-surface);--ax-comp-data-table-highlight-bg-color: var(--ax-sys-color-warning-lighter-surface);--ax-comp-data-table-highlight-text-color: var(--ax-sys-color-on-warning-lighter-surface);--ax-comp-data-table-highlight-border-color: var(--ax-sys-color-warning-500)}ax-data-table .ax-highlight{background:rgb(var(--ax-comp-data-table-highlight-bg-color));color:rgb(var(--ax-comp-data-table-highlight-text-color));padding:0 .125rem;font-weight:500;box-shadow:0 0 0 1px rgba(var(--ax-comp-data-table-highlight-border-color),.25)}ax-infinite-scroll-data-table{--ax-comp-data-table-highlight-bg-color: var(--ax-sys-color-warning-lighter-surface);--ax-comp-data-table-highlight-text-color: var(--ax-sys-color-on-warning-lighter-surface);--ax-comp-data-table-highlight-border-color: var(--ax-sys-color-warning-500)}ax-infinite-scroll-data-table .ax-highlight{background:rgb(var(--ax-comp-data-table-highlight-bg-color));color:rgb(var(--ax-comp-data-table-highlight-text-color));padding:0 .125rem;font-weight:500;box-shadow:0 0 0 1px rgba(var(--ax-comp-data-table-highlight-border-color),.25)}.ax-dark ax-data-table{--ax-comp-data-table-column-bg-color: var(--ax-sys-color-darkest-surface);--ax-comp-data-table-header-bg-color: var(--ax-sys-color-darker-surface);--ax-comp-data-table-header-text-color: var(--ax-sys-color-on-darker-surface);--ax-comp-data-table-footer-bg-color: var(--ax-sys-color-darker-surface);--ax-comp-data-table-footer-text-color: var(--ax-sys-color-on-darker-surface);--ax-comp-data-table-hover-bg-color: var(--ax-sys-color-primary-light-surface);--ax-comp-data-table-hover-text-color: var(--ax-sys-color-on-light-surface);--ax-comp-data-table-focus-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-data-table-selected-bg-color: var(--ax-sys-color-primary-dark-surface);--ax-comp-data-table-selected-hover-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-data-table-index-bg-color: var(--ax-sys-color-dark-surface);--ax-comp-data-table-index-text-color: var(--ax-sys-color-on-dark-surface);--ax-comp-data-table-skeleton-bg-color: var(--ax-sys-color-lighter-surface);--ax-comp-data-table-alternative-bg-color: var(--ax-sys-color-surface);--ax-comp-data-table-alternative-text-color: var(--ax-sys-color-on-surface);--ax-comp-data-table-handler-bg-color: var(--ax-sys-color-primary-dark-surface);--ax-comp-data-table-highlight-bg-color: var(--ax-sys-color-warning-dark-surface);--ax-comp-data-table-highlight-text-color: var(--ax-sys-color-on-warning-dark-surface);--ax-comp-data-table-highlight-border-color: var(--ax-sys-color-warning-400)}.ax-dark ax-infinite-scroll-data-table{--ax-comp-data-table-highlight-bg-color: var(--ax-sys-color-warning-dark-surface);--ax-comp-data-table-highlight-text-color: var(--ax-sys-color-on-warning-dark-surface);--ax-comp-data-table-highlight-border-color: var(--ax-sys-color-warning-400)}@media screen and (min-width: 768px){html[dir=rtl] ax-data-table .ax-data-table-wrapper table thead th.ax-data-table-sticky-header-cell.sticky-start{box-shadow:inset 1px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table thead th.ax-data-table-sticky-header-cell.sticky-start.ax-state-is-last{box-shadow:inset 2px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table thead th.ax-data-table-sticky-header-cell.sticky-end{box-shadow:inset -1px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table thead th.ax-data-table-sticky-header-cell.sticky-end.ax-state-is-first{box-shadow:inset -2px 0 rgba(var(--ax-comp-data-table-border-color))}}@media screen and (min-width: 768px){html[dir=rtl] ax-data-table .ax-data-table-wrapper table tbody td.ax-data-table-sticky-body-cell.sticky-start{box-shadow:inset 1px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table tbody td.ax-data-table-sticky-body-cell.sticky-start.ax-state-is-last{box-shadow:inset 2px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table tbody td.ax-data-table-sticky-body-cell.sticky-end{box-shadow:inset -1px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table tbody td.ax-data-table-sticky-body-cell.sticky-end.ax-state-is-first{box-shadow:inset -2px 0 rgba(var(--ax-comp-data-table-border-color))}}ax-data-table{display:flex;flex-direction:column;height:100%;width:100%;font-size:var(--ax-comp-data-table-font-size);line-height:var(--ax-comp-data-table-line-height);border-radius:var(--ax-comp-data-table-border-radius);border-width:1px;border-color:rgba(var(--ax-comp-data-table-border-color));position:relative;min-height:inherit;overflow:hidden}ax-data-table td.ax-data-table-empty-data{background:transparent!important;position:absolute!important;padding:2rem 1rem;text-align:center;vertical-align:middle;height:8rem;border-bottom:none;top:50%;transform:translateY(-50%);width:100%}ax-data-table td.ax-data-table-empty-data span{color:rgb(var(--ax-sys-color-ghost-500));font-size:var(--ax-comp-data-table-font-size);display:flex;height:100%;align-items:center;justify-content:center}ax-data-table .ax-data-table-wrapper{overflow:auto;width:100%;flex:1;border-radius:var(--ax-comp-data-table-border-radius)}ax-data-table .ax-data-table-wrapper table{display:table;height:100%;width:100%;table-layout:fixed;overflow-x:auto}ax-data-table .ax-data-table-wrapper table thead{overflow:hidden;border-start-end-radius:var(--ax-comp-data-table-border-radius);border-start-start-radius:var(--ax-comp-data-table-border-radius)}ax-data-table .ax-data-table-wrapper table thead th{border-bottom-width:1px;border-inline-end-width:1px;border-style:solid;border-color:rgba(var(--ax-comp-data-table-border-color));background-color:rgba(var(--ax-comp-data-table-header-bg-color));color:rgba(var(--ax-comp-data-table-header-text-color));padding-inline-start:1rem;padding-inline-end:1rem;padding-top:.75rem;padding-bottom:.75rem;text-align:start;font-weight:500;text-transform:uppercase;position:relative;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;height:2.5rem}ax-data-table .ax-data-table-wrapper table thead th.ax-interactive{cursor:pointer}ax-data-table .ax-data-table-wrapper table thead th.ax-interactive:hover{background-color:rgba(var(--ax-comp-data-table-interactive-bg-color))}ax-data-table .ax-data-table-wrapper table thead th .ax-resize-handle{position:absolute;inset-inline-end:0px;top:0;bottom:0;width:.25rem;height:100%;cursor:col-resize;background:transparent}ax-data-table .ax-data-table-wrapper table thead th .ax-resize-handle:hover{background-color:rgba(var(--ax-comp-data-table-handler-bg-color))}ax-data-table .ax-data-table-wrapper table thead th .ax-caption{display:flex;align-items:center;gap:.5rem}ax-data-table .ax-data-table-wrapper table thead th:last-child{border-inline-end-width:0px}ax-data-table .ax-data-table-wrapper table thead.ax-data-table-sticky-header{position:sticky;top:0;border-top:none;border-bottom:none;z-index:3;box-shadow:inset 1px 1px 0 2px rgba(var(--ax-comp-data-table-border-color))}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell{position:sticky;z-index:2;border-inline-start:none;border-inline-end:none}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-start{box-shadow:inset -1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-start.ax-state-is-last{box-shadow:inset -2px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-end{box-shadow:inset 1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-end.ax-state-is-first{box-shadow:inset 2px 0 rgba(var(--ax-comp-data-table-border-color))}}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell{position:sticky;z-index:2;background-color:rgba(var(--ax-comp-data-table-column-bg-color));border-inline-start:none;border-inline-end:none}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-start{box-shadow:inset -1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-start.ax-state-is-last{box-shadow:inset -2px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-end{box-shadow:inset 1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-end.ax-state-is-first{box-shadow:inset 2px 0 rgba(var(--ax-comp-data-table-border-color))}}ax-data-table .ax-data-table-wrapper table tbody tr td{z-index:0;position:relative}ax-data-table .ax-data-table-wrapper table tbody tr td .ax-data-table-cell-tooltip-wrapper{position:relative;min-height:inherit}ax-data-table .ax-data-table-wrapper table tbody tr td .ax-bg{top:0;left:0;z-index:-1;width:100%;height:100%;position:absolute;border-inline-end:1px solid rgba(var(--ax-comp-data-table-border-color));background-color:transparent;opacity:.3}ax-data-table .ax-data-table-wrapper table tbody .empty-row{height:auto!important}ax-data-table .ax-data-table-wrapper table tbody.ax-data-table-row-alternative tr:nth-child(2n) td{background-color:rgba(var(--ax-comp-data-table-alternative-bg-color));color:rgba(var(--ax-comp-data-table-alternative-text-color))}ax-data-table .ax-data-table-wrapper table tbody.ax-data-table-row-alternative tr:nth-child(2n) ax-skeleton{width:25%}ax-data-table .ax-data-table-wrapper table tbody tr{height:2.5rem;max-height:2.5rem}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-primary td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-primary-lightest-surface));color:rgba(var(--ax-sys-color-on-primary-lightest-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-primary td:not(.ax-index-column) .ax-bg{background-color:transparent}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-primary .ax-data-table-sticky-body-cell:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-primary-lightest-surface))}}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-primary:hover:not(.ax-state-selected) td:not(.ax-index-column){color:rgba(var(--ax-sys-color-on-primary-lighter-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-primary:hover:not(.ax-state-selected) td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-sys-color-primary-lighter-surface));opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-primary.ax-state-selected td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-primary-light-surface));color:rgba(var(--ax-sys-color-on-primary-light-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-primary.ax-state-selected td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-sys-color-primary-surface));opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-primary.ax-state-selected:hover td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-primary-surface));color:rgba(var(--ax-sys-color-on-primary-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-primary.ax-state-selected:hover td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-sys-color-primary-dark-surface));opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-secondary td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-secondary-lightest-surface));color:rgba(var(--ax-sys-color-on-secondary-lightest-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-secondary td:not(.ax-index-column) .ax-bg{background-color:transparent}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-secondary .ax-data-table-sticky-body-cell:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-secondary-lightest-surface))}}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-secondary:hover:not(.ax-state-selected) td:not(.ax-index-column){color:rgba(var(--ax-sys-color-on-secondary-lighter-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-secondary:hover:not(.ax-state-selected) td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-sys-color-secondary-lighter-surface));opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-secondary.ax-state-selected td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-secondary-light-surface));color:rgba(var(--ax-sys-color-on-secondary-light-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-secondary.ax-state-selected td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-sys-color-secondary-surface));opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-secondary.ax-state-selected:hover td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-secondary-surface));color:rgba(var(--ax-sys-color-on-secondary-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-secondary.ax-state-selected:hover td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-sys-color-secondary-dark-surface));opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-success td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-success-lightest-surface));color:rgba(var(--ax-sys-color-on-success-lightest-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-success td:not(.ax-index-column) .ax-bg{background-color:transparent}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-success .ax-data-table-sticky-body-cell:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-success-lightest-surface))}}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-success:hover:not(.ax-state-selected) td:not(.ax-index-column){color:rgba(var(--ax-sys-color-on-success-lighter-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-success:hover:not(.ax-state-selected) td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-sys-color-success-lighter-surface));opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-success.ax-state-selected td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-success-light-surface));color:rgba(var(--ax-sys-color-on-success-light-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-success.ax-state-selected td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-sys-color-success-surface));opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-success.ax-state-selected:hover td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-success-surface));color:rgba(var(--ax-sys-color-on-success-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-success.ax-state-selected:hover td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-sys-color-success-dark-surface));opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-warning td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-warning-lightest-surface));color:rgba(var(--ax-sys-color-on-warning-lightest-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-warning td:not(.ax-index-column) .ax-bg{background-color:transparent}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-warning .ax-data-table-sticky-body-cell:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-warning-lightest-surface))}}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-warning:hover:not(.ax-state-selected) td:not(.ax-index-column){color:rgba(var(--ax-sys-color-on-warning-lighter-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-warning:hover:not(.ax-state-selected) td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-sys-color-warning-lighter-surface));opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-warning.ax-state-selected td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-warning-light-surface));color:rgba(var(--ax-sys-color-on-warning-light-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-warning.ax-state-selected td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-sys-color-warning-surface));opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-warning.ax-state-selected:hover td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-warning-surface));color:rgba(var(--ax-sys-color-on-warning-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-warning.ax-state-selected:hover td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-sys-color-warning-dark-surface));opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-danger td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-danger-lightest-surface));color:rgba(var(--ax-sys-color-on-danger-lightest-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-danger td:not(.ax-index-column) .ax-bg{background-color:transparent}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-danger .ax-data-table-sticky-body-cell:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-danger-lightest-surface))}}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-danger:hover:not(.ax-state-selected) td:not(.ax-index-column){color:rgba(var(--ax-sys-color-on-danger-lighter-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-danger:hover:not(.ax-state-selected) td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-sys-color-danger-lighter-surface));opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-danger.ax-state-selected td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-danger-light-surface));color:rgba(var(--ax-sys-color-on-danger-light-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-danger.ax-state-selected td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-sys-color-danger-surface));opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-danger.ax-state-selected:hover td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-danger-surface));color:rgba(var(--ax-sys-color-on-danger-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-danger.ax-state-selected:hover td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-sys-color-danger-dark-surface));opacity:1}@keyframes ax-data-table-row-primary-pulse{0%,to{background-color:rgba(var(--ax-sys-color-primary-lightest-surface))}50%{background-color:rgba(var(--ax-sys-color-primary-lighter-surface))}}@keyframes ax-data-table-row-secondary-pulse{0%,to{background-color:rgba(var(--ax-sys-color-secondary-lightest-surface))}50%{background-color:rgba(var(--ax-sys-color-secondary-lighter-surface))}}@keyframes ax-data-table-row-success-pulse{0%,to{background-color:rgba(var(--ax-sys-color-success-lightest-surface))}50%{background-color:rgba(var(--ax-sys-color-success-lighter-surface))}}@keyframes ax-data-table-row-warning-pulse{0%,to{background-color:rgba(var(--ax-sys-color-warning-lightest-surface))}50%{background-color:rgba(var(--ax-sys-color-warning-lighter-surface))}}@keyframes ax-data-table-row-danger-pulse{0%,to{background-color:rgba(var(--ax-sys-color-danger-lightest-surface))}50%{background-color:rgba(var(--ax-sys-color-danger-lighter-surface))}}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-primary.ax-row-color-pulse td:not(.ax-index-column){animation:ax-data-table-row-primary-pulse 1.2s ease-in-out infinite}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-primary.ax-row-color-pulse td.ax-data-table-sticky-body-cell:not(.ax-index-column){animation:ax-data-table-row-primary-pulse 1.2s ease-in-out infinite}}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-secondary.ax-row-color-pulse td:not(.ax-index-column){animation:ax-data-table-row-secondary-pulse 1.2s ease-in-out infinite}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-secondary.ax-row-color-pulse td.ax-data-table-sticky-body-cell:not(.ax-index-column){animation:ax-data-table-row-secondary-pulse 1.2s ease-in-out infinite}}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-success.ax-row-color-pulse td:not(.ax-index-column){animation:ax-data-table-row-success-pulse 1.2s ease-in-out infinite}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-success.ax-row-color-pulse td.ax-data-table-sticky-body-cell:not(.ax-index-column){animation:ax-data-table-row-success-pulse 1.2s ease-in-out infinite}}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-warning.ax-row-color-pulse td:not(.ax-index-column){animation:ax-data-table-row-warning-pulse 1.2s ease-in-out infinite}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-warning.ax-row-color-pulse td.ax-data-table-sticky-body-cell:not(.ax-index-column){animation:ax-data-table-row-warning-pulse 1.2s ease-in-out infinite}}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-danger.ax-row-color-pulse td:not(.ax-index-column){animation:ax-data-table-row-danger-pulse 1.2s ease-in-out infinite}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-danger.ax-row-color-pulse td.ax-data-table-sticky-body-cell:not(.ax-index-column){animation:ax-data-table-row-danger-pulse 1.2s ease-in-out infinite}}ax-data-table .ax-data-table-wrapper table tbody tr:hover td:not(.ax-index-column){color:rgba(var(--ax-comp-data-table-hover-text-color))}ax-data-table .ax-data-table-wrapper table tbody tr:hover td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-comp-data-table-hover-bg-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-focused td:not(.ax-index-column){color:rgba(var(--ax-comp-data-table-focus-text-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-focused td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-comp-data-table-focus-bg-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-selected td:not(.ax-index-column){color:rgba(var(--ax-comp-data-table-selected-text-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-selected td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-comp-data-table-selected-bg-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-selected:hover td:not(.ax-index-column){color:rgba(var(--ax-comp-data-table-selected-hover-text-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-selected:hover td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-comp-data-table-selected-hover-bg-color))}ax-data-table .ax-data-table-wrapper table tbody td{position:relative;min-width:2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom-width:1px;border-inline-end-width:1px;border-color:rgba(var(--ax-comp-data-table-border-color));background-color:rgba(var(--ax-comp-data-table-column-bg-color));padding-inline-start:1rem;padding-inline-end:1rem;padding-top:.5rem;padding-bottom:.5rem;vertical-align:middle}ax-data-table .ax-data-table-wrapper table tbody td .ax-expand-handler{padding-inline-start:.25rem;padding-inline-end:.25rem;cursor:pointer}ax-data-table .ax-data-table-wrapper table tbody td .ax-expand-handler.has-parent{padding-inline-start:1.5rem!important}ax-data-table .ax-data-table-wrapper table tbody td.ax-index-column{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background-color:rgba(var(--ax-comp-data-table-index-bg-color));color:rgba(var(--ax-comp-data-table-index-text-color));text-align:center}ax-data-table .ax-data-table-wrapper table tbody td.ax-index-column .ax-data-table-cell-tooltip-wrapper{display:flex;align-items:center;justify-content:center;width:100%}ax-data-table .ax-data-table-wrapper table tbody td.ax-index-column .ax-data-table-row-highlight-badge{position:static;display:inline-flex;align-items:center;justify-content:center}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column{text-align:center}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column button.ax-state-disabled{position:relative!important;cursor:not-allowed!important;opacity:.5!important}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column>div{position:absolute;inset-inline-start:0px;top:50%;display:flex;width:100%;transform:translateY(-50%);align-items:center;justify-content:center}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button{--ax-comp-button-font-size: .75rem;--ax-comp-button-padding-x: .25rem;--ax-comp-button-decorator-padding-x: .25rem;--ax-comp-button-icon-only-font-size: .875rem;--ax-sys-size-base: 1.5rem;margin-left:.25rem;margin-right:.25rem}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button ax-loading .ax-loader{width:.75rem!important;height:.75rem!important;border-width:2px!important}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button{position:relative;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:var(--ax-comp-data-table-border-radius);border-style:none;border-color:rgba(var(--ax-comp-data-table-border-color));background-color:transparent;padding:.25rem;color:rgba(var(--ax-color-ghost-fore))}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button:hover:not(ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button:hover.ax-state-selected,ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button:hover.ax-state-disabled){opacity:.75}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button:active{opacity:1}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button .ax-ripple{background-color:rgba(var(--ax-color-ghost-fore),.05)}ax-data-table .ax-data-table-wrapper table tbody td:last-child{border-inline-end-width:0px}ax-data-table .ax-data-table-wrapper table tbody td ax-skeleton{height:.875rem;width:33.333333%;border-radius:.375rem;background-color:rgba(var(--ax-comp-data-table-skeleton-bg-color))}ax-data-table .ax-data-table-wrapper table tfoot tr td{border-bottom-width:1px;border-inline-end-width:1px;border-style:solid;border-color:rgba(var(--ax-comp-data-table-border-color));background-color:rgba(var(--ax-comp-data-table-footer-bg-color));color:rgba(var(--ax-comp-data-table-footer-text-color));padding-inline-start:1rem;padding-inline-end:1rem;padding-top:.75rem;padding-bottom:.75rem;text-align:start;font-weight:500;text-transform:uppercase;position:relative;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;height:2.5rem}ax-data-table .ax-data-table-wrapper table tfoot tr td.ax-interactive{cursor:pointer}ax-data-table .ax-data-table-wrapper table tfoot tr td.ax-interactive:hover{background-color:rgba(var(--ax-comp-data-table-interactive-bg-color))}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell{position:sticky;z-index:2;border-inline-start:none;border-inline-end:none}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-start{box-shadow:inset -1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-start.ax-state-is-last{box-shadow:inset -2px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-end{box-shadow:inset 1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-end.ax-state-is-first{box-shadow:inset 2px 0 rgba(var(--ax-comp-data-table-border-color))}}ax-data-table .ax-data-table-wrapper table tfoot.ax-data-table-sticky-footer{position:sticky;bottom:-1px;border-top:none;border-bottom:none;z-index:3;box-shadow:1px 0 rgba(var(--ax-comp-data-table-border-color)),0 -1px rgba(var(--ax-comp-data-table-border-color))}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table .sticky-end{inset-inline-end:var(--sticky-end)}ax-data-table .ax-data-table-wrapper table .sticky-start{inset-inline-start:var(--sticky-start)}}ax-data-table ax-data-pager{justify-content:center}ax-data-table .ax-table-footer{border-top-width:1px;border-collapse:collapse;overflow:hidden;border-color:rgba(var(--ax-comp-data-table-border-color));padding-inline-start:.875rem;padding-inline-end:.875rem;min-height:max-content}ax-data-table .ax-table-footer .ax-table-info{display:flex;flex:1 1 0%;align-items:center;justify-content:space-between}ax-data-table .ax-data-table-numeric-paging{display:none}ax-data-table .ax-data-table-input-paging{display:flex}ax-data-table .ax-data-table-info{display:none}@media (min-width: 1024px){ax-data-table .ax-data-table-numeric-paging{display:flex}ax-data-table .ax-data-table-input-paging{display:none}}@media (min-width: 768px){ax-data-table .ax-data-table-info{display:flex;align-items:center}ax-data-table ax-data-pager{justify-content:space-between}}.cdk-drag-preview{border-bottom-width:1px;border-inline-end-width:1px;box-shadow:0 5px 5px -3px rgba(var(--ax-sys-color-primary-900),.2),0 8px 10px 1px rgba(var(--ax-sys-color-primary-900),.14),0 3px 14px 2px rgba(var(--ax-sys-color-primary-900),.12);border-style:solid;border-color:rgba(var(--ax-comp-data-table-border-color));background-color:rgba(var(--ax-sys-color-surface));color:rgba(var(--ax-sys-color-surface-fore));padding-inline-start:1rem;padding-inline-end:1rem;padding-top:.75rem;padding-bottom:.75rem;text-align:start;font-weight:500;text-transform:uppercase;position:relative}.ax-dropdown-command-empty-state-text{color:rgba(var(--ax-sys-color-on-surface-variant-500));font-size:.75rem}ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table thead th{border-inline-end-width:0}ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table thead.ax-data-table-sticky-header{box-shadow:inset 0 1px rgba(var(--ax-comp-data-table-border-color))}@media screen and (min-width: 768px){ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-start,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-end{box-shadow:none}}@media screen and (min-width: 768px){ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-start,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-end{box-shadow:none}}ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tbody tr td .ax-bg{border-inline-end:none}ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tbody td{border-inline-end-width:0}ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr td{border-inline-end-width:0;border-inline-start-width:0}@media screen and (min-width: 768px){ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-start,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-end,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-start.ax-state-is-last,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-end.ax-state-is-first,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-header-cell.sticky-start,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-header-cell.sticky-end,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-header-cell.sticky-start.ax-state-is-last,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-header-cell.sticky-end.ax-state-is-first{box-shadow:none}}ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot.ax-data-table-sticky-footer{box-shadow:0 -1px rgba(var(--ax-comp-data-table-border-color))}\n"] }]
|
|
2311
2679
|
}], propDecorators: { dataPager: [{
|
|
2312
2680
|
type: ViewChild,
|
|
2313
2681
|
args: ['dataPager']
|
|
@@ -2539,10 +2907,12 @@ class AXInfiniteScrollDataTableComponent extends AXBaseDataTable {
|
|
|
2539
2907
|
this.isLoading.set(data);
|
|
2540
2908
|
});
|
|
2541
2909
|
this.listDataSource.source.onChanged.subscribe((data) => {
|
|
2910
|
+
this.clearResolvedCssClasses();
|
|
2542
2911
|
this.totalRows = data.totalCount;
|
|
2543
2912
|
this.hasItems = data.totalCount > 0;
|
|
2544
2913
|
setTimeout(() => {
|
|
2545
2914
|
this.render();
|
|
2915
|
+
this.scheduleTextHighlight();
|
|
2546
2916
|
}, 100);
|
|
2547
2917
|
});
|
|
2548
2918
|
//
|
|
@@ -2648,10 +3018,24 @@ class AXInfiniteScrollDataTableComponent extends AXBaseDataTable {
|
|
|
2648
3018
|
* Resets the index to zero and refreshes the data source.
|
|
2649
3019
|
* @ignore
|
|
2650
3020
|
*/
|
|
2651
|
-
refresh() {
|
|
3021
|
+
refresh(options = {}) {
|
|
3022
|
+
if (!options.preserveHighlights) {
|
|
3023
|
+
this.clearRowHighlights();
|
|
3024
|
+
}
|
|
3025
|
+
this.clearResolvedCssClasses();
|
|
2652
3026
|
this.lastIndex = 0;
|
|
2653
3027
|
this.listDataSource.refresh();
|
|
2654
3028
|
}
|
|
3029
|
+
/**
|
|
3030
|
+
* @ignore
|
|
3031
|
+
*/
|
|
3032
|
+
onRowHighlightsChanged() {
|
|
3033
|
+
this.cdr.markForCheck();
|
|
3034
|
+
}
|
|
3035
|
+
onCssClassResolved() {
|
|
3036
|
+
this.cdr.markForCheck();
|
|
3037
|
+
super.onCssClassResolved();
|
|
3038
|
+
}
|
|
2655
3039
|
/**
|
|
2656
3040
|
* @ignore
|
|
2657
3041
|
*/
|
|
@@ -2731,15 +3115,24 @@ class AXInfiniteScrollDataTableComponent extends AXBaseDataTable {
|
|
|
2731
3115
|
_handleOnScroll() {
|
|
2732
3116
|
this.updateHScroll();
|
|
2733
3117
|
}
|
|
3118
|
+
autoFitAllColumns(_options = {}) {
|
|
3119
|
+
console.warn('autoFitAllColumns is not supported by ax-infinite-scroll-data-table');
|
|
3120
|
+
}
|
|
3121
|
+
autoFitColumn(_columnIndex, _options = {}) {
|
|
3122
|
+
console.warn('autoFitColumn is not supported by ax-infinite-scroll-data-table');
|
|
3123
|
+
}
|
|
3124
|
+
autoFitColumnByName(_columnName, _options = {}) {
|
|
3125
|
+
console.warn('autoFitColumnByName is not supported by ax-infinite-scroll-data-table');
|
|
3126
|
+
}
|
|
2734
3127
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXInfiniteScrollDataTableComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
2735
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: AXInfiniteScrollDataTableComponent, isStandalone: true, selector: "ax-infinite-scroll-data-table", inputs: { dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: false, isRequired: false, transformFunction: null }, look: { classPropertyName: "look", publicName: "look", isSignal: true, isRequired: false, transformFunction: null }, rowTemplate: { classPropertyName: "rowTemplate", publicName: "rowTemplate", isSignal: false, isRequired: false, transformFunction: null }, emptyTemplate: { classPropertyName: "emptyTemplate", publicName: "emptyTemplate", isSignal: false, isRequired: false, transformFunction: null }, showHeader: { classPropertyName: "showHeader", publicName: "showHeader", isSignal: false, isRequired: false, transformFunction: null }, fetchDataMode: { classPropertyName: "fetchDataMode", publicName: "fetchDataMode", isSignal: false, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: false, isRequired: false, transformFunction: null }, focusedRow: { classPropertyName: "focusedRow", publicName: "focusedRow", isSignal: false, isRequired: false, transformFunction: null }, itemHeight: { classPropertyName: "itemHeight", publicName: "itemHeight", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { selectedRowsChange: "selectedRowsChange", onPageChanged: "onPageChanged", onRowClick: "onRowClick", onRowDbClick: "onRowDbClick", focusedRowChange: "focusedRowChange", onScrolledIndexChanged: "onScrolledIndexChanged" }, host: { properties: { "class.ax-data-table-look-minimal": "look() === \"minimal\"" } }, providers: [
|
|
3128
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: AXInfiniteScrollDataTableComponent, isStandalone: true, selector: "ax-infinite-scroll-data-table", inputs: { dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: false, isRequired: false, transformFunction: null }, rowCssClass: { classPropertyName: "rowCssClass", publicName: "rowCssClass", isSignal: false, isRequired: false, transformFunction: null }, cellCssClass: { classPropertyName: "cellCssClass", publicName: "cellCssClass", isSignal: false, isRequired: false, transformFunction: null }, highlightText: { classPropertyName: "highlightText", publicName: "highlightText", isSignal: false, isRequired: false, transformFunction: null }, look: { classPropertyName: "look", publicName: "look", isSignal: true, isRequired: false, transformFunction: null }, rowTemplate: { classPropertyName: "rowTemplate", publicName: "rowTemplate", isSignal: false, isRequired: false, transformFunction: null }, emptyTemplate: { classPropertyName: "emptyTemplate", publicName: "emptyTemplate", isSignal: false, isRequired: false, transformFunction: null }, showHeader: { classPropertyName: "showHeader", publicName: "showHeader", isSignal: false, isRequired: false, transformFunction: null }, fetchDataMode: { classPropertyName: "fetchDataMode", publicName: "fetchDataMode", isSignal: false, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: false, isRequired: false, transformFunction: null }, focusedRow: { classPropertyName: "focusedRow", publicName: "focusedRow", isSignal: false, isRequired: false, transformFunction: null }, itemHeight: { classPropertyName: "itemHeight", publicName: "itemHeight", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { selectedRowsChange: "selectedRowsChange", onPageChanged: "onPageChanged", onRowClick: "onRowClick", onRowDbClick: "onRowDbClick", focusedRowChange: "focusedRowChange", onScrolledIndexChanged: "onScrolledIndexChanged" }, host: { properties: { "class.ax-data-table-look-minimal": "look() === \"minimal\"" } }, providers: [
|
|
2736
3129
|
{ provide: AXPagedComponent, useExisting: AXInfiniteScrollDataTableComponent },
|
|
2737
3130
|
{
|
|
2738
3131
|
provide: AXBaseDataTable,
|
|
2739
3132
|
useExisting: AXInfiniteScrollDataTableComponent,
|
|
2740
3133
|
},
|
|
2741
3134
|
{ provide: AXComponent, useExisting: AXInfiniteScrollDataTableComponent },
|
|
2742
|
-
], queries: [{ propertyName: "columns", predicate: AXDataTableColumnComponent }], viewQueries: [{ propertyName: "viewport", first: true, predicate: CdkVirtualScrollViewport, descendants: true, static: true }, { propertyName: "headerContainer", first: true, predicate: ["headerContainer"], descendants: true }, { propertyName: "footerContainer", first: true, predicate: ["footerContainer"], descendants: true }, { propertyName: "scrollableContainer", first: true, predicate: ["scrolling"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-header\"> </ng-content>\n<!------------------- Header contents ------------------->\n@if (showHeader) {\n <div class=\"ax-header-content\">\n <div class=\"ax-header-columns\">\n <table tabindex=\"0\" [style.width]=\"width\" #headerContainer>\n <thead>\n <tr>\n @for (c of notFixedColumn(); track c.name) {\n <th\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [style.width]=\"c.width\"\n >\n <div class=\"ax-caption\">\n <ng-container [ngTemplateOutlet]=\"c.renderHeaderTemplate\"></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n <!-- @if(c.allowResizing)\n {\n <div class=\"ax-resize-handle\" [ax-table-column-resizble]=\"c\"></div>\n } -->\n </th>\n }\n <th></th>\n </tr>\n </thead>\n </table>\n </div>\n </div>\n}\n\n<!------------------- Body contents ------------------->\n<div [style.height]=\"height\" class=\"ax-body-content\">\n <div class=\"ax-body-columns\">\n <div cdkVirtualScrollingElement #scrolling [style.height]=\"'100%'\" (scroll)=\"_handleOnScroll()\">\n <cdk-virtual-scroll-viewport\n [itemSize]=\"itemHeight\"\n [style.--item-height]=\"itemHeight + 'px'\"\n (scrolledIndexChange)=\"_handleOnscrolledIndexChange($event)\"\n >\n <table tabindex=\"0\" class=\"ax-table-body ax-relative\" [style.width]=\"width\">\n <colgroup>\n @for (c of notFixedColumn(); track c.name) {\n <col [style.width]=\"c.width\" />\n }\n <col />\n </colgroup>\n <tbody>\n <ng-container\n *cdkVirtualFor=\"\n let item of listDataSource;\n templateCacheSize: 100;\n let i = index;\n trackBy: trackByIdx;\n let rIndex = index\n \"\n >\n <!------------------- custom row template------------------->\n @if (rowTemplate !== null) {\n <ng-container\n [ngTemplateOutlet]=\"rowTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: item, rowIndex: rIndex } }\"\n >\n </ng-container>\n } @else {\n <!------------------- normal row template------------------->\n <tr\n [class.ax-state-focused]=\"focusedRow && item === focusedRow\"\n [attr.data-index]=\"rIndex\"\n [class.ax-state-selected]=\"selectedRows.includes(item)\"\n (click)=\"handleRowClick($event, item)\"\n >\n <!------------------- start fixed column ------------------->\n\n <!------------------- Not fixed column ------------------->\n @for (c of notFixedColumn(); track c.name) {\n <td [attr.data-label]=\"c.caption\" tabindex=\"0\" [class]=\"c.cssClass\">\n @if (item && !isLoading()) {\n <!------------------- render cell ------------------->\n <ng-container\n [ngTemplateOutlet]=\"c.renderCellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: item, rowIndex: rIndex } }\"\n ></ng-container>\n } @else {\n <!------------------- render loading ------------------->\n @if (c.loadingEnabled && loading) {\n <ax-skeleton [animated]=\"loading.animation\"></ax-skeleton>\n }\n }\n </td>\n }\n <td></td>\n </tr>\n }\n </ng-container>\n </tbody>\n </table>\n </cdk-virtual-scroll-viewport>\n </div>\n </div>\n</div>\n<div class=\"ax-table-footer\" #footerContainer>\n <div class=\"ax-table-info\">\n <div>Showing {{ startRowIndex }} of {{ totalRows }} items</div>\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"refresh()\">\n <ax-icon icon=\"ax-icon ax-icon-refresh\"></ax-icon>\n </ax-button>\n </div>\n <ng-content select=\"ax-footer\"> </ng-content>\n</div>\n", styles: ["ax-infinite-scroll-data-table{display:block;height:100%;overflow:hidden;border-radius:var(--ax-sys-border-radius);border-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));font-size:.875rem;line-height:1.25rem}ax-infinite-scroll-data-table table{table-layout:fixed}ax-infinite-scroll-data-table .ax-header-content{position:relative;height:3rem;overflow:hidden}ax-infinite-scroll-data-table .ax-header-content .ax-header-fixed-columns{pointer-events:none;position:absolute;z-index:10}ax-infinite-scroll-data-table .ax-header-content .ax-header-fixed-columns th.ax-column-fixed{pointer-events:auto}ax-infinite-scroll-data-table .ax-header-content .ax-header-fixed-columns th:not(.ax-column-fixed){visibility:hidden;background-color:transparent}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns{height:100%}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table{height:100%;overflow:hidden;border-start-end-radius:var(--ax-sys-border-radius);border-start-start-radius:var(--ax-sys-border-radius)}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th{border-bottom-width:1px;border-inline-end-width:1px;border-style:solid;border-color:rgba(var(--ax-sys-color-border-lightest-surface));background-color:rgba(var(--ax-sys-color-surface));padding:.75rem 1rem;text-align:start;font-weight:500;text-transform:uppercase;position:relative}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th.ax-interactive{cursor:pointer}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th.ax-interactive:hover{background-color:rgba(var(--ax-sys-color-secondary-200))}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th .ax-resize-handle{position:absolute;right:0;top:0;bottom:0;width:4px;cursor:col-resize;background:transparent}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th .ax-resize-handle:hover{background-color:rgba(var(--ax-sys-color-secondary-300))}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th .ax-caption{display:flex;align-items:center;gap:.5rem}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th:last-child{border-inline-end-width:0px}ax-infinite-scroll-data-table .ax-body-content{position:relative}ax-infinite-scroll-data-table .ax-body-content .ax-body-fixed-columns{pointer-events:none;position:absolute;z-index:10}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns{height:100%}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table{border-collapse:collapse}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr:nth-child(2n) td{background-color:rgba(var(--ax-sys-color-surface))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr:nth-child(2n) ax-skeleton{width:25%}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr{height:2.5rem}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr:hover td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-primary-200))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-state-focused td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-primary-200));color:rgba(var(--ax-sys-color-on-primary-tint))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-state-focused:hover td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-primary-300))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-state-selected td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-primary-300));color:rgba(var(--ax-sys-color-on-primary-tint))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-state-selected:hover td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-primary-400));color:rgba(var(--ax-sys-color-on-primary))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td{position:relative;min-width:2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom-width:1px;border-inline-end-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));background-color:rgba(var(--ax-sys-color-surface));padding:.5rem 1rem;vertical-align:middle}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-index-column{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background-color:rgba(var(--ax-sys-color-surface));text-align:center}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button.ax-state-disabled{position:relative!important;cursor:not-allowed!important;opacity:.5!important}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column>div{position:absolute;inset-inline-start:0px;top:50%;display:flex;width:100%;transform:translateY(-50%);align-items:center;justify-content:center}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button{position:relative;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:var(--ax-sys-border-radius);border-style:none;border-color:rgba(var(--ax-sys-color-border-lightest-surface));background-color:transparent;padding:.25rem;color:rgba(var(--ax-color-ghost-fore))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button:hover:not(ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button:hover.ax-state-selected,ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button:hover.ax-state-disabled){opacity:.75}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button:active{opacity:1}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button .ax-ripple{background-color:rgba(var(--ax-color-ghost-fore),.05)}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td:last-child{border-inline-end-width:0px}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td ax-skeleton{height:.875rem;width:33.333333%;border-radius:.375rem}ax-infinite-scroll-data-table .ax-table-footer{border-collapse:collapse;overflow:hidden;border-top-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));padding:.5rem .875rem}ax-infinite-scroll-data-table .ax-table-footer .ax-table-info{display:flex;flex:1 1 0%;align-items:center;justify-content:space-between}ax-infinite-scroll-data-table.ax-data-table-look-minimal .ax-header-content .ax-header-columns>table th{border-inline-end-width:0}ax-infinite-scroll-data-table.ax-data-table-look-minimal .ax-body-content .ax-body-columns table td{border-inline-end-width:0}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "directive", type: CdkVirtualScrollableElement, selector: "[cdkVirtualScrollingElement]" }, { kind: "component", type: CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "directive", type: CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: AXSkeletonComponent, selector: "ax-skeleton", inputs: ["animated"] }, { kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
3135
|
+
], queries: [{ propertyName: "columns", predicate: AXDataTableColumnComponent }], viewQueries: [{ propertyName: "viewport", first: true, predicate: CdkVirtualScrollViewport, descendants: true, static: true }, { propertyName: "headerContainer", first: true, predicate: ["headerContainer"], descendants: true }, { propertyName: "footerContainer", first: true, predicate: ["footerContainer"], descendants: true }, { propertyName: "scrollableContainer", first: true, predicate: ["scrolling"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-header\"> </ng-content>\n<!------------------- Header contents ------------------->\n@if (showHeader) {\n <div class=\"ax-header-content\">\n <div class=\"ax-header-columns\">\n <table tabindex=\"0\" [style.width]=\"width\" #headerContainer>\n <thead>\n <tr>\n @for (c of notFixedColumn(); track c.name) {\n <th\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [style.width]=\"c.width\"\n >\n <div class=\"ax-caption\">\n <ng-container [ngTemplateOutlet]=\"c.renderHeaderTemplate\"></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n <!-- @if(c.allowResizing)\n {\n <div class=\"ax-resize-handle\" [ax-table-column-resizble]=\"c\"></div>\n } -->\n </th>\n }\n <th></th>\n </tr>\n </thead>\n </table>\n </div>\n </div>\n}\n\n<!------------------- Body contents ------------------->\n<div [style.height]=\"height\" class=\"ax-body-content\">\n <div class=\"ax-body-columns\">\n <div cdkVirtualScrollingElement #scrolling [style.height]=\"'100%'\" (scroll)=\"_handleOnScroll()\">\n <cdk-virtual-scroll-viewport\n [itemSize]=\"itemHeight\"\n [style.--item-height]=\"itemHeight + 'px'\"\n (scrolledIndexChange)=\"_handleOnscrolledIndexChange($event)\"\n >\n <table tabindex=\"0\" class=\"ax-table-body ax-relative\" [style.width]=\"width\">\n <colgroup>\n @for (c of notFixedColumn(); track c.name) {\n <col [style.width]=\"c.width\" />\n }\n <col />\n </colgroup>\n <tbody>\n <ng-container\n *cdkVirtualFor=\"\n let item of listDataSource;\n templateCacheSize: 100;\n let i = index;\n trackBy: trackByIdx;\n let rIndex = index\n \"\n >\n <!------------------- custom row template------------------->\n @if (rowTemplate !== null) {\n <ng-container\n [ngTemplateOutlet]=\"rowTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: item, rowIndex: rIndex } }\"\n >\n </ng-container>\n } @else {\n <!------------------- normal row template------------------->\n <tr\n [class.ax-state-focused]=\"focusedRow && item === focusedRow\"\n [attr.data-index]=\"rIndex\"\n [class.ax-state-selected]=\"selectedRows.includes(item)\"\n [ngClass]=\"getRowCssClass(item, rIndex)\"\n (click)=\"handleRowClick($event, item)\"\n >\n <!------------------- start fixed column ------------------->\n\n <!------------------- Not fixed column ------------------->\n @for (c of notFixedColumn(); track c.name; let colIndex = $index) {\n <td [attr.data-label]=\"c.caption\" tabindex=\"0\" [class]=\"getCellCssClass(item, c, rIndex)\">\n @if (item && !isLoading()) {\n <!------------------- render cell ------------------->\n <ng-container\n [ngTemplateOutlet]=\"c.renderCellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: item, rowIndex: rIndex } }\"\n ></ng-container>\n } @else {\n <!------------------- render loading ------------------->\n @if (c.loadingEnabled && loading) {\n <ax-skeleton [animated]=\"loading.animation\"></ax-skeleton>\n }\n }\n </td>\n }\n <td></td>\n </tr>\n }\n </ng-container>\n </tbody>\n </table>\n </cdk-virtual-scroll-viewport>\n </div>\n </div>\n</div>\n<div class=\"ax-table-footer\" #footerContainer>\n <div class=\"ax-table-info\">\n <div>Showing {{ startRowIndex }} of {{ totalRows }} items</div>\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"refresh()\">\n <ax-icon icon=\"ax-icon ax-icon-refresh\"></ax-icon>\n </ax-button>\n </div>\n <ng-content select=\"ax-footer\"> </ng-content>\n</div>\n", styles: ["ax-infinite-scroll-data-table{display:block;height:100%;overflow:hidden;border-radius:var(--ax-sys-border-radius);border-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));font-size:.875rem;line-height:1.25rem}ax-infinite-scroll-data-table table{table-layout:fixed}ax-infinite-scroll-data-table .ax-header-content{position:relative;height:3rem;overflow:hidden}ax-infinite-scroll-data-table .ax-header-content .ax-header-fixed-columns{pointer-events:none;position:absolute;z-index:10}ax-infinite-scroll-data-table .ax-header-content .ax-header-fixed-columns th.ax-column-fixed{pointer-events:auto}ax-infinite-scroll-data-table .ax-header-content .ax-header-fixed-columns th:not(.ax-column-fixed){visibility:hidden;background-color:transparent}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns{height:100%}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table{height:100%;overflow:hidden;border-start-end-radius:var(--ax-sys-border-radius);border-start-start-radius:var(--ax-sys-border-radius)}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th{border-bottom-width:1px;border-inline-end-width:1px;border-style:solid;border-color:rgba(var(--ax-sys-color-border-lightest-surface));background-color:rgba(var(--ax-sys-color-surface));padding:.75rem 1rem;text-align:start;font-weight:500;text-transform:uppercase;position:relative}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th.ax-interactive{cursor:pointer}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th.ax-interactive:hover{background-color:rgba(var(--ax-sys-color-secondary-200))}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th .ax-resize-handle{position:absolute;right:0;top:0;bottom:0;width:4px;cursor:col-resize;background:transparent}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th .ax-resize-handle:hover{background-color:rgba(var(--ax-sys-color-secondary-300))}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th .ax-caption{display:flex;align-items:center;gap:.5rem}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th:last-child{border-inline-end-width:0px}ax-infinite-scroll-data-table .ax-body-content{position:relative}ax-infinite-scroll-data-table .ax-body-content .ax-body-fixed-columns{pointer-events:none;position:absolute;z-index:10}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns{height:100%}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table{border-collapse:collapse}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr:nth-child(2n) td{background-color:rgba(var(--ax-sys-color-surface))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr:nth-child(2n) ax-skeleton{width:25%}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr{height:2.5rem}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-primary td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-primary-lightest-surface));color:rgba(var(--ax-sys-color-on-primary-lightest-surface))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-primary:hover:not(.ax-state-selected) td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-primary-lighter-surface));color:rgba(var(--ax-sys-color-on-primary-lighter-surface))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-primary.ax-state-selected td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-primary-light-surface));color:rgba(var(--ax-sys-color-on-primary-light-surface))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-primary.ax-state-selected:hover td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-primary-surface));color:rgba(var(--ax-sys-color-on-primary-surface))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-secondary td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-secondary-lightest-surface));color:rgba(var(--ax-sys-color-on-secondary-lightest-surface))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-secondary:hover:not(.ax-state-selected) td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-secondary-lighter-surface));color:rgba(var(--ax-sys-color-on-secondary-lighter-surface))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-secondary.ax-state-selected td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-secondary-light-surface));color:rgba(var(--ax-sys-color-on-secondary-light-surface))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-secondary.ax-state-selected:hover td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-secondary-surface));color:rgba(var(--ax-sys-color-on-secondary-surface))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-success td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-success-lightest-surface));color:rgba(var(--ax-sys-color-on-success-lightest-surface))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-success:hover:not(.ax-state-selected) td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-success-lighter-surface));color:rgba(var(--ax-sys-color-on-success-lighter-surface))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-success.ax-state-selected td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-success-light-surface));color:rgba(var(--ax-sys-color-on-success-light-surface))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-success.ax-state-selected:hover td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-success-surface));color:rgba(var(--ax-sys-color-on-success-surface))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-warning td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-warning-lightest-surface));color:rgba(var(--ax-sys-color-on-warning-lightest-surface))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-warning:hover:not(.ax-state-selected) td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-warning-lighter-surface));color:rgba(var(--ax-sys-color-on-warning-lighter-surface))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-warning.ax-state-selected td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-warning-light-surface));color:rgba(var(--ax-sys-color-on-warning-light-surface))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-warning.ax-state-selected:hover td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-warning-surface));color:rgba(var(--ax-sys-color-on-warning-surface))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-danger td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-danger-lightest-surface));color:rgba(var(--ax-sys-color-on-danger-lightest-surface))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-danger:hover:not(.ax-state-selected) td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-danger-lighter-surface));color:rgba(var(--ax-sys-color-on-danger-lighter-surface))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-danger.ax-state-selected td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-danger-light-surface));color:rgba(var(--ax-sys-color-on-danger-light-surface))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-danger.ax-state-selected:hover td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-danger-surface));color:rgba(var(--ax-sys-color-on-danger-surface))}@keyframes ax-data-table-row-primary-pulse{0%,to{background-color:rgba(var(--ax-sys-color-primary-lightest-surface))}50%{background-color:rgba(var(--ax-sys-color-primary-lighter-surface))}}@keyframes ax-data-table-row-secondary-pulse{0%,to{background-color:rgba(var(--ax-sys-color-secondary-lightest-surface))}50%{background-color:rgba(var(--ax-sys-color-secondary-lighter-surface))}}@keyframes ax-data-table-row-success-pulse{0%,to{background-color:rgba(var(--ax-sys-color-success-lightest-surface))}50%{background-color:rgba(var(--ax-sys-color-success-lighter-surface))}}@keyframes ax-data-table-row-warning-pulse{0%,to{background-color:rgba(var(--ax-sys-color-warning-lightest-surface))}50%{background-color:rgba(var(--ax-sys-color-warning-lighter-surface))}}@keyframes ax-data-table-row-danger-pulse{0%,to{background-color:rgba(var(--ax-sys-color-danger-lightest-surface))}50%{background-color:rgba(var(--ax-sys-color-danger-lighter-surface))}}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-primary.ax-row-color-pulse td:not(.ax-index-column){animation:ax-data-table-row-primary-pulse 1.2s ease-in-out infinite}@media screen and (min-width: 768px){ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-primary.ax-row-color-pulse td.ax-data-table-sticky-body-cell:not(.ax-index-column){animation:ax-data-table-row-primary-pulse 1.2s ease-in-out infinite}}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-secondary.ax-row-color-pulse td:not(.ax-index-column){animation:ax-data-table-row-secondary-pulse 1.2s ease-in-out infinite}@media screen and (min-width: 768px){ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-secondary.ax-row-color-pulse td.ax-data-table-sticky-body-cell:not(.ax-index-column){animation:ax-data-table-row-secondary-pulse 1.2s ease-in-out infinite}}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-success.ax-row-color-pulse td:not(.ax-index-column){animation:ax-data-table-row-success-pulse 1.2s ease-in-out infinite}@media screen and (min-width: 768px){ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-success.ax-row-color-pulse td.ax-data-table-sticky-body-cell:not(.ax-index-column){animation:ax-data-table-row-success-pulse 1.2s ease-in-out infinite}}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-warning.ax-row-color-pulse td:not(.ax-index-column){animation:ax-data-table-row-warning-pulse 1.2s ease-in-out infinite}@media screen and (min-width: 768px){ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-warning.ax-row-color-pulse td.ax-data-table-sticky-body-cell:not(.ax-index-column){animation:ax-data-table-row-warning-pulse 1.2s ease-in-out infinite}}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-danger.ax-row-color-pulse td:not(.ax-index-column){animation:ax-data-table-row-danger-pulse 1.2s ease-in-out infinite}@media screen and (min-width: 768px){ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-danger.ax-row-color-pulse td.ax-data-table-sticky-body-cell:not(.ax-index-column){animation:ax-data-table-row-danger-pulse 1.2s ease-in-out infinite}}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr:hover td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-primary-200))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-state-focused td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-primary-200));color:rgba(var(--ax-sys-color-on-primary-tint))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-state-focused:hover td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-primary-300))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-state-selected td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-primary-300));color:rgba(var(--ax-sys-color-on-primary-tint))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-state-selected:hover td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-primary-400));color:rgba(var(--ax-sys-color-on-primary))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td{position:relative;min-width:2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom-width:1px;border-inline-end-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));background-color:rgba(var(--ax-sys-color-surface));padding:.5rem 1rem;vertical-align:middle}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-index-column{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background-color:rgba(var(--ax-sys-color-surface));text-align:center}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button.ax-state-disabled{position:relative!important;cursor:not-allowed!important;opacity:.5!important}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column>div{position:absolute;inset-inline-start:0px;top:50%;display:flex;width:100%;transform:translateY(-50%);align-items:center;justify-content:center}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button{position:relative;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:var(--ax-sys-border-radius);border-style:none;border-color:rgba(var(--ax-sys-color-border-lightest-surface));background-color:transparent;padding:.25rem;color:rgba(var(--ax-color-ghost-fore))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button:hover:not(ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button:hover.ax-state-selected,ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button:hover.ax-state-disabled){opacity:.75}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button:active{opacity:1}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button .ax-ripple{background-color:rgba(var(--ax-color-ghost-fore),.05)}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td:last-child{border-inline-end-width:0px}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td ax-skeleton{height:.875rem;width:33.333333%;border-radius:.375rem}ax-infinite-scroll-data-table .ax-table-footer{border-collapse:collapse;overflow:hidden;border-top-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));padding:.5rem .875rem}ax-infinite-scroll-data-table .ax-table-footer .ax-table-info{display:flex;flex:1 1 0%;align-items:center;justify-content:space-between}ax-infinite-scroll-data-table.ax-data-table-look-minimal .ax-header-content .ax-header-columns>table th{border-inline-end-width:0}ax-infinite-scroll-data-table.ax-data-table-look-minimal .ax-body-content .ax-body-columns table td{border-inline-end-width:0}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "directive", type: CdkVirtualScrollableElement, selector: "[cdkVirtualScrollingElement]" }, { kind: "component", type: CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "directive", type: CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: AXSkeletonComponent, selector: "ax-skeleton", inputs: ["animated"] }, { kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
2743
3136
|
}
|
|
2744
3137
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXInfiniteScrollDataTableComponent, decorators: [{
|
|
2745
3138
|
type: Component,
|
|
@@ -2752,7 +3145,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImpor
|
|
|
2752
3145
|
{ provide: AXComponent, useExisting: AXInfiniteScrollDataTableComponent },
|
|
2753
3146
|
], host: {
|
|
2754
3147
|
'[class.ax-data-table-look-minimal]': 'look() === "minimal"',
|
|
2755
|
-
}, outputs: ['selectedRowsChange'], inputs: ['dataSource'], imports: [
|
|
3148
|
+
}, outputs: ['selectedRowsChange'], inputs: ['dataSource', 'rowCssClass', 'cellCssClass', 'highlightText'], imports: [
|
|
3149
|
+
NgClass,
|
|
2756
3150
|
NgTemplateOutlet,
|
|
2757
3151
|
AXDecoratorIconComponent,
|
|
2758
3152
|
CdkVirtualScrollableElement,
|
|
@@ -2761,7 +3155,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImpor
|
|
|
2761
3155
|
CdkVirtualForOf,
|
|
2762
3156
|
AXSkeletonComponent,
|
|
2763
3157
|
AXButtonComponent,
|
|
2764
|
-
], template: "<ng-content select=\"ax-header\"> </ng-content>\n<!------------------- Header contents ------------------->\n@if (showHeader) {\n <div class=\"ax-header-content\">\n <div class=\"ax-header-columns\">\n <table tabindex=\"0\" [style.width]=\"width\" #headerContainer>\n <thead>\n <tr>\n @for (c of notFixedColumn(); track c.name) {\n <th\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [style.width]=\"c.width\"\n >\n <div class=\"ax-caption\">\n <ng-container [ngTemplateOutlet]=\"c.renderHeaderTemplate\"></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n <!-- @if(c.allowResizing)\n {\n <div class=\"ax-resize-handle\" [ax-table-column-resizble]=\"c\"></div>\n } -->\n </th>\n }\n <th></th>\n </tr>\n </thead>\n </table>\n </div>\n </div>\n}\n\n<!------------------- Body contents ------------------->\n<div [style.height]=\"height\" class=\"ax-body-content\">\n <div class=\"ax-body-columns\">\n <div cdkVirtualScrollingElement #scrolling [style.height]=\"'100%'\" (scroll)=\"_handleOnScroll()\">\n <cdk-virtual-scroll-viewport\n [itemSize]=\"itemHeight\"\n [style.--item-height]=\"itemHeight + 'px'\"\n (scrolledIndexChange)=\"_handleOnscrolledIndexChange($event)\"\n >\n <table tabindex=\"0\" class=\"ax-table-body ax-relative\" [style.width]=\"width\">\n <colgroup>\n @for (c of notFixedColumn(); track c.name) {\n <col [style.width]=\"c.width\" />\n }\n <col />\n </colgroup>\n <tbody>\n <ng-container\n *cdkVirtualFor=\"\n let item of listDataSource;\n templateCacheSize: 100;\n let i = index;\n trackBy: trackByIdx;\n let rIndex = index\n \"\n >\n <!------------------- custom row template------------------->\n @if (rowTemplate !== null) {\n <ng-container\n [ngTemplateOutlet]=\"rowTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: item, rowIndex: rIndex } }\"\n >\n </ng-container>\n } @else {\n <!------------------- normal row template------------------->\n <tr\n [class.ax-state-focused]=\"focusedRow && item === focusedRow\"\n [attr.data-index]=\"rIndex\"\n [class.ax-state-selected]=\"selectedRows.includes(item)\"\n (click)=\"handleRowClick($event, item)\"\n >\n <!------------------- start fixed column ------------------->\n\n <!------------------- Not fixed column ------------------->\n @for (c of notFixedColumn(); track c.name) {\n <td [attr.data-label]=\"c.caption\" tabindex=\"0\" [class]=\"c.cssClass\">\n @if (item && !isLoading()) {\n <!------------------- render cell ------------------->\n <ng-container\n [ngTemplateOutlet]=\"c.renderCellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: item, rowIndex: rIndex } }\"\n ></ng-container>\n } @else {\n <!------------------- render loading ------------------->\n @if (c.loadingEnabled && loading) {\n <ax-skeleton [animated]=\"loading.animation\"></ax-skeleton>\n }\n }\n </td>\n }\n <td></td>\n </tr>\n }\n </ng-container>\n </tbody>\n </table>\n </cdk-virtual-scroll-viewport>\n </div>\n </div>\n</div>\n<div class=\"ax-table-footer\" #footerContainer>\n <div class=\"ax-table-info\">\n <div>Showing {{ startRowIndex }} of {{ totalRows }} items</div>\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"refresh()\">\n <ax-icon icon=\"ax-icon ax-icon-refresh\"></ax-icon>\n </ax-button>\n </div>\n <ng-content select=\"ax-footer\"> </ng-content>\n</div>\n", styles: ["ax-infinite-scroll-data-table{display:block;height:100%;overflow:hidden;border-radius:var(--ax-sys-border-radius);border-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));font-size:.875rem;line-height:1.25rem}ax-infinite-scroll-data-table table{table-layout:fixed}ax-infinite-scroll-data-table .ax-header-content{position:relative;height:3rem;overflow:hidden}ax-infinite-scroll-data-table .ax-header-content .ax-header-fixed-columns{pointer-events:none;position:absolute;z-index:10}ax-infinite-scroll-data-table .ax-header-content .ax-header-fixed-columns th.ax-column-fixed{pointer-events:auto}ax-infinite-scroll-data-table .ax-header-content .ax-header-fixed-columns th:not(.ax-column-fixed){visibility:hidden;background-color:transparent}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns{height:100%}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table{height:100%;overflow:hidden;border-start-end-radius:var(--ax-sys-border-radius);border-start-start-radius:var(--ax-sys-border-radius)}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th{border-bottom-width:1px;border-inline-end-width:1px;border-style:solid;border-color:rgba(var(--ax-sys-color-border-lightest-surface));background-color:rgba(var(--ax-sys-color-surface));padding:.75rem 1rem;text-align:start;font-weight:500;text-transform:uppercase;position:relative}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th.ax-interactive{cursor:pointer}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th.ax-interactive:hover{background-color:rgba(var(--ax-sys-color-secondary-200))}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th .ax-resize-handle{position:absolute;right:0;top:0;bottom:0;width:4px;cursor:col-resize;background:transparent}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th .ax-resize-handle:hover{background-color:rgba(var(--ax-sys-color-secondary-300))}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th .ax-caption{display:flex;align-items:center;gap:.5rem}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th:last-child{border-inline-end-width:0px}ax-infinite-scroll-data-table .ax-body-content{position:relative}ax-infinite-scroll-data-table .ax-body-content .ax-body-fixed-columns{pointer-events:none;position:absolute;z-index:10}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns{height:100%}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table{border-collapse:collapse}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr:nth-child(2n) td{background-color:rgba(var(--ax-sys-color-surface))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr:nth-child(2n) ax-skeleton{width:25%}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr{height:2.5rem}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr:hover td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-primary-200))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-state-focused td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-primary-200));color:rgba(var(--ax-sys-color-on-primary-tint))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-state-focused:hover td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-primary-300))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-state-selected td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-primary-300));color:rgba(var(--ax-sys-color-on-primary-tint))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-state-selected:hover td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-primary-400));color:rgba(var(--ax-sys-color-on-primary))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td{position:relative;min-width:2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom-width:1px;border-inline-end-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));background-color:rgba(var(--ax-sys-color-surface));padding:.5rem 1rem;vertical-align:middle}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-index-column{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background-color:rgba(var(--ax-sys-color-surface));text-align:center}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button.ax-state-disabled{position:relative!important;cursor:not-allowed!important;opacity:.5!important}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column>div{position:absolute;inset-inline-start:0px;top:50%;display:flex;width:100%;transform:translateY(-50%);align-items:center;justify-content:center}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button{position:relative;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:var(--ax-sys-border-radius);border-style:none;border-color:rgba(var(--ax-sys-color-border-lightest-surface));background-color:transparent;padding:.25rem;color:rgba(var(--ax-color-ghost-fore))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button:hover:not(ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button:hover.ax-state-selected,ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button:hover.ax-state-disabled){opacity:.75}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button:active{opacity:1}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button .ax-ripple{background-color:rgba(var(--ax-color-ghost-fore),.05)}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td:last-child{border-inline-end-width:0px}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td ax-skeleton{height:.875rem;width:33.333333%;border-radius:.375rem}ax-infinite-scroll-data-table .ax-table-footer{border-collapse:collapse;overflow:hidden;border-top-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));padding:.5rem .875rem}ax-infinite-scroll-data-table .ax-table-footer .ax-table-info{display:flex;flex:1 1 0%;align-items:center;justify-content:space-between}ax-infinite-scroll-data-table.ax-data-table-look-minimal .ax-header-content .ax-header-columns>table th{border-inline-end-width:0}ax-infinite-scroll-data-table.ax-data-table-look-minimal .ax-body-content .ax-body-columns table td{border-inline-end-width:0}\n"] }]
|
|
3158
|
+
], template: "<ng-content select=\"ax-header\"> </ng-content>\n<!------------------- Header contents ------------------->\n@if (showHeader) {\n <div class=\"ax-header-content\">\n <div class=\"ax-header-columns\">\n <table tabindex=\"0\" [style.width]=\"width\" #headerContainer>\n <thead>\n <tr>\n @for (c of notFixedColumn(); track c.name) {\n <th\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [style.width]=\"c.width\"\n >\n <div class=\"ax-caption\">\n <ng-container [ngTemplateOutlet]=\"c.renderHeaderTemplate\"></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n <!-- @if(c.allowResizing)\n {\n <div class=\"ax-resize-handle\" [ax-table-column-resizble]=\"c\"></div>\n } -->\n </th>\n }\n <th></th>\n </tr>\n </thead>\n </table>\n </div>\n </div>\n}\n\n<!------------------- Body contents ------------------->\n<div [style.height]=\"height\" class=\"ax-body-content\">\n <div class=\"ax-body-columns\">\n <div cdkVirtualScrollingElement #scrolling [style.height]=\"'100%'\" (scroll)=\"_handleOnScroll()\">\n <cdk-virtual-scroll-viewport\n [itemSize]=\"itemHeight\"\n [style.--item-height]=\"itemHeight + 'px'\"\n (scrolledIndexChange)=\"_handleOnscrolledIndexChange($event)\"\n >\n <table tabindex=\"0\" class=\"ax-table-body ax-relative\" [style.width]=\"width\">\n <colgroup>\n @for (c of notFixedColumn(); track c.name) {\n <col [style.width]=\"c.width\" />\n }\n <col />\n </colgroup>\n <tbody>\n <ng-container\n *cdkVirtualFor=\"\n let item of listDataSource;\n templateCacheSize: 100;\n let i = index;\n trackBy: trackByIdx;\n let rIndex = index\n \"\n >\n <!------------------- custom row template------------------->\n @if (rowTemplate !== null) {\n <ng-container\n [ngTemplateOutlet]=\"rowTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: item, rowIndex: rIndex } }\"\n >\n </ng-container>\n } @else {\n <!------------------- normal row template------------------->\n <tr\n [class.ax-state-focused]=\"focusedRow && item === focusedRow\"\n [attr.data-index]=\"rIndex\"\n [class.ax-state-selected]=\"selectedRows.includes(item)\"\n [ngClass]=\"getRowCssClass(item, rIndex)\"\n (click)=\"handleRowClick($event, item)\"\n >\n <!------------------- start fixed column ------------------->\n\n <!------------------- Not fixed column ------------------->\n @for (c of notFixedColumn(); track c.name; let colIndex = $index) {\n <td [attr.data-label]=\"c.caption\" tabindex=\"0\" [class]=\"getCellCssClass(item, c, rIndex)\">\n @if (item && !isLoading()) {\n <!------------------- render cell ------------------->\n <ng-container\n [ngTemplateOutlet]=\"c.renderCellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: item, rowIndex: rIndex } }\"\n ></ng-container>\n } @else {\n <!------------------- render loading ------------------->\n @if (c.loadingEnabled && loading) {\n <ax-skeleton [animated]=\"loading.animation\"></ax-skeleton>\n }\n }\n </td>\n }\n <td></td>\n </tr>\n }\n </ng-container>\n </tbody>\n </table>\n </cdk-virtual-scroll-viewport>\n </div>\n </div>\n</div>\n<div class=\"ax-table-footer\" #footerContainer>\n <div class=\"ax-table-info\">\n <div>Showing {{ startRowIndex }} of {{ totalRows }} items</div>\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"refresh()\">\n <ax-icon icon=\"ax-icon ax-icon-refresh\"></ax-icon>\n </ax-button>\n </div>\n <ng-content select=\"ax-footer\"> </ng-content>\n</div>\n", styles: ["ax-infinite-scroll-data-table{display:block;height:100%;overflow:hidden;border-radius:var(--ax-sys-border-radius);border-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));font-size:.875rem;line-height:1.25rem}ax-infinite-scroll-data-table table{table-layout:fixed}ax-infinite-scroll-data-table .ax-header-content{position:relative;height:3rem;overflow:hidden}ax-infinite-scroll-data-table .ax-header-content .ax-header-fixed-columns{pointer-events:none;position:absolute;z-index:10}ax-infinite-scroll-data-table .ax-header-content .ax-header-fixed-columns th.ax-column-fixed{pointer-events:auto}ax-infinite-scroll-data-table .ax-header-content .ax-header-fixed-columns th:not(.ax-column-fixed){visibility:hidden;background-color:transparent}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns{height:100%}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table{height:100%;overflow:hidden;border-start-end-radius:var(--ax-sys-border-radius);border-start-start-radius:var(--ax-sys-border-radius)}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th{border-bottom-width:1px;border-inline-end-width:1px;border-style:solid;border-color:rgba(var(--ax-sys-color-border-lightest-surface));background-color:rgba(var(--ax-sys-color-surface));padding:.75rem 1rem;text-align:start;font-weight:500;text-transform:uppercase;position:relative}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th.ax-interactive{cursor:pointer}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th.ax-interactive:hover{background-color:rgba(var(--ax-sys-color-secondary-200))}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th .ax-resize-handle{position:absolute;right:0;top:0;bottom:0;width:4px;cursor:col-resize;background:transparent}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th .ax-resize-handle:hover{background-color:rgba(var(--ax-sys-color-secondary-300))}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th .ax-caption{display:flex;align-items:center;gap:.5rem}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th:last-child{border-inline-end-width:0px}ax-infinite-scroll-data-table .ax-body-content{position:relative}ax-infinite-scroll-data-table .ax-body-content .ax-body-fixed-columns{pointer-events:none;position:absolute;z-index:10}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns{height:100%}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table{border-collapse:collapse}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr:nth-child(2n) td{background-color:rgba(var(--ax-sys-color-surface))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr:nth-child(2n) ax-skeleton{width:25%}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr{height:2.5rem}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-primary td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-primary-lightest-surface));color:rgba(var(--ax-sys-color-on-primary-lightest-surface))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-primary:hover:not(.ax-state-selected) td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-primary-lighter-surface));color:rgba(var(--ax-sys-color-on-primary-lighter-surface))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-primary.ax-state-selected td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-primary-light-surface));color:rgba(var(--ax-sys-color-on-primary-light-surface))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-primary.ax-state-selected:hover td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-primary-surface));color:rgba(var(--ax-sys-color-on-primary-surface))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-secondary td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-secondary-lightest-surface));color:rgba(var(--ax-sys-color-on-secondary-lightest-surface))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-secondary:hover:not(.ax-state-selected) td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-secondary-lighter-surface));color:rgba(var(--ax-sys-color-on-secondary-lighter-surface))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-secondary.ax-state-selected td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-secondary-light-surface));color:rgba(var(--ax-sys-color-on-secondary-light-surface))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-secondary.ax-state-selected:hover td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-secondary-surface));color:rgba(var(--ax-sys-color-on-secondary-surface))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-success td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-success-lightest-surface));color:rgba(var(--ax-sys-color-on-success-lightest-surface))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-success:hover:not(.ax-state-selected) td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-success-lighter-surface));color:rgba(var(--ax-sys-color-on-success-lighter-surface))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-success.ax-state-selected td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-success-light-surface));color:rgba(var(--ax-sys-color-on-success-light-surface))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-success.ax-state-selected:hover td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-success-surface));color:rgba(var(--ax-sys-color-on-success-surface))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-warning td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-warning-lightest-surface));color:rgba(var(--ax-sys-color-on-warning-lightest-surface))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-warning:hover:not(.ax-state-selected) td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-warning-lighter-surface));color:rgba(var(--ax-sys-color-on-warning-lighter-surface))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-warning.ax-state-selected td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-warning-light-surface));color:rgba(var(--ax-sys-color-on-warning-light-surface))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-warning.ax-state-selected:hover td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-warning-surface));color:rgba(var(--ax-sys-color-on-warning-surface))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-danger td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-danger-lightest-surface));color:rgba(var(--ax-sys-color-on-danger-lightest-surface))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-danger:hover:not(.ax-state-selected) td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-danger-lighter-surface));color:rgba(var(--ax-sys-color-on-danger-lighter-surface))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-danger.ax-state-selected td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-danger-light-surface));color:rgba(var(--ax-sys-color-on-danger-light-surface))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-danger.ax-state-selected:hover td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-danger-surface));color:rgba(var(--ax-sys-color-on-danger-surface))}@keyframes ax-data-table-row-primary-pulse{0%,to{background-color:rgba(var(--ax-sys-color-primary-lightest-surface))}50%{background-color:rgba(var(--ax-sys-color-primary-lighter-surface))}}@keyframes ax-data-table-row-secondary-pulse{0%,to{background-color:rgba(var(--ax-sys-color-secondary-lightest-surface))}50%{background-color:rgba(var(--ax-sys-color-secondary-lighter-surface))}}@keyframes ax-data-table-row-success-pulse{0%,to{background-color:rgba(var(--ax-sys-color-success-lightest-surface))}50%{background-color:rgba(var(--ax-sys-color-success-lighter-surface))}}@keyframes ax-data-table-row-warning-pulse{0%,to{background-color:rgba(var(--ax-sys-color-warning-lightest-surface))}50%{background-color:rgba(var(--ax-sys-color-warning-lighter-surface))}}@keyframes ax-data-table-row-danger-pulse{0%,to{background-color:rgba(var(--ax-sys-color-danger-lightest-surface))}50%{background-color:rgba(var(--ax-sys-color-danger-lighter-surface))}}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-primary.ax-row-color-pulse td:not(.ax-index-column){animation:ax-data-table-row-primary-pulse 1.2s ease-in-out infinite}@media screen and (min-width: 768px){ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-primary.ax-row-color-pulse td.ax-data-table-sticky-body-cell:not(.ax-index-column){animation:ax-data-table-row-primary-pulse 1.2s ease-in-out infinite}}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-secondary.ax-row-color-pulse td:not(.ax-index-column){animation:ax-data-table-row-secondary-pulse 1.2s ease-in-out infinite}@media screen and (min-width: 768px){ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-secondary.ax-row-color-pulse td.ax-data-table-sticky-body-cell:not(.ax-index-column){animation:ax-data-table-row-secondary-pulse 1.2s ease-in-out infinite}}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-success.ax-row-color-pulse td:not(.ax-index-column){animation:ax-data-table-row-success-pulse 1.2s ease-in-out infinite}@media screen and (min-width: 768px){ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-success.ax-row-color-pulse td.ax-data-table-sticky-body-cell:not(.ax-index-column){animation:ax-data-table-row-success-pulse 1.2s ease-in-out infinite}}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-warning.ax-row-color-pulse td:not(.ax-index-column){animation:ax-data-table-row-warning-pulse 1.2s ease-in-out infinite}@media screen and (min-width: 768px){ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-warning.ax-row-color-pulse td.ax-data-table-sticky-body-cell:not(.ax-index-column){animation:ax-data-table-row-warning-pulse 1.2s ease-in-out infinite}}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-danger.ax-row-color-pulse td:not(.ax-index-column){animation:ax-data-table-row-danger-pulse 1.2s ease-in-out infinite}@media screen and (min-width: 768px){ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-row-color-danger.ax-row-color-pulse td.ax-data-table-sticky-body-cell:not(.ax-index-column){animation:ax-data-table-row-danger-pulse 1.2s ease-in-out infinite}}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr:hover td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-primary-200))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-state-focused td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-primary-200));color:rgba(var(--ax-sys-color-on-primary-tint))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-state-focused:hover td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-primary-300))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-state-selected td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-primary-300));color:rgba(var(--ax-sys-color-on-primary-tint))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-state-selected:hover td:not(.ax-index-column){background-color:rgba(var(--ax-sys-color-primary-400));color:rgba(var(--ax-sys-color-on-primary))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td{position:relative;min-width:2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom-width:1px;border-inline-end-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));background-color:rgba(var(--ax-sys-color-surface));padding:.5rem 1rem;vertical-align:middle}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-index-column{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background-color:rgba(var(--ax-sys-color-surface));text-align:center}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button.ax-state-disabled{position:relative!important;cursor:not-allowed!important;opacity:.5!important}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column>div{position:absolute;inset-inline-start:0px;top:50%;display:flex;width:100%;transform:translateY(-50%);align-items:center;justify-content:center}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button{position:relative;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:var(--ax-sys-border-radius);border-style:none;border-color:rgba(var(--ax-sys-color-border-lightest-surface));background-color:transparent;padding:.25rem;color:rgba(var(--ax-color-ghost-fore))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button:hover:not(ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button:hover.ax-state-selected,ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button:hover.ax-state-disabled){opacity:.75}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button:active{opacity:1}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button .ax-ripple{background-color:rgba(var(--ax-color-ghost-fore),.05)}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td:last-child{border-inline-end-width:0px}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td ax-skeleton{height:.875rem;width:33.333333%;border-radius:.375rem}ax-infinite-scroll-data-table .ax-table-footer{border-collapse:collapse;overflow:hidden;border-top-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface));padding:.5rem .875rem}ax-infinite-scroll-data-table .ax-table-footer .ax-table-info{display:flex;flex:1 1 0%;align-items:center;justify-content:space-between}ax-infinite-scroll-data-table.ax-data-table-look-minimal .ax-header-content .ax-header-columns>table th{border-inline-end-width:0}ax-infinite-scroll-data-table.ax-data-table-look-minimal .ax-body-content .ax-body-columns table td{border-inline-end-width:0}\n"] }]
|
|
2765
3159
|
}], propDecorators: { columns: [{
|
|
2766
3160
|
type: ContentChildren,
|
|
2767
3161
|
args: [AXDataTableColumnComponent]
|
|
@@ -2881,6 +3275,7 @@ class AXDataTableModule {
|
|
|
2881
3275
|
AXFormatModule,
|
|
2882
3276
|
AXDataPagerModule, AXInfiniteScrollDataTableComponent,
|
|
2883
3277
|
AXDataTableComponent,
|
|
3278
|
+
AXRowIndexColumnComponent,
|
|
2884
3279
|
AXRowSelectColumnComponent,
|
|
2885
3280
|
AXRowCommandColumnComponent,
|
|
2886
3281
|
AXRowDropdownCommandColumnComponent] }); }
|
|
@@ -2898,5 +3293,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImpor
|
|
|
2898
3293
|
* Generated bundle index. Do not edit.
|
|
2899
3294
|
*/
|
|
2900
3295
|
|
|
2901
|
-
export { AXBaseDataTable, AXBaseRowCommandColumnComponent, AXDataTableColumnComponent, AXDataTableColumnResizableDirective, AXDataTableComponent, AXDataTableModule, AXDataTableTextColumnComponent, AXInfiniteScrollDataTableComponent, AXRowCommandColumnComponent, AXRowDropdownCommandColumnComponent, AXRowExpandColumnComponent, AXRowIndexColumnComponent, AXRowSelectColumnComponent };
|
|
3296
|
+
export { AXBaseDataTable, AXBaseRowCommandColumnComponent, AXDataTableColumnComponent, AXDataTableColumnResizableDirective, AXDataTableComponent, AXDataTableModule, AXDataTableTextColumnComponent, AXInfiniteScrollDataTableComponent, AXRowCommandColumnComponent, AXRowDropdownCommandColumnComponent, AXRowExpandColumnComponent, AXRowIndexColumnComponent, AXRowSelectColumnComponent, AX_DATA_TABLE_ROW_COLOR_TYPES, AX_DATA_TABLE_ROW_HIGHLIGHT_DEFAULT_BADGE };
|
|
2902
3297
|
//# sourceMappingURL=acorex-components-data-table.mjs.map
|