@acorex/components 7.12.0 → 7.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/button/lib/button-item-list.component.d.ts +1 -1
- package/button/lib/button-item.component.d.ts +1 -1
- package/common/lib/classes/datalist.class.d.ts +3 -3
- package/data-table/index.d.ts +1 -2
- package/data-table/lib/columns/data-table-column.d.ts +2 -2
- package/data-table/lib/columns/data-text-column.component.d.ts +2 -2
- package/data-table/lib/columns/row-command-column.component.d.ts +5 -5
- package/data-table/lib/columns/row-index-column.component.d.ts +2 -2
- package/data-table/lib/columns/row-select-column.component.d.ts +2 -2
- package/data-table/lib/data-table.component.d.ts +6 -2
- package/datetime-box/lib/datetime-box.component.d.ts +2 -2
- package/esm2022/button/lib/button-item-list.component.mjs +30 -18
- package/esm2022/button/lib/button-item.component.mjs +2 -2
- package/esm2022/calendar/lib/calendar.class.mjs +1 -1
- package/esm2022/color-box/lib/color-box.module.mjs +1 -1
- package/esm2022/common/index.mjs +1 -1
- package/esm2022/common/lib/classes/datalist.class.mjs +3 -3
- package/esm2022/common/lib/classes/datasource.class.mjs +1 -1
- package/esm2022/common/lib/classes/events.class.mjs +1 -1
- package/esm2022/data-table/index.mjs +2 -3
- package/esm2022/data-table/lib/columns/data-table-column.mjs +2 -2
- package/esm2022/data-table/lib/columns/data-text-column.component.mjs +11 -13
- package/esm2022/data-table/lib/columns/row-command-column.component.mjs +83 -73
- package/esm2022/data-table/lib/columns/row-index-column.component.mjs +14 -18
- package/esm2022/data-table/lib/columns/row-select-column.component.mjs +23 -25
- package/esm2022/data-table/lib/data-table.component.mjs +47 -34
- package/esm2022/data-table/lib/data-table.module.mjs +11 -11
- package/esm2022/datetime-box/lib/datetime-box.component.mjs +5 -5
- package/esm2022/drawer/lib/drawer-container.component.mjs +1 -1
- package/esm2022/drawer/lib/drawer.component.mjs +2 -2
- package/esm2022/dropdown/lib/dropdown-panel.component.mjs +6 -6
- package/esm2022/list/lib/list.component.mjs +4 -8
- package/esm2022/list/lib/list.module.mjs +2 -2
- package/esm2022/otp/lib/otp.component.mjs +4 -4
- package/esm2022/otp/lib/otp.module.mjs +2 -2
- package/esm2022/popup/lib/popup.interface.mjs +1 -1
- package/esm2022/popup/lib/popup.service.mjs +2 -2
- package/esm2022/select-box/index.mjs +1 -2
- package/esm2022/select-box/lib/select-box.module.mjs +1 -1
- package/esm2022/side-menu/lib/side-menu.component.mjs +2 -2
- package/esm2022/text-area/lib/text-area.component.mjs +7 -4
- package/esm2022/text-box/lib/text-box.component.mjs +5 -4
- package/fesm2022/acorex-components-button.mjs +28 -16
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/acorex-components-calendar.mjs.map +1 -1
- package/fesm2022/acorex-components-color-box.mjs.map +1 -1
- package/fesm2022/acorex-components-common.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +244 -229
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-box.mjs +4 -4
- package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
- package/fesm2022/acorex-components-drawer.mjs +1 -1
- package/fesm2022/acorex-components-drawer.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown.mjs +4 -4
- package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
- package/fesm2022/acorex-components-list.mjs +2 -6
- package/fesm2022/acorex-components-list.mjs.map +1 -1
- package/fesm2022/acorex-components-otp.mjs +3 -3
- package/fesm2022/acorex-components-otp.mjs.map +1 -1
- package/fesm2022/acorex-components-popup.mjs +1 -1
- package/fesm2022/acorex-components-popup.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-side-menu.mjs +2 -2
- package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-text-area.mjs +7 -4
- package/fesm2022/acorex-components-text-area.mjs.map +1 -1
- package/fesm2022/acorex-components-text-box.mjs +5 -4
- package/fesm2022/acorex-components-text-box.mjs.map +1 -1
- package/list/lib/list.component.d.ts +1 -1
- package/otp/lib/otp.component.d.ts +2 -2
- package/package.json +7 -7
- package/select-box/index.d.ts +0 -1
- package/text-area/lib/text-area.component.d.ts +2 -1
@@ -20,11 +20,11 @@ import * as i6 from '@acorex/components/button';
|
|
20
20
|
import { AXButtonModule } from '@acorex/components/button';
|
21
21
|
import * as i7 from '@acorex/core/translation';
|
22
22
|
import { AXTranslationModule } from '@acorex/core/translation';
|
23
|
-
import { AXUnsubscriber } from '@acorex/core/utils';
|
24
23
|
import * as i2$1 from '@acorex/components/loading';
|
25
24
|
import { AXLoadingModule } from '@acorex/components/loading';
|
26
25
|
import * as i5$1 from '@acorex/components/dropdown';
|
27
26
|
import { AXDropdownModule } from '@acorex/components/dropdown';
|
27
|
+
import { AXUnsubscriber } from '@acorex/core/utils';
|
28
28
|
|
29
29
|
class AXDataTableColumnComponent {
|
30
30
|
constructor() {
|
@@ -76,10 +76,9 @@ class AXDataTableTextColumnComponent extends AXDataTableColumnComponent {
|
|
76
76
|
return !this.format ? value : this.formatService.format(value, this.format, ...options);
|
77
77
|
}
|
78
78
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXDataTableTextColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
79
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: AXDataTableTextColumnComponent, selector: "ax-text-column", inputs: { width: "width", caption: "caption", headerTemplate: "headerTemplate", cellTemplate: "cellTemplate", allowSorting: "allowSorting", fixed: "fixed", dataField: "dataField", format: "format", formatOptions: "formatOptions" }, providers: [{ provide: AXDataTableColumnComponent, useExisting: AXDataTableTextColumnComponent }], viewQueries: [{ propertyName: "_template", first: true, predicate: TemplateRef, descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
80
|
-
|
81
|
-
|
82
|
-
</ng-template>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
79
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: AXDataTableTextColumnComponent, selector: "ax-text-column", inputs: { width: "width", caption: "caption", headerTemplate: "headerTemplate", cellTemplate: "cellTemplate", allowSorting: "allowSorting", fixed: "fixed", dataField: "dataField", format: "format", formatOptions: "formatOptions" }, providers: [{ provide: AXDataTableColumnComponent, useExisting: AXDataTableTextColumnComponent }], viewQueries: [{ propertyName: "_template", first: true, predicate: TemplateRef, descendants: true }], usesInheritance: true, ngImport: i0, template: ` <ng-template let-row>
|
80
|
+
{{ getDisplayText(row.data, this.dataField) }}
|
81
|
+
</ng-template>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
83
82
|
}
|
84
83
|
__decorate([
|
85
84
|
Memorize(),
|
@@ -91,10 +90,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
|
|
91
90
|
type: Component,
|
92
91
|
args: [{
|
93
92
|
selector: 'ax-text-column',
|
94
|
-
template: `
|
95
|
-
|
96
|
-
|
97
|
-
</ng-template>`,
|
93
|
+
template: ` <ng-template let-row>
|
94
|
+
{{ getDisplayText(row.data, this.dataField) }}
|
95
|
+
</ng-template>`,
|
98
96
|
encapsulation: ViewEncapsulation.None,
|
99
97
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
100
98
|
providers: [{ provide: AXDataTableColumnComponent, useExisting: AXDataTableTextColumnComponent }],
|
@@ -129,24 +127,24 @@ class AXDataTableComponent extends MXBaseComponent {
|
|
129
127
|
this.selectedRowsChange = new EventEmitter();
|
130
128
|
this._selectedRows = [];
|
131
129
|
this.itemHeight = 40;
|
132
|
-
this.width =
|
133
|
-
this.height =
|
130
|
+
this.width = '100%';
|
131
|
+
this.height = '100%';
|
134
132
|
this.onScrolledIndexChanged = new EventEmitter();
|
135
133
|
}
|
136
134
|
startFixedColumn() {
|
137
|
-
return this.columns?.toArray().filter(c => c.fixed == 'start') ?? [];
|
135
|
+
return this.columns?.toArray().filter((c) => c.fixed == 'start') ?? [];
|
138
136
|
}
|
139
137
|
endFixedColumn() {
|
140
|
-
return this.columns?.toArray().filter(c => c.fixed == 'end') ?? [];
|
138
|
+
return this.columns?.toArray().filter((c) => c.fixed == 'end') ?? [];
|
141
139
|
}
|
142
140
|
notFixedColumn() {
|
143
|
-
return this.columns?.toArray().filter(c => !c.fixed) ?? [];
|
141
|
+
return this.columns?.toArray().filter((c) => !c.fixed) ?? [];
|
144
142
|
}
|
145
143
|
notFixedColumnCount() {
|
146
|
-
return this.columns?.toArray().filter(c => !c.fixed).length ?? 0;
|
144
|
+
return this.columns?.toArray().filter((c) => !c.fixed).length ?? 0;
|
147
145
|
}
|
148
146
|
fixedColumnCount() {
|
149
|
-
return this.columns?.toArray().filter(c => c.fixed).length ?? 0;
|
147
|
+
return this.columns?.toArray().filter((c) => c.fixed).length ?? 0;
|
150
148
|
}
|
151
149
|
get focusedRow() {
|
152
150
|
return this._focusedRow;
|
@@ -166,7 +164,7 @@ class AXDataTableComponent extends MXBaseComponent {
|
|
166
164
|
this.selectedRows = [...this.selectedRows, ...rows];
|
167
165
|
}
|
168
166
|
unSelectRows(...rows) {
|
169
|
-
this.selectedRows = this.selectedRows.filter(c => !rows.includes(c));
|
167
|
+
this.selectedRows = this.selectedRows.filter((c) => !rows.includes(c));
|
170
168
|
}
|
171
169
|
trackByIdx(i) {
|
172
170
|
return i;
|
@@ -176,14 +174,10 @@ class AXDataTableComponent extends MXBaseComponent {
|
|
176
174
|
this.listDataSource = new AXListDataSource({
|
177
175
|
source: this.dataSource,
|
178
176
|
});
|
179
|
-
this.listDataSource.source
|
180
|
-
.onLoadingChanged
|
181
|
-
.subscribe((data) => {
|
177
|
+
this.listDataSource.source.onLoadingChanged.subscribe((data) => {
|
182
178
|
this.isLoading = data;
|
183
179
|
});
|
184
|
-
this.listDataSource.source
|
185
|
-
.onChanged
|
186
|
-
.subscribe((data) => {
|
180
|
+
this.listDataSource.source.onChanged.subscribe((data) => {
|
187
181
|
this.totalRows = data.totalCount;
|
188
182
|
this.hasItems = data.totalCount > 0;
|
189
183
|
setTimeout(() => {
|
@@ -201,27 +195,44 @@ class AXDataTableComponent extends MXBaseComponent {
|
|
201
195
|
}
|
202
196
|
ngDoCheck() {
|
203
197
|
//this.copyFixedColumns();
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
}
|
213
|
-
this.height = `calc(100% - ${((this.headerContainer?.nativeElement.clientHeight ?? 0) + (this.footerContainer?.nativeElement.clientHeight ?? 0))}px)`;
|
198
|
+
this.updateHScroll();
|
199
|
+
//
|
200
|
+
this.updateWidth();
|
201
|
+
this.updateHeight();
|
202
|
+
//
|
203
|
+
this.updateTotalCount();
|
204
|
+
}
|
205
|
+
updateTotalCount() {
|
214
206
|
this.startRowIndex = this.lastIndex;
|
215
207
|
if (this.startRowIndex < 1)
|
216
208
|
this.startRowIndex = 1;
|
217
209
|
if (this.startRowIndex > this.totalRows)
|
218
210
|
this.startRowIndex = this.totalRows;
|
219
211
|
}
|
212
|
+
updateHeight() {
|
213
|
+
this.height = `calc(100% - ${(this.headerContainer?.nativeElement.clientHeight ?? 0) +
|
214
|
+
(this.footerContainer?.nativeElement.clientHeight ?? 0)}px)`;
|
215
|
+
}
|
216
|
+
updateWidth() {
|
217
|
+
if (this.columns && this.columns.length) {
|
218
|
+
const sumPx = sum(this.columns
|
219
|
+
.toArray()
|
220
|
+
.map((c) => (typeof c.width == 'number' ? c.width : Number(c.width.replace('px', '')))));
|
221
|
+
this.width = `${Math.max(sumPx, this.getHostElement().clientWidth - 5)}px`;
|
222
|
+
}
|
223
|
+
}
|
224
|
+
updateHScroll() {
|
225
|
+
if (this.headerContainer) {
|
226
|
+
const headerContainer = this.headerContainer.nativeElement;
|
227
|
+
const left = this.getHostElement().querySelector('.cdk-virtual-scrollable').scrollLeft;
|
228
|
+
headerContainer.style.transform = `translateX(${-left}px)`;
|
229
|
+
}
|
230
|
+
}
|
220
231
|
// Function to copy fixed columns
|
221
232
|
copyFixedColumns() {
|
222
233
|
const originalRows = Array.from(this.viewport._contentWrapper.nativeElement.querySelectorAll('tr'));
|
223
234
|
const fixedColumnTable = this.getHostElement().querySelector('.ax-body-fixed-columns > table > tbody');
|
224
|
-
fixedColumnTable.querySelectorAll('tr').forEach(n => n.remove());
|
235
|
+
fixedColumnTable.querySelectorAll('tr').forEach((n) => n.remove());
|
225
236
|
for (const row of originalRows) {
|
226
237
|
const fixedCells = Array.from(row.querySelectorAll('[data-fixed="start"]'));
|
227
238
|
const fixedRow = document.createElement('tr');
|
@@ -253,7 +264,7 @@ class AXDataTableComponent extends MXBaseComponent {
|
|
253
264
|
}
|
254
265
|
handleColumnClick(e, column) {
|
255
266
|
if (column instanceof AXDataTableTextColumnComponent) {
|
256
|
-
const sort = this.dataSource.query.sort.find(c => c.field == column.dataField);
|
267
|
+
const sort = this.dataSource.query.sort.find((c) => c.field == column.dataField);
|
257
268
|
if (!sort) {
|
258
269
|
this.dataSource.query.sort.push({ field: column.dataField, dir: 'asc' });
|
259
270
|
}
|
@@ -262,7 +273,7 @@ class AXDataTableComponent extends MXBaseComponent {
|
|
262
273
|
sort.dir = 'desc';
|
263
274
|
}
|
264
275
|
else {
|
265
|
-
this.dataSource.query.sort = this.dataSource.query.sort.filter(c => c != sort);
|
276
|
+
this.dataSource.query.sort = this.dataSource.query.sort.filter((c) => c != sort);
|
266
277
|
}
|
267
278
|
}
|
268
279
|
this.refresh();
|
@@ -270,20 +281,20 @@ class AXDataTableComponent extends MXBaseComponent {
|
|
270
281
|
}
|
271
282
|
getSort(column) {
|
272
283
|
if (column instanceof AXDataTableTextColumnComponent) {
|
273
|
-
const sort = this.dataSource.query.sort.find(c => c.field == column.dataField);
|
284
|
+
const sort = this.dataSource.query.sort.find((c) => c.field == column.dataField);
|
274
285
|
return sort ? (sort.dir == 'asc' ? 'ax-icon-arrow-long-down' : 'ax-icon-arrow-long-up') : undefined;
|
275
286
|
}
|
276
287
|
return undefined;
|
277
288
|
}
|
278
|
-
|
279
|
-
|
289
|
+
_handleOnScroll(e) {
|
290
|
+
this.updateHScroll();
|
280
291
|
}
|
281
292
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXDataTableComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
282
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: AXDataTableComponent, selector: "ax-data-table", inputs: { rowTemplate: "rowTemplate", emptyTemplate: "emptyTemplate", loadingTemplate: "loadingTemplate", showHeader: "showHeader", fetchDataMode: "fetchDataMode", dataSource: "dataSource", focusedRow: "focusedRow", selectedRows: "selectedRows", itemHeight: "itemHeight" }, outputs: { onPageChanged: "onPageChanged", focusedRowChange: "focusedRowChange", selectedRowsChange: "selectedRowsChange", onScrolledIndexChanged: "onScrolledIndexChanged" }, providers: [{ provide: AXPagedComponent, useExisting: AXDataTableComponent }], 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 }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-header\">\n</ng-content>\n<!------------------- Header contents ------------------->\n<div class=\"ax-header-content\" *ngIf=\"showHeader\">\n <div class=\"ax-header-columns ax-header-fixed-columns\" *ngIf=\"false\">\n <table tabindex=\"0\" [style.width]=\"width\">\n <colgroup>\n <!------------------- start fixed column ------------------->\n <col *ngFor=\"let c of startFixedColumn()\" [style.width]=\"c.width\">\n <!------------------- not fixed column ------------------->\n <col *ngFor=\"let c of notFixedColumn()\" [style.width]=\"c.width\">\n <col style=\"width: 10px;\">\n </colgroup>\n <thead>\n <tr>\n <!------------------- start fixed column ------------------->\n <th *ngFor=\"let c of startFixedColumn()\" [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event,c) : null\" class=\"ax-column-fixed\">\n <ng-template [ngIf]=\"c.headerTemplate\" [ngIfElse]=\"captionTpl\">\n <ng-container *ngTemplateOutlet=\"c.headerTemplate\"></ng-container>\n </ng-template>\n <ng-template #captionTpl>\n <div class=\"ax-caption\">\n {{c.caption }}\n <ax-icon *ngIf=\"getSort(c)\" icon=\"ax-icon {{getSort(c)}}\"></ax-icon>\n </div>\n </ng-template>\n </th>\n <!------------------- not fixed column ------------------->\n <th [attr.colspan]=\"notFixedColumnCount()\">\n\n </th>\n </tr>\n </thead>\n </table>\n </div>\n <div class=\"ax-header-columns\">\n <table tabindex=\"0\" [style.width]=\"width\" #headerContainer>\n <colgroup>\n <col *ngFor=\"let c of startFixedColumn()\" [style.width]=\"c.width\">\n <col *ngFor=\"let c of notFixedColumn()\" [style.width]=\"c.width\">\n <col style=\"width: auto;\">\n </colgroup>\n <thead>\n <tr>\n <th *ngFor=\"let c of startFixedColumn()\">\n </th>\n <th *ngFor=\"let c of notFixedColumn()\" [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event,c) : null\">\n <ng-template [ngIf]=\"c.headerTemplate\" [ngIfElse]=\"captionTpl\">\n <ng-container *ngTemplateOutlet=\"c.headerTemplate\"></ng-container>\n </ng-template>\n <ng-template #captionTpl>\n <div class=\"ax-caption\">\n {{c.caption}}\n <ax-icon *ngIf=\"getSort(c)\" icon=\"ax-icon {{getSort(c)}}\"></ax-icon>\n </div>\n </ng-template>\n </th>\n <th></th>\n </tr>\n </thead>\n </table>\n </div>\n</div>\n<!------------------- Body contents ------------------->\n<div [style.height]=\"height\" class=\"ax-body-content\">\n <div class=\"ax-body-columns ax-body-fixed-columns\" *ngIf=\"false\">\n <table tabindex=\"0\" class=\"ax-table-body\" [style.width]=\"width\">\n <colgroup>\n <!------------------- start fixed column ------------------->\n <col *ngFor=\"let c of startFixedColumn()\" [style.width]=\"c.width\">\n <!------------------- not fixed column ------------------->\n <col *ngFor=\"let c of notFixedColumn()\" [style.width]=\"c.width\">\n <col>\n </colgroup>\n <tbody>\n </tbody>\n </table>\n </div>\n <div class=\"ax-body-columns\">\n <div cdkVirtualScrollingElement [style.height]=\"'100%'\">\n <cdk-virtual-scroll-viewport [itemSize]=\"itemHeight\" [style.--item-height]=\"itemHeight+'px'\"\n (scrolledIndexChange)=\"_handleOnscrolledIndexChange($event)\">\n <table tabindex=\"0\" class=\"ax-table-body\" [style.width]=\"width\">\n <colgroup>\n <!------------------- start fixed column ------------------->\n <col *ngFor=\"let c of startFixedColumn()\" [style.width]=\"c.width\">\n <!------------------- not fixed column ------------------->\n <col *ngFor=\"let c of notFixedColumn()\" [style.width]=\"c.width\">\n <col>\n </colgroup>\n <tbody>\n <ng-container\n *cdkVirtualFor=\"let item of listDataSource; let i = index; trackBy: trackByIdx;let rIndex=index;\"\n (viewChange)=\"onViewChange($event)\">\n <ng-template [ngIf]=\"rowTemplate\" [ngIfElse]=\"rowTpl\">\n <ng-container *ngTemplateOutlet=\"rowTemplate;context: { $implicit: {data:item,rowIndex:rIndex} }\">\n </ng-container>\n </ng-template>\n <ng-template #rowTpl>\n <tr [class.ax-state-focused]=\"focusedRow && item===focusedRow\" [attr.data-index]=\"rIndex\"\n [class.ax-state-selected]=\"selectedRows.includes(item)\" (click)=\"handleRowClick($event,item)\">\n <!------------------- start fixed column ------------------->\n <ng-container *ngFor=\"let c of startFixedColumn()\">\n <ng-template [ngIf]=\"c.cellTemplate\" [ngIfElse]=\"cellTpl\">\n <div class=\"ax-content\">\n <ng-container\n *ngTemplateOutlet=\"c.cellTemplate;context: { $implicit: {data:item,rowIndex:rIndex} }\">\n </ng-container>\n </div>\n </ng-template>\n <ng-template #cellTpl>\n <td [attr.data-label]=\"c.caption\" tabindex=\"0\" [class]=\"c.cssClass\" [attr.data-fixed]=\"c.fixed\"\n class=\"ax-column-fixed\">\n <div class=\"ax-content\">\n <ng-container *ngIf=\"item || !c.skeleton;else loadingTpl\">\n <ng-container\n *ngTemplateOutlet=\"c.template; context: { $implicit: {data:item,rowIndex:rIndex} }\"></ng-container>\n </ng-container>\n </div>\n </td>\n </ng-template>\n </ng-container>\n <!------------------- Not fixed column ------------------->\n <ng-container *ngFor=\"let c of notFixedColumn()\">\n <ng-template [ngIf]=\"c.cellTemplate\" [ngIfElse]=\"cellTpl\">\n <div class=\"ax-content\">\n <ng-container\n *ngTemplateOutlet=\"c.cellTemplate;context: { $implicit: {data:item,rowIndex:rIndex} }\">\n </ng-container>\n </div>\n </ng-template>\n <ng-template #cellTpl>\n <td [attr.data-label]=\"c.caption\" tabindex=\"0\" [class]=\"c.cssClass\">\n <div class=\"ax-content\">\n <ng-container *ngIf=\"item || !c.skeleton;else loadingTpl\">\n <ng-container\n *ngTemplateOutlet=\"c.template; context: { $implicit: {data:item,rowIndex:rIndex} }\"></ng-container>\n </ng-container>\n </div>\n </td>\n </ng-template>\n </ng-container>\n <td></td>\n </tr>\n </ng-template>\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>\n Showing {{startRowIndex}} of {{totalRows}} items\n </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\">\n </ng-content>\n</div>\n\n<!-- Loading Template -->\n<ng-template #loadingTpl>\n <!-- Custom Loading Template -->\n <ng-container *ngIf=\"loadingTemplate;else defaultLoadingTpl\">\n <ng-container *ngTemplateOutlet=\"loadingTemplate\">\n </ng-container>\n </ng-container>\n <!-- Default Loading Template -->\n <ng-template #defaultLoadingTpl>\n <ax-skeleton [animated]=\"true\"></ax-skeleton>\n </ng-template>\n</ng-template>\n<!-- Empty Template -->\n<ng-template #emptyTpl>\n <tr>\n <td [attr.colspan]=\"columns.length\">\n <ng-template [ngIf]=\"emptyTemplate\" [ngIfElse]=\"defaultEmptyTemplate\">\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\n </ng-template>\n <ng-template #defaultEmptyTemplate>\n <ax-result type=\"empty\" caption=\" {{'common.no-result-found' | trans }}\"></ax-result>\n </ng-template>\n </td>\n </tr>\n</ng-template>", styles: [".ax-dark ax-data-table .ax-header-content th.ax-interactive:hover{--tw-bg-opacity: 1 !important;background-color:rgba(var(--ax-color-neutral),var(--tw-bg-opacity))!important}.ax-dark ax-data-table .ax-body-content tr:hover td:not(.ax-index-column){--tw-bg-opacity: 1 !important;background-color:color-mix(in srgb,rgba(var(--ax-color-primary),var(--tw-bg-opacity)),black 50%)!important;--tw-text-opacity: 1 !important;color:rgba(var(--ax-color-primary-fore),var(--tw-text-opacity))!important}.ax-dark ax-data-table .ax-body-content tr.ax-state-focused td:not(.ax-index-column){--tw-bg-opacity: 1 !important;background-color:color-mix(in srgb,rgba(var(--ax-color-primary),var(--tw-bg-opacity)),black 70%)!important;--tw-text-opacity: 1 !important;color:rgba(var(--ax-color-primary-fore),var(--tw-text-opacity))!important}.ax-dark ax-data-table .ax-body-content tr.ax-state-focused:hover td:not(.ax-index-column){--tw-bg-opacity: 1 !important;background-color:color-mix(in srgb,rgba(var(--ax-color-primary),var(--tw-bg-opacity)),black 50%)!important}.ax-dark ax-data-table .ax-body-content tr.ax-state-selected td:not(.ax-index-column){--tw-bg-opacity: 1 !important;background-color:color-mix(in srgb,rgba(var(--ax-color-primary),var(--tw-bg-opacity)),black 90%)!important;--tw-text-opacity: 1 !important;color:rgba(var(--ax-color-primary-fore),var(--tw-text-opacity))!important}.ax-dark ax-data-table .ax-body-content tr.ax-state-selected:hover td:not(.ax-index-column){--tw-bg-opacity: 1 !important;background-color:color-mix(in srgb,rgba(var(--ax-color-primary),var(--tw-bg-opacity)),black 50%)!important}ax-data-table{height:100%;overflow:hidden;border-radius:var(--ax-rounded-border-default);border-width:1px;border-color:rgba(var(--ax-color-border-default));font-size:.875rem;line-height:1.25rem}ax-data-table table{table-layout:fixed}ax-data-table .ax-header-content{position:relative;height:3rem;overflow:hidden}ax-data-table .ax-header-content .ax-header-fixed-columns{pointer-events:none;position:absolute;z-index:10}ax-data-table .ax-header-content .ax-header-fixed-columns th.ax-column-fixed{pointer-events:auto}ax-data-table .ax-header-content .ax-header-fixed-columns th:not(.ax-column-fixed){visibility:hidden;background-color:transparent}ax-data-table .ax-header-content .ax-header-columns{height:100%}ax-data-table .ax-header-content .ax-header-columns>table{height:100%;overflow:hidden;border-start-end-radius:var(--ax-rounded-border-default);border-start-start-radius:var(--ax-rounded-border-default)}ax-data-table .ax-header-content .ax-header-columns>table th{border-bottom-width:1px;border-inline-end-width:1px;border-color:rgba(var(--ax-color-border-default));--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-on-surface),var(--tw-bg-opacity));padding:.875rem 1rem;text-align:start;font-weight:500;text-transform:uppercase}ax-data-table .ax-header-content .ax-header-columns>table th.ax-interactive{cursor:pointer}ax-data-table .ax-header-content .ax-header-columns>table th.ax-interactive:hover{--tw-bg-opacity: 1;background-color:color-mix(in srgb,rgba(var(--ax-color-neutral),var(--tw-bg-opacity)) 30%,white)}ax-data-table .ax-header-content .ax-header-columns>table th .ax-caption{display:flex;align-items:center;gap:.5rem}ax-data-table .ax-header-content .ax-header-columns>table th:last-child{border-inline-end-width:0px}ax-data-table .ax-body-content{position:relative}ax-data-table .ax-body-content .ax-body-fixed-columns{pointer-events:none;position:absolute;z-index:10}ax-data-table .ax-body-content .ax-body-columns{height:100%}ax-data-table .ax-body-content .ax-body-columns table{border-collapse:collapse}ax-data-table .ax-body-content .ax-body-columns table tr:nth-child(odd) td{--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-on-surface),var(--tw-bg-opacity))}ax-data-table .ax-body-content .ax-body-columns table tr:nth-child(odd) ax-skeleton{width:25%}ax-data-table .ax-body-content .ax-body-columns table tr{height:2.5rem}ax-data-table .ax-body-content .ax-body-columns table tr:hover td:not(.ax-index-column){--tw-bg-opacity: 1;background-color:color-mix(in srgb,rgba(var(--ax-color-primary),var(--tw-bg-opacity)) 30%,white)}ax-data-table .ax-body-content .ax-body-columns table tr.ax-state-focused td:not(.ax-index-column){--tw-bg-opacity: 1;background-color:color-mix(in srgb,rgba(var(--ax-color-primary),var(--tw-bg-opacity)) 30%,white);--tw-text-opacity: 1;color:color-mix(in srgb,rgba(var(--ax-color-primary),var(--tw-text-opacity)),black 30%)}ax-data-table .ax-body-content .ax-body-columns table tr.ax-state-focused:hover td:not(.ax-index-column){--tw-bg-opacity: 1;background-color:color-mix(in srgb,rgba(var(--ax-color-primary),var(--tw-bg-opacity)) 50%,white)}ax-data-table .ax-body-content .ax-body-columns table tr.ax-state-selected td:not(.ax-index-column){--tw-bg-opacity: 1;background-color:color-mix(in srgb,rgba(var(--ax-color-primary),var(--tw-bg-opacity)) 50%,white);--tw-text-opacity: 1;color:color-mix(in srgb,rgba(var(--ax-color-primary),var(--tw-text-opacity)),black 30%)}ax-data-table .ax-body-content .ax-body-columns table tr.ax-state-selected:hover td:not(.ax-index-column){--tw-bg-opacity: 1;background-color:color-mix(in srgb,rgba(var(--ax-color-primary),var(--tw-bg-opacity)) 70%,white);--tw-text-opacity: 1;color:rgba(var(--ax-color-primary-fore),var(--tw-text-opacity))}ax-data-table .ax-body-content .ax-body-columns table td{position:relative;min-width:2rem;border-bottom-width:1px;border-inline-end-width:1px;border-color:rgba(var(--ax-color-border-default));--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-surface),var(--tw-bg-opacity));padding:.5rem 1rem}ax-data-table .ax-body-content .ax-body-columns table td.ax-index-column{--tw-bg-opacity: 1 !important;background-color:rgba(var(--ax-color-on-surface),var(--tw-bg-opacity))!important}ax-data-table .ax-body-content .ax-body-columns table td.ax-index-column>.ax-content{justify-content:center}ax-data-table .ax-body-content .ax-body-columns table td.ax-index-column>.ax-content span{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column>.ax-content{position:relative}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column>.ax-content>div{position:absolute;inset-inline-start:0px;top:50%;display:flex;width:100%;--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));align-items:center;justify-content:center}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column>.ax-content button{position:relative;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:var(--ax-rounded-border-default);border-style:none;border-color:rgba(var(--ax-color-border-default));background-color:transparent;padding:.25rem;line-height:1;--tw-text-opacity: 1;color:rgba(var(--ax-color-ghost-fore),var(--tw-text-opacity))}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column>.ax-content button:hover:not(ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column>.ax-content button:hover.ax-state-selected,ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column>.ax-content button:hover.ax-state-disabled){opacity:.75}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column>.ax-content button:active{opacity:1}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column>.ax-content button .ax-ripple{background-color:rgba(var(--ax-color-ghost-fore),.05)}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column>.ax-content button .ax-icon{font-size:1.125rem;line-height:1.75rem}ax-data-table .ax-body-content .ax-body-columns table td>.ax-content{display:flex;width:100%;justify-content:flex-start}ax-data-table .ax-body-content .ax-body-columns table td:last-child{border-inline-end-width:0px}ax-data-table .ax-body-content .ax-body-columns table td ax-skeleton{height:.875rem;width:33.333333%;border-radius:.375rem}ax-data-table .ax-table-footer{border-collapse:collapse;overflow:hidden;border-top-width:1px;border-color:rgba(var(--ax-color-border-default));padding:.5rem .875rem}ax-data-table .ax-table-footer .ax-table-info{display:flex;flex:1 1 0%;align-items:center;justify-content:space-between}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i2.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i2.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "directive", type: i2.CdkVirtualScrollableElement, selector: "[cdkVirtualScrollingElement]" }, { kind: "component", type: i3.AXResultComponent, selector: "ax-result", inputs: ["type", "caption", "description"] }, { kind: "component", type: i3$1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i5.AXSkeletonComponent, selector: "ax-skeleton", inputs: ["animated"] }, { kind: "component", type: i6.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange"] }, { kind: "pipe", type: i7.AXTranslatorPipe, name: "trans" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
293
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: AXDataTableComponent, selector: "ax-data-table", inputs: { rowTemplate: "rowTemplate", emptyTemplate: "emptyTemplate", loadingTemplate: "loadingTemplate", showHeader: "showHeader", fetchDataMode: "fetchDataMode", dataSource: "dataSource", focusedRow: "focusedRow", selectedRows: "selectedRows", itemHeight: "itemHeight" }, outputs: { onPageChanged: "onPageChanged", focusedRowChange: "focusedRowChange", selectedRowsChange: "selectedRowsChange", onScrolledIndexChanged: "onScrolledIndexChanged" }, providers: [{ provide: AXPagedComponent, useExisting: AXDataTableComponent }], 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 }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-header\">\n</ng-content>\n<!------------------- Header contents ------------------->\n<div class=\"ax-header-content\" *ngIf=\"showHeader\">\n <div class=\"ax-header-columns ax-header-fixed-columns\" *ngIf=\"false\">\n <table tabindex=\"0\" [style.width]=\"width\">\n <colgroup>\n <!------------------- start fixed column ------------------->\n <col *ngFor=\"let c of startFixedColumn()\" [style.width]=\"c.width\">\n <!------------------- not fixed column ------------------->\n <col *ngFor=\"let c of notFixedColumn()\" [style.width]=\"c.width\">\n <col style=\"width: 10px;\">\n </colgroup>\n <thead>\n <tr>\n <!------------------- start fixed column ------------------->\n <th *ngFor=\"let c of startFixedColumn()\" [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event,c) : null\" class=\"ax-column-fixed\">\n <ng-template [ngIf]=\"c.headerTemplate\" [ngIfElse]=\"captionTpl\">\n <ng-container *ngTemplateOutlet=\"c.headerTemplate\"></ng-container>\n </ng-template>\n <ng-template #captionTpl>\n <div class=\"ax-caption\">\n {{c.caption }}\n <ax-icon *ngIf=\"getSort(c)\" icon=\"ax-icon {{getSort(c)}}\"></ax-icon>\n </div>\n </ng-template>\n </th>\n <!------------------- not fixed column ------------------->\n <th [attr.colspan]=\"notFixedColumnCount()\">\n\n </th>\n </tr>\n </thead>\n </table>\n </div>\n <div class=\"ax-header-columns\">\n <table tabindex=\"0\" [style.width]=\"width\" #headerContainer>\n <colgroup>\n <col *ngFor=\"let c of startFixedColumn()\" [style.width]=\"c.width\">\n <col *ngFor=\"let c of notFixedColumn()\" [style.width]=\"c.width\">\n <col style=\"width: auto;\">\n </colgroup>\n <thead>\n <tr>\n <th *ngFor=\"let c of startFixedColumn()\">\n </th>\n <th *ngFor=\"let c of notFixedColumn()\" [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event,c) : null\">\n <ng-template [ngIf]=\"c.headerTemplate\" [ngIfElse]=\"captionTpl\">\n <ng-container *ngTemplateOutlet=\"c.headerTemplate\"></ng-container>\n </ng-template>\n <ng-template #captionTpl>\n <div class=\"ax-caption\">\n {{c.caption}}\n <ax-icon *ngIf=\"getSort(c)\" icon=\"ax-icon {{getSort(c)}}\"></ax-icon>\n </div>\n </ng-template>\n </th>\n <th></th>\n </tr>\n </thead>\n </table>\n </div>\n</div>\n<!------------------- Body contents ------------------->\n<div [style.height]=\"height\" class=\"ax-body-content\">\n <div class=\"ax-body-columns ax-body-fixed-columns\" *ngIf=\"false\">\n <table tabindex=\"0\" class=\"ax-table-body\" [style.width]=\"width\">\n <colgroup>\n <!------------------- start fixed column ------------------->\n <col *ngFor=\"let c of startFixedColumn()\" [style.width]=\"c.width\">\n <!------------------- not fixed column ------------------->\n <col *ngFor=\"let c of notFixedColumn()\" [style.width]=\"c.width\">\n <col>\n </colgroup>\n <tbody>\n </tbody>\n </table>\n </div>\n <div class=\"ax-body-columns\">\n <div cdkVirtualScrollingElement [style.height]=\"'100%'\" (scroll)=\"_handleOnScroll($event)\">\n <cdk-virtual-scroll-viewport [itemSize]=\"itemHeight\" [style.--item-height]=\"itemHeight+'px'\"\n (scrolledIndexChange)=\"_handleOnscrolledIndexChange($event)\">\n <table tabindex=\"0\" class=\"ax-table-body\" [style.width]=\"width\">\n <colgroup>\n <!------------------- start fixed column ------------------->\n <col *ngFor=\"let c of startFixedColumn()\" [style.width]=\"c.width\">\n <!------------------- not fixed column ------------------->\n <col *ngFor=\"let c of notFixedColumn()\" [style.width]=\"c.width\">\n <col>\n </colgroup>\n <tbody>\n <ng-container\n *cdkVirtualFor=\"let item of listDataSource; let i = index; trackBy: trackByIdx;let rIndex=index;\">\n <ng-template [ngIf]=\"rowTemplate\" [ngIfElse]=\"rowTpl\">\n <ng-container *ngTemplateOutlet=\"rowTemplate;context: { $implicit: {data:item,rowIndex:rIndex} }\">\n </ng-container>\n </ng-template>\n <ng-template #rowTpl>\n <tr [class.ax-state-focused]=\"focusedRow && item===focusedRow\" [attr.data-index]=\"rIndex\"\n [class.ax-state-selected]=\"selectedRows.includes(item)\" (click)=\"handleRowClick($event,item)\">\n <!------------------- start fixed column ------------------->\n <ng-container *ngFor=\"let c of startFixedColumn()\">\n <ng-template [ngIf]=\"c.cellTemplate\" [ngIfElse]=\"cellTpl\">\n <div class=\"ax-content\">\n <ng-container\n *ngTemplateOutlet=\"c.cellTemplate;context: { $implicit: {data:item,rowIndex:rIndex} }\">\n </ng-container>\n </div>\n </ng-template>\n <ng-template #cellTpl>\n <td [attr.data-label]=\"c.caption\" tabindex=\"0\" [class]=\"c.cssClass\" [attr.data-fixed]=\"c.fixed\"\n class=\"ax-column-fixed\">\n <div class=\"ax-content\">\n <ng-container *ngIf=\"item || !c.skeleton;else loadingTpl\">\n <ng-container\n *ngTemplateOutlet=\"c.template; context: { $implicit: {data:item,rowIndex:rIndex} }\"></ng-container>\n </ng-container>\n </div>\n </td>\n </ng-template>\n </ng-container>\n <!------------------- Not fixed column ------------------->\n <ng-container *ngFor=\"let c of notFixedColumn()\">\n <ng-template [ngIf]=\"c.cellTemplate\" [ngIfElse]=\"cellTpl\">\n <div class=\"ax-content\">\n <ng-container\n *ngTemplateOutlet=\"c.cellTemplate;context: { $implicit: {data:item,rowIndex:rIndex} }\">\n </ng-container>\n </div>\n </ng-template>\n <ng-template #cellTpl>\n <td [attr.data-label]=\"c.caption\" tabindex=\"0\" [class]=\"c.cssClass\">\n <div class=\"ax-content\">\n <ng-container *ngIf=\"item || !c.skeleton;else loadingTpl\">\n <ng-container\n *ngTemplateOutlet=\"c.template; context: { $implicit: {data:item,rowIndex:rIndex} }\"></ng-container>\n </ng-container>\n </div>\n </td>\n </ng-template>\n </ng-container>\n <td></td>\n </tr>\n </ng-template>\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>\n Showing {{startRowIndex}} of {{totalRows}} items\n </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\">\n </ng-content>\n</div>\n\n<!-- Loading Template -->\n<ng-template #loadingTpl>\n <!-- Custom Loading Template -->\n <ng-container *ngIf=\"loadingTemplate;else defaultLoadingTpl\">\n <ng-container *ngTemplateOutlet=\"loadingTemplate\">\n </ng-container>\n </ng-container>\n <!-- Default Loading Template -->\n <ng-template #defaultLoadingTpl>\n <ax-skeleton [animated]=\"true\"></ax-skeleton>\n </ng-template>\n</ng-template>\n<!-- Empty Template -->\n<ng-template #emptyTpl>\n <tr>\n <td [attr.colspan]=\"columns.length\">\n <ng-template [ngIf]=\"emptyTemplate\" [ngIfElse]=\"defaultEmptyTemplate\">\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\n </ng-template>\n <ng-template #defaultEmptyTemplate>\n <ax-result type=\"empty\" caption=\" {{'common.no-result-found' | trans }}\"></ax-result>\n </ng-template>\n </td>\n </tr>\n</ng-template>", styles: [".ax-dark ax-data-table .ax-header-content th.ax-interactive:hover{--tw-bg-opacity: 1 !important;background-color:rgba(var(--ax-color-neutral),var(--tw-bg-opacity))!important}.ax-dark ax-data-table .ax-body-content tr:hover td:not(.ax-index-column){--tw-bg-opacity: 1 !important;background-color:color-mix(in srgb,rgba(var(--ax-color-primary),var(--tw-bg-opacity)),black 50%)!important;--tw-text-opacity: 1 !important;color:rgba(var(--ax-color-primary-fore),var(--tw-text-opacity))!important}.ax-dark ax-data-table .ax-body-content tr.ax-state-focused td:not(.ax-index-column){--tw-bg-opacity: 1 !important;background-color:color-mix(in srgb,rgba(var(--ax-color-primary),var(--tw-bg-opacity)),black 70%)!important;--tw-text-opacity: 1 !important;color:rgba(var(--ax-color-primary-fore),var(--tw-text-opacity))!important}.ax-dark ax-data-table .ax-body-content tr.ax-state-focused:hover td:not(.ax-index-column){--tw-bg-opacity: 1 !important;background-color:color-mix(in srgb,rgba(var(--ax-color-primary),var(--tw-bg-opacity)),black 50%)!important}.ax-dark ax-data-table .ax-body-content tr.ax-state-selected td:not(.ax-index-column){--tw-bg-opacity: 1 !important;background-color:color-mix(in srgb,rgba(var(--ax-color-primary),var(--tw-bg-opacity)),black 70%)!important;--tw-text-opacity: 1 !important;color:rgba(var(--ax-color-primary-fore),var(--tw-text-opacity))!important}.ax-dark ax-data-table .ax-body-content tr.ax-state-selected:hover td:not(.ax-index-column){--tw-bg-opacity: 1 !important;background-color:color-mix(in srgb,rgba(var(--ax-color-primary),var(--tw-bg-opacity)),black 50%)!important}ax-data-table{height:100%;overflow:hidden;border-radius:var(--ax-rounded-border-default);border-width:1px;border-color:rgba(var(--ax-color-border-default));font-size:.875rem;line-height:1.25rem}ax-data-table table{table-layout:fixed}ax-data-table .ax-header-content{position:relative;height:3rem;overflow:hidden}ax-data-table .ax-header-content .ax-header-fixed-columns{pointer-events:none;position:absolute;z-index:10}ax-data-table .ax-header-content .ax-header-fixed-columns th.ax-column-fixed{pointer-events:auto}ax-data-table .ax-header-content .ax-header-fixed-columns th:not(.ax-column-fixed){visibility:hidden;background-color:transparent}ax-data-table .ax-header-content .ax-header-columns{height:100%}ax-data-table .ax-header-content .ax-header-columns>table{height:100%;overflow:hidden;border-start-end-radius:var(--ax-rounded-border-default);border-start-start-radius:var(--ax-rounded-border-default)}ax-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-color-border-default));--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-on-surface),var(--tw-bg-opacity));padding:.75rem 1rem;text-align:start;font-weight:500;text-transform:uppercase}ax-data-table .ax-header-content .ax-header-columns>table th.ax-interactive{cursor:pointer}ax-data-table .ax-header-content .ax-header-columns>table th.ax-interactive:hover{--tw-bg-opacity: 1;background-color:color-mix(in srgb,rgba(var(--ax-color-neutral),var(--tw-bg-opacity)) 30%,white)}ax-data-table .ax-header-content .ax-header-columns>table th .ax-caption{display:flex;align-items:center;gap:.5rem}ax-data-table .ax-header-content .ax-header-columns>table th:last-child{border-inline-end-width:0px}ax-data-table .ax-body-content{position:relative}ax-data-table .ax-body-content .ax-body-fixed-columns{pointer-events:none;position:absolute;z-index:10}ax-data-table .ax-body-content .ax-body-columns{height:100%}ax-data-table .ax-body-content .ax-body-columns table{border-collapse:collapse}ax-data-table .ax-body-content .ax-body-columns table tr:nth-child(odd) td{--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-on-surface),var(--tw-bg-opacity))}ax-data-table .ax-body-content .ax-body-columns table tr:nth-child(odd) ax-skeleton{width:25%}ax-data-table .ax-body-content .ax-body-columns table tr{height:2.5rem}ax-data-table .ax-body-content .ax-body-columns table tr:hover td:not(.ax-index-column){--tw-bg-opacity: 1;background-color:color-mix(in srgb,rgba(var(--ax-color-primary),var(--tw-bg-opacity)) 30%,white)}ax-data-table .ax-body-content .ax-body-columns table tr.ax-state-focused td:not(.ax-index-column){--tw-bg-opacity: 1;background-color:color-mix(in srgb,rgba(var(--ax-color-primary),var(--tw-bg-opacity)) 30%,white);--tw-text-opacity: 1;color:color-mix(in srgb,rgba(var(--ax-color-primary),var(--tw-text-opacity)),black 30%)}ax-data-table .ax-body-content .ax-body-columns table tr.ax-state-focused:hover td:not(.ax-index-column){--tw-bg-opacity: 1;background-color:color-mix(in srgb,rgba(var(--ax-color-primary),var(--tw-bg-opacity)) 50%,white)}ax-data-table .ax-body-content .ax-body-columns table tr.ax-state-selected td:not(.ax-index-column){--tw-bg-opacity: 1;background-color:color-mix(in srgb,rgba(var(--ax-color-primary),var(--tw-bg-opacity)) 50%,white);--tw-text-opacity: 1;color:color-mix(in srgb,rgba(var(--ax-color-primary),var(--tw-text-opacity)),black 30%)}ax-data-table .ax-body-content .ax-body-columns table tr.ax-state-selected:hover td:not(.ax-index-column){--tw-bg-opacity: 1;background-color:color-mix(in srgb,rgba(var(--ax-color-primary),var(--tw-bg-opacity)) 70%,white);--tw-text-opacity: 1;color:rgba(var(--ax-color-primary-fore),var(--tw-text-opacity))}ax-data-table .ax-body-content .ax-body-columns table td{position:relative;min-width:2rem;border-bottom-width:1px;border-inline-end-width:1px;border-color:rgba(var(--ax-color-border-default));--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-surface),var(--tw-bg-opacity));padding:.5rem 1rem}ax-data-table .ax-body-content .ax-body-columns table td.ax-index-column{--tw-bg-opacity: 1 !important;background-color:rgba(var(--ax-color-on-surface),var(--tw-bg-opacity))!important}ax-data-table .ax-body-content .ax-body-columns table td.ax-index-column>.ax-content{justify-content:center}ax-data-table .ax-body-content .ax-body-columns table td.ax-index-column>.ax-content span{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column>.ax-content{position:relative}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column>.ax-content>div{position:absolute;inset-inline-start:0px;top:50%;display:flex;width:100%;--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));align-items:center;justify-content:center}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column>.ax-content button{position:relative;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:var(--ax-rounded-border-default);border-style:none;border-color:rgba(var(--ax-color-border-default));background-color:transparent;padding:.25rem;line-height:1;--tw-text-opacity: 1;color:rgba(var(--ax-color-ghost-fore),var(--tw-text-opacity))}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column>.ax-content button:hover:not(ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column>.ax-content button:hover.ax-state-selected,ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column>.ax-content button:hover.ax-state-disabled){opacity:.75}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column>.ax-content button:active{opacity:1}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column>.ax-content button .ax-ripple{background-color:rgba(var(--ax-color-ghost-fore),.05)}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column>.ax-content button .ax-icon{font-size:1.125rem;line-height:1.75rem}ax-data-table .ax-body-content .ax-body-columns table td>.ax-content{display:flex;width:100%;justify-content:flex-start}ax-data-table .ax-body-content .ax-body-columns table td:last-child{border-inline-end-width:0px}ax-data-table .ax-body-content .ax-body-columns table td ax-skeleton{height:.875rem;width:33.333333%;border-radius:.375rem}ax-data-table .ax-table-footer{border-collapse:collapse;overflow:hidden;border-top-width:1px;border-color:rgba(var(--ax-color-border-default));padding:.5rem .875rem}ax-data-table .ax-table-footer .ax-table-info{display:flex;flex:1 1 0%;align-items:center;justify-content:space-between}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i2.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i2.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "directive", type: i2.CdkVirtualScrollableElement, selector: "[cdkVirtualScrollingElement]" }, { kind: "component", type: i3.AXResultComponent, selector: "ax-result", inputs: ["type", "caption", "description"] }, { kind: "component", type: i3$1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i5.AXSkeletonComponent, selector: "ax-skeleton", inputs: ["animated"] }, { kind: "component", type: i6.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange"] }, { kind: "pipe", type: i7.AXTranslatorPipe, name: "trans" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
283
294
|
}
|
284
295
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXDataTableComponent, decorators: [{
|
285
296
|
type: Component,
|
286
|
-
args: [{ selector: 'ax-data-table', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: AXPagedComponent, useExisting: AXDataTableComponent }], template: "<ng-content select=\"ax-header\">\n</ng-content>\n<!------------------- Header contents ------------------->\n<div class=\"ax-header-content\" *ngIf=\"showHeader\">\n <div class=\"ax-header-columns ax-header-fixed-columns\" *ngIf=\"false\">\n <table tabindex=\"0\" [style.width]=\"width\">\n <colgroup>\n <!------------------- start fixed column ------------------->\n <col *ngFor=\"let c of startFixedColumn()\" [style.width]=\"c.width\">\n <!------------------- not fixed column ------------------->\n <col *ngFor=\"let c of notFixedColumn()\" [style.width]=\"c.width\">\n <col style=\"width: 10px;\">\n </colgroup>\n <thead>\n <tr>\n <!------------------- start fixed column ------------------->\n <th *ngFor=\"let c of startFixedColumn()\" [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event,c) : null\" class=\"ax-column-fixed\">\n <ng-template [ngIf]=\"c.headerTemplate\" [ngIfElse]=\"captionTpl\">\n <ng-container *ngTemplateOutlet=\"c.headerTemplate\"></ng-container>\n </ng-template>\n <ng-template #captionTpl>\n <div class=\"ax-caption\">\n {{c.caption }}\n <ax-icon *ngIf=\"getSort(c)\" icon=\"ax-icon {{getSort(c)}}\"></ax-icon>\n </div>\n </ng-template>\n </th>\n <!------------------- not fixed column ------------------->\n <th [attr.colspan]=\"notFixedColumnCount()\">\n\n </th>\n </tr>\n </thead>\n </table>\n </div>\n <div class=\"ax-header-columns\">\n <table tabindex=\"0\" [style.width]=\"width\" #headerContainer>\n <colgroup>\n <col *ngFor=\"let c of startFixedColumn()\" [style.width]=\"c.width\">\n <col *ngFor=\"let c of notFixedColumn()\" [style.width]=\"c.width\">\n <col style=\"width: auto;\">\n </colgroup>\n <thead>\n <tr>\n <th *ngFor=\"let c of startFixedColumn()\">\n </th>\n <th *ngFor=\"let c of notFixedColumn()\" [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event,c) : null\">\n <ng-template [ngIf]=\"c.headerTemplate\" [ngIfElse]=\"captionTpl\">\n <ng-container *ngTemplateOutlet=\"c.headerTemplate\"></ng-container>\n </ng-template>\n <ng-template #captionTpl>\n <div class=\"ax-caption\">\n {{c.caption}}\n <ax-icon *ngIf=\"getSort(c)\" icon=\"ax-icon {{getSort(c)}}\"></ax-icon>\n </div>\n </ng-template>\n </th>\n <th></th>\n </tr>\n </thead>\n </table>\n </div>\n</div>\n<!------------------- Body contents ------------------->\n<div [style.height]=\"height\" class=\"ax-body-content\">\n <div class=\"ax-body-columns ax-body-fixed-columns\" *ngIf=\"false\">\n <table tabindex=\"0\" class=\"ax-table-body\" [style.width]=\"width\">\n <colgroup>\n <!------------------- start fixed column ------------------->\n <col *ngFor=\"let c of startFixedColumn()\" [style.width]=\"c.width\">\n <!------------------- not fixed column ------------------->\n <col *ngFor=\"let c of notFixedColumn()\" [style.width]=\"c.width\">\n <col>\n </colgroup>\n <tbody>\n </tbody>\n </table>\n </div>\n <div class=\"ax-body-columns\">\n <div cdkVirtualScrollingElement [style.height]=\"'100%'\">\n <cdk-virtual-scroll-viewport [itemSize]=\"itemHeight\" [style.--item-height]=\"itemHeight+'px'\"\n (scrolledIndexChange)=\"_handleOnscrolledIndexChange($event)\">\n <table tabindex=\"0\" class=\"ax-table-body\" [style.width]=\"width\">\n <colgroup>\n <!------------------- start fixed column ------------------->\n <col *ngFor=\"let c of startFixedColumn()\" [style.width]=\"c.width\">\n <!------------------- not fixed column ------------------->\n <col *ngFor=\"let c of notFixedColumn()\" [style.width]=\"c.width\">\n <col>\n </colgroup>\n <tbody>\n <ng-container\n *cdkVirtualFor=\"let item of listDataSource; let i = index; trackBy: trackByIdx;let rIndex=index;\"\n (viewChange)=\"onViewChange($event)\">\n <ng-template [ngIf]=\"rowTemplate\" [ngIfElse]=\"rowTpl\">\n <ng-container *ngTemplateOutlet=\"rowTemplate;context: { $implicit: {data:item,rowIndex:rIndex} }\">\n </ng-container>\n </ng-template>\n <ng-template #rowTpl>\n <tr [class.ax-state-focused]=\"focusedRow && item===focusedRow\" [attr.data-index]=\"rIndex\"\n [class.ax-state-selected]=\"selectedRows.includes(item)\" (click)=\"handleRowClick($event,item)\">\n <!------------------- start fixed column ------------------->\n <ng-container *ngFor=\"let c of startFixedColumn()\">\n <ng-template [ngIf]=\"c.cellTemplate\" [ngIfElse]=\"cellTpl\">\n <div class=\"ax-content\">\n <ng-container\n *ngTemplateOutlet=\"c.cellTemplate;context: { $implicit: {data:item,rowIndex:rIndex} }\">\n </ng-container>\n </div>\n </ng-template>\n <ng-template #cellTpl>\n <td [attr.data-label]=\"c.caption\" tabindex=\"0\" [class]=\"c.cssClass\" [attr.data-fixed]=\"c.fixed\"\n class=\"ax-column-fixed\">\n <div class=\"ax-content\">\n <ng-container *ngIf=\"item || !c.skeleton;else loadingTpl\">\n <ng-container\n *ngTemplateOutlet=\"c.template; context: { $implicit: {data:item,rowIndex:rIndex} }\"></ng-container>\n </ng-container>\n </div>\n </td>\n </ng-template>\n </ng-container>\n <!------------------- Not fixed column ------------------->\n <ng-container *ngFor=\"let c of notFixedColumn()\">\n <ng-template [ngIf]=\"c.cellTemplate\" [ngIfElse]=\"cellTpl\">\n <div class=\"ax-content\">\n <ng-container\n *ngTemplateOutlet=\"c.cellTemplate;context: { $implicit: {data:item,rowIndex:rIndex} }\">\n </ng-container>\n </div>\n </ng-template>\n <ng-template #cellTpl>\n <td [attr.data-label]=\"c.caption\" tabindex=\"0\" [class]=\"c.cssClass\">\n <div class=\"ax-content\">\n <ng-container *ngIf=\"item || !c.skeleton;else loadingTpl\">\n <ng-container\n *ngTemplateOutlet=\"c.template; context: { $implicit: {data:item,rowIndex:rIndex} }\"></ng-container>\n </ng-container>\n </div>\n </td>\n </ng-template>\n </ng-container>\n <td></td>\n </tr>\n </ng-template>\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>\n Showing {{startRowIndex}} of {{totalRows}} items\n </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\">\n </ng-content>\n</div>\n\n<!-- Loading Template -->\n<ng-template #loadingTpl>\n <!-- Custom Loading Template -->\n <ng-container *ngIf=\"loadingTemplate;else defaultLoadingTpl\">\n <ng-container *ngTemplateOutlet=\"loadingTemplate\">\n </ng-container>\n </ng-container>\n <!-- Default Loading Template -->\n <ng-template #defaultLoadingTpl>\n <ax-skeleton [animated]=\"true\"></ax-skeleton>\n </ng-template>\n</ng-template>\n<!-- Empty Template -->\n<ng-template #emptyTpl>\n <tr>\n <td [attr.colspan]=\"columns.length\">\n <ng-template [ngIf]=\"emptyTemplate\" [ngIfElse]=\"defaultEmptyTemplate\">\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\n </ng-template>\n <ng-template #defaultEmptyTemplate>\n <ax-result type=\"empty\" caption=\" {{'common.no-result-found' | trans }}\"></ax-result>\n </ng-template>\n </td>\n </tr>\n</ng-template>", styles: [".ax-dark ax-data-table .ax-header-content th.ax-interactive:hover{--tw-bg-opacity: 1 !important;background-color:rgba(var(--ax-color-neutral),var(--tw-bg-opacity))!important}.ax-dark ax-data-table .ax-body-content tr:hover td:not(.ax-index-column){--tw-bg-opacity: 1 !important;background-color:color-mix(in srgb,rgba(var(--ax-color-primary),var(--tw-bg-opacity)),black 50%)!important;--tw-text-opacity: 1 !important;color:rgba(var(--ax-color-primary-fore),var(--tw-text-opacity))!important}.ax-dark ax-data-table .ax-body-content tr.ax-state-focused td:not(.ax-index-column){--tw-bg-opacity: 1 !important;background-color:color-mix(in srgb,rgba(var(--ax-color-primary),var(--tw-bg-opacity)),black 70%)!important;--tw-text-opacity: 1 !important;color:rgba(var(--ax-color-primary-fore),var(--tw-text-opacity))!important}.ax-dark ax-data-table .ax-body-content tr.ax-state-focused:hover td:not(.ax-index-column){--tw-bg-opacity: 1 !important;background-color:color-mix(in srgb,rgba(var(--ax-color-primary),var(--tw-bg-opacity)),black 50%)!important}.ax-dark ax-data-table .ax-body-content tr.ax-state-selected td:not(.ax-index-column){--tw-bg-opacity: 1 !important;background-color:color-mix(in srgb,rgba(var(--ax-color-primary),var(--tw-bg-opacity)),black 90%)!important;--tw-text-opacity: 1 !important;color:rgba(var(--ax-color-primary-fore),var(--tw-text-opacity))!important}.ax-dark ax-data-table .ax-body-content tr.ax-state-selected:hover td:not(.ax-index-column){--tw-bg-opacity: 1 !important;background-color:color-mix(in srgb,rgba(var(--ax-color-primary),var(--tw-bg-opacity)),black 50%)!important}ax-data-table{height:100%;overflow:hidden;border-radius:var(--ax-rounded-border-default);border-width:1px;border-color:rgba(var(--ax-color-border-default));font-size:.875rem;line-height:1.25rem}ax-data-table table{table-layout:fixed}ax-data-table .ax-header-content{position:relative;height:3rem;overflow:hidden}ax-data-table .ax-header-content .ax-header-fixed-columns{pointer-events:none;position:absolute;z-index:10}ax-data-table .ax-header-content .ax-header-fixed-columns th.ax-column-fixed{pointer-events:auto}ax-data-table .ax-header-content .ax-header-fixed-columns th:not(.ax-column-fixed){visibility:hidden;background-color:transparent}ax-data-table .ax-header-content .ax-header-columns{height:100%}ax-data-table .ax-header-content .ax-header-columns>table{height:100%;overflow:hidden;border-start-end-radius:var(--ax-rounded-border-default);border-start-start-radius:var(--ax-rounded-border-default)}ax-data-table .ax-header-content .ax-header-columns>table th{border-bottom-width:1px;border-inline-end-width:1px;border-color:rgba(var(--ax-color-border-default));--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-on-surface),var(--tw-bg-opacity));padding:.875rem 1rem;text-align:start;font-weight:500;text-transform:uppercase}ax-data-table .ax-header-content .ax-header-columns>table th.ax-interactive{cursor:pointer}ax-data-table .ax-header-content .ax-header-columns>table th.ax-interactive:hover{--tw-bg-opacity: 1;background-color:color-mix(in srgb,rgba(var(--ax-color-neutral),var(--tw-bg-opacity)) 30%,white)}ax-data-table .ax-header-content .ax-header-columns>table th .ax-caption{display:flex;align-items:center;gap:.5rem}ax-data-table .ax-header-content .ax-header-columns>table th:last-child{border-inline-end-width:0px}ax-data-table .ax-body-content{position:relative}ax-data-table .ax-body-content .ax-body-fixed-columns{pointer-events:none;position:absolute;z-index:10}ax-data-table .ax-body-content .ax-body-columns{height:100%}ax-data-table .ax-body-content .ax-body-columns table{border-collapse:collapse}ax-data-table .ax-body-content .ax-body-columns table tr:nth-child(odd) td{--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-on-surface),var(--tw-bg-opacity))}ax-data-table .ax-body-content .ax-body-columns table tr:nth-child(odd) ax-skeleton{width:25%}ax-data-table .ax-body-content .ax-body-columns table tr{height:2.5rem}ax-data-table .ax-body-content .ax-body-columns table tr:hover td:not(.ax-index-column){--tw-bg-opacity: 1;background-color:color-mix(in srgb,rgba(var(--ax-color-primary),var(--tw-bg-opacity)) 30%,white)}ax-data-table .ax-body-content .ax-body-columns table tr.ax-state-focused td:not(.ax-index-column){--tw-bg-opacity: 1;background-color:color-mix(in srgb,rgba(var(--ax-color-primary),var(--tw-bg-opacity)) 30%,white);--tw-text-opacity: 1;color:color-mix(in srgb,rgba(var(--ax-color-primary),var(--tw-text-opacity)),black 30%)}ax-data-table .ax-body-content .ax-body-columns table tr.ax-state-focused:hover td:not(.ax-index-column){--tw-bg-opacity: 1;background-color:color-mix(in srgb,rgba(var(--ax-color-primary),var(--tw-bg-opacity)) 50%,white)}ax-data-table .ax-body-content .ax-body-columns table tr.ax-state-selected td:not(.ax-index-column){--tw-bg-opacity: 1;background-color:color-mix(in srgb,rgba(var(--ax-color-primary),var(--tw-bg-opacity)) 50%,white);--tw-text-opacity: 1;color:color-mix(in srgb,rgba(var(--ax-color-primary),var(--tw-text-opacity)),black 30%)}ax-data-table .ax-body-content .ax-body-columns table tr.ax-state-selected:hover td:not(.ax-index-column){--tw-bg-opacity: 1;background-color:color-mix(in srgb,rgba(var(--ax-color-primary),var(--tw-bg-opacity)) 70%,white);--tw-text-opacity: 1;color:rgba(var(--ax-color-primary-fore),var(--tw-text-opacity))}ax-data-table .ax-body-content .ax-body-columns table td{position:relative;min-width:2rem;border-bottom-width:1px;border-inline-end-width:1px;border-color:rgba(var(--ax-color-border-default));--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-surface),var(--tw-bg-opacity));padding:.5rem 1rem}ax-data-table .ax-body-content .ax-body-columns table td.ax-index-column{--tw-bg-opacity: 1 !important;background-color:rgba(var(--ax-color-on-surface),var(--tw-bg-opacity))!important}ax-data-table .ax-body-content .ax-body-columns table td.ax-index-column>.ax-content{justify-content:center}ax-data-table .ax-body-content .ax-body-columns table td.ax-index-column>.ax-content span{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column>.ax-content{position:relative}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column>.ax-content>div{position:absolute;inset-inline-start:0px;top:50%;display:flex;width:100%;--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));align-items:center;justify-content:center}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column>.ax-content button{position:relative;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:var(--ax-rounded-border-default);border-style:none;border-color:rgba(var(--ax-color-border-default));background-color:transparent;padding:.25rem;line-height:1;--tw-text-opacity: 1;color:rgba(var(--ax-color-ghost-fore),var(--tw-text-opacity))}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column>.ax-content button:hover:not(ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column>.ax-content button:hover.ax-state-selected,ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column>.ax-content button:hover.ax-state-disabled){opacity:.75}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column>.ax-content button:active{opacity:1}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column>.ax-content button .ax-ripple{background-color:rgba(var(--ax-color-ghost-fore),.05)}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column>.ax-content button .ax-icon{font-size:1.125rem;line-height:1.75rem}ax-data-table .ax-body-content .ax-body-columns table td>.ax-content{display:flex;width:100%;justify-content:flex-start}ax-data-table .ax-body-content .ax-body-columns table td:last-child{border-inline-end-width:0px}ax-data-table .ax-body-content .ax-body-columns table td ax-skeleton{height:.875rem;width:33.333333%;border-radius:.375rem}ax-data-table .ax-table-footer{border-collapse:collapse;overflow:hidden;border-top-width:1px;border-color:rgba(var(--ax-color-border-default));padding:.5rem .875rem}ax-data-table .ax-table-footer .ax-table-info{display:flex;flex:1 1 0%;align-items:center;justify-content:space-between}\n"] }]
|
297
|
+
args: [{ selector: 'ax-data-table', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: AXPagedComponent, useExisting: AXDataTableComponent }], template: "<ng-content select=\"ax-header\">\n</ng-content>\n<!------------------- Header contents ------------------->\n<div class=\"ax-header-content\" *ngIf=\"showHeader\">\n <div class=\"ax-header-columns ax-header-fixed-columns\" *ngIf=\"false\">\n <table tabindex=\"0\" [style.width]=\"width\">\n <colgroup>\n <!------------------- start fixed column ------------------->\n <col *ngFor=\"let c of startFixedColumn()\" [style.width]=\"c.width\">\n <!------------------- not fixed column ------------------->\n <col *ngFor=\"let c of notFixedColumn()\" [style.width]=\"c.width\">\n <col style=\"width: 10px;\">\n </colgroup>\n <thead>\n <tr>\n <!------------------- start fixed column ------------------->\n <th *ngFor=\"let c of startFixedColumn()\" [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event,c) : null\" class=\"ax-column-fixed\">\n <ng-template [ngIf]=\"c.headerTemplate\" [ngIfElse]=\"captionTpl\">\n <ng-container *ngTemplateOutlet=\"c.headerTemplate\"></ng-container>\n </ng-template>\n <ng-template #captionTpl>\n <div class=\"ax-caption\">\n {{c.caption }}\n <ax-icon *ngIf=\"getSort(c)\" icon=\"ax-icon {{getSort(c)}}\"></ax-icon>\n </div>\n </ng-template>\n </th>\n <!------------------- not fixed column ------------------->\n <th [attr.colspan]=\"notFixedColumnCount()\">\n\n </th>\n </tr>\n </thead>\n </table>\n </div>\n <div class=\"ax-header-columns\">\n <table tabindex=\"0\" [style.width]=\"width\" #headerContainer>\n <colgroup>\n <col *ngFor=\"let c of startFixedColumn()\" [style.width]=\"c.width\">\n <col *ngFor=\"let c of notFixedColumn()\" [style.width]=\"c.width\">\n <col style=\"width: auto;\">\n </colgroup>\n <thead>\n <tr>\n <th *ngFor=\"let c of startFixedColumn()\">\n </th>\n <th *ngFor=\"let c of notFixedColumn()\" [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event,c) : null\">\n <ng-template [ngIf]=\"c.headerTemplate\" [ngIfElse]=\"captionTpl\">\n <ng-container *ngTemplateOutlet=\"c.headerTemplate\"></ng-container>\n </ng-template>\n <ng-template #captionTpl>\n <div class=\"ax-caption\">\n {{c.caption}}\n <ax-icon *ngIf=\"getSort(c)\" icon=\"ax-icon {{getSort(c)}}\"></ax-icon>\n </div>\n </ng-template>\n </th>\n <th></th>\n </tr>\n </thead>\n </table>\n </div>\n</div>\n<!------------------- Body contents ------------------->\n<div [style.height]=\"height\" class=\"ax-body-content\">\n <div class=\"ax-body-columns ax-body-fixed-columns\" *ngIf=\"false\">\n <table tabindex=\"0\" class=\"ax-table-body\" [style.width]=\"width\">\n <colgroup>\n <!------------------- start fixed column ------------------->\n <col *ngFor=\"let c of startFixedColumn()\" [style.width]=\"c.width\">\n <!------------------- not fixed column ------------------->\n <col *ngFor=\"let c of notFixedColumn()\" [style.width]=\"c.width\">\n <col>\n </colgroup>\n <tbody>\n </tbody>\n </table>\n </div>\n <div class=\"ax-body-columns\">\n <div cdkVirtualScrollingElement [style.height]=\"'100%'\" (scroll)=\"_handleOnScroll($event)\">\n <cdk-virtual-scroll-viewport [itemSize]=\"itemHeight\" [style.--item-height]=\"itemHeight+'px'\"\n (scrolledIndexChange)=\"_handleOnscrolledIndexChange($event)\">\n <table tabindex=\"0\" class=\"ax-table-body\" [style.width]=\"width\">\n <colgroup>\n <!------------------- start fixed column ------------------->\n <col *ngFor=\"let c of startFixedColumn()\" [style.width]=\"c.width\">\n <!------------------- not fixed column ------------------->\n <col *ngFor=\"let c of notFixedColumn()\" [style.width]=\"c.width\">\n <col>\n </colgroup>\n <tbody>\n <ng-container\n *cdkVirtualFor=\"let item of listDataSource; let i = index; trackBy: trackByIdx;let rIndex=index;\">\n <ng-template [ngIf]=\"rowTemplate\" [ngIfElse]=\"rowTpl\">\n <ng-container *ngTemplateOutlet=\"rowTemplate;context: { $implicit: {data:item,rowIndex:rIndex} }\">\n </ng-container>\n </ng-template>\n <ng-template #rowTpl>\n <tr [class.ax-state-focused]=\"focusedRow && item===focusedRow\" [attr.data-index]=\"rIndex\"\n [class.ax-state-selected]=\"selectedRows.includes(item)\" (click)=\"handleRowClick($event,item)\">\n <!------------------- start fixed column ------------------->\n <ng-container *ngFor=\"let c of startFixedColumn()\">\n <ng-template [ngIf]=\"c.cellTemplate\" [ngIfElse]=\"cellTpl\">\n <div class=\"ax-content\">\n <ng-container\n *ngTemplateOutlet=\"c.cellTemplate;context: { $implicit: {data:item,rowIndex:rIndex} }\">\n </ng-container>\n </div>\n </ng-template>\n <ng-template #cellTpl>\n <td [attr.data-label]=\"c.caption\" tabindex=\"0\" [class]=\"c.cssClass\" [attr.data-fixed]=\"c.fixed\"\n class=\"ax-column-fixed\">\n <div class=\"ax-content\">\n <ng-container *ngIf=\"item || !c.skeleton;else loadingTpl\">\n <ng-container\n *ngTemplateOutlet=\"c.template; context: { $implicit: {data:item,rowIndex:rIndex} }\"></ng-container>\n </ng-container>\n </div>\n </td>\n </ng-template>\n </ng-container>\n <!------------------- Not fixed column ------------------->\n <ng-container *ngFor=\"let c of notFixedColumn()\">\n <ng-template [ngIf]=\"c.cellTemplate\" [ngIfElse]=\"cellTpl\">\n <div class=\"ax-content\">\n <ng-container\n *ngTemplateOutlet=\"c.cellTemplate;context: { $implicit: {data:item,rowIndex:rIndex} }\">\n </ng-container>\n </div>\n </ng-template>\n <ng-template #cellTpl>\n <td [attr.data-label]=\"c.caption\" tabindex=\"0\" [class]=\"c.cssClass\">\n <div class=\"ax-content\">\n <ng-container *ngIf=\"item || !c.skeleton;else loadingTpl\">\n <ng-container\n *ngTemplateOutlet=\"c.template; context: { $implicit: {data:item,rowIndex:rIndex} }\"></ng-container>\n </ng-container>\n </div>\n </td>\n </ng-template>\n </ng-container>\n <td></td>\n </tr>\n </ng-template>\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>\n Showing {{startRowIndex}} of {{totalRows}} items\n </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\">\n </ng-content>\n</div>\n\n<!-- Loading Template -->\n<ng-template #loadingTpl>\n <!-- Custom Loading Template -->\n <ng-container *ngIf=\"loadingTemplate;else defaultLoadingTpl\">\n <ng-container *ngTemplateOutlet=\"loadingTemplate\">\n </ng-container>\n </ng-container>\n <!-- Default Loading Template -->\n <ng-template #defaultLoadingTpl>\n <ax-skeleton [animated]=\"true\"></ax-skeleton>\n </ng-template>\n</ng-template>\n<!-- Empty Template -->\n<ng-template #emptyTpl>\n <tr>\n <td [attr.colspan]=\"columns.length\">\n <ng-template [ngIf]=\"emptyTemplate\" [ngIfElse]=\"defaultEmptyTemplate\">\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\n </ng-template>\n <ng-template #defaultEmptyTemplate>\n <ax-result type=\"empty\" caption=\" {{'common.no-result-found' | trans }}\"></ax-result>\n </ng-template>\n </td>\n </tr>\n</ng-template>", styles: [".ax-dark ax-data-table .ax-header-content th.ax-interactive:hover{--tw-bg-opacity: 1 !important;background-color:rgba(var(--ax-color-neutral),var(--tw-bg-opacity))!important}.ax-dark ax-data-table .ax-body-content tr:hover td:not(.ax-index-column){--tw-bg-opacity: 1 !important;background-color:color-mix(in srgb,rgba(var(--ax-color-primary),var(--tw-bg-opacity)),black 50%)!important;--tw-text-opacity: 1 !important;color:rgba(var(--ax-color-primary-fore),var(--tw-text-opacity))!important}.ax-dark ax-data-table .ax-body-content tr.ax-state-focused td:not(.ax-index-column){--tw-bg-opacity: 1 !important;background-color:color-mix(in srgb,rgba(var(--ax-color-primary),var(--tw-bg-opacity)),black 70%)!important;--tw-text-opacity: 1 !important;color:rgba(var(--ax-color-primary-fore),var(--tw-text-opacity))!important}.ax-dark ax-data-table .ax-body-content tr.ax-state-focused:hover td:not(.ax-index-column){--tw-bg-opacity: 1 !important;background-color:color-mix(in srgb,rgba(var(--ax-color-primary),var(--tw-bg-opacity)),black 50%)!important}.ax-dark ax-data-table .ax-body-content tr.ax-state-selected td:not(.ax-index-column){--tw-bg-opacity: 1 !important;background-color:color-mix(in srgb,rgba(var(--ax-color-primary),var(--tw-bg-opacity)),black 70%)!important;--tw-text-opacity: 1 !important;color:rgba(var(--ax-color-primary-fore),var(--tw-text-opacity))!important}.ax-dark ax-data-table .ax-body-content tr.ax-state-selected:hover td:not(.ax-index-column){--tw-bg-opacity: 1 !important;background-color:color-mix(in srgb,rgba(var(--ax-color-primary),var(--tw-bg-opacity)),black 50%)!important}ax-data-table{height:100%;overflow:hidden;border-radius:var(--ax-rounded-border-default);border-width:1px;border-color:rgba(var(--ax-color-border-default));font-size:.875rem;line-height:1.25rem}ax-data-table table{table-layout:fixed}ax-data-table .ax-header-content{position:relative;height:3rem;overflow:hidden}ax-data-table .ax-header-content .ax-header-fixed-columns{pointer-events:none;position:absolute;z-index:10}ax-data-table .ax-header-content .ax-header-fixed-columns th.ax-column-fixed{pointer-events:auto}ax-data-table .ax-header-content .ax-header-fixed-columns th:not(.ax-column-fixed){visibility:hidden;background-color:transparent}ax-data-table .ax-header-content .ax-header-columns{height:100%}ax-data-table .ax-header-content .ax-header-columns>table{height:100%;overflow:hidden;border-start-end-radius:var(--ax-rounded-border-default);border-start-start-radius:var(--ax-rounded-border-default)}ax-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-color-border-default));--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-on-surface),var(--tw-bg-opacity));padding:.75rem 1rem;text-align:start;font-weight:500;text-transform:uppercase}ax-data-table .ax-header-content .ax-header-columns>table th.ax-interactive{cursor:pointer}ax-data-table .ax-header-content .ax-header-columns>table th.ax-interactive:hover{--tw-bg-opacity: 1;background-color:color-mix(in srgb,rgba(var(--ax-color-neutral),var(--tw-bg-opacity)) 30%,white)}ax-data-table .ax-header-content .ax-header-columns>table th .ax-caption{display:flex;align-items:center;gap:.5rem}ax-data-table .ax-header-content .ax-header-columns>table th:last-child{border-inline-end-width:0px}ax-data-table .ax-body-content{position:relative}ax-data-table .ax-body-content .ax-body-fixed-columns{pointer-events:none;position:absolute;z-index:10}ax-data-table .ax-body-content .ax-body-columns{height:100%}ax-data-table .ax-body-content .ax-body-columns table{border-collapse:collapse}ax-data-table .ax-body-content .ax-body-columns table tr:nth-child(odd) td{--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-on-surface),var(--tw-bg-opacity))}ax-data-table .ax-body-content .ax-body-columns table tr:nth-child(odd) ax-skeleton{width:25%}ax-data-table .ax-body-content .ax-body-columns table tr{height:2.5rem}ax-data-table .ax-body-content .ax-body-columns table tr:hover td:not(.ax-index-column){--tw-bg-opacity: 1;background-color:color-mix(in srgb,rgba(var(--ax-color-primary),var(--tw-bg-opacity)) 30%,white)}ax-data-table .ax-body-content .ax-body-columns table tr.ax-state-focused td:not(.ax-index-column){--tw-bg-opacity: 1;background-color:color-mix(in srgb,rgba(var(--ax-color-primary),var(--tw-bg-opacity)) 30%,white);--tw-text-opacity: 1;color:color-mix(in srgb,rgba(var(--ax-color-primary),var(--tw-text-opacity)),black 30%)}ax-data-table .ax-body-content .ax-body-columns table tr.ax-state-focused:hover td:not(.ax-index-column){--tw-bg-opacity: 1;background-color:color-mix(in srgb,rgba(var(--ax-color-primary),var(--tw-bg-opacity)) 50%,white)}ax-data-table .ax-body-content .ax-body-columns table tr.ax-state-selected td:not(.ax-index-column){--tw-bg-opacity: 1;background-color:color-mix(in srgb,rgba(var(--ax-color-primary),var(--tw-bg-opacity)) 50%,white);--tw-text-opacity: 1;color:color-mix(in srgb,rgba(var(--ax-color-primary),var(--tw-text-opacity)),black 30%)}ax-data-table .ax-body-content .ax-body-columns table tr.ax-state-selected:hover td:not(.ax-index-column){--tw-bg-opacity: 1;background-color:color-mix(in srgb,rgba(var(--ax-color-primary),var(--tw-bg-opacity)) 70%,white);--tw-text-opacity: 1;color:rgba(var(--ax-color-primary-fore),var(--tw-text-opacity))}ax-data-table .ax-body-content .ax-body-columns table td{position:relative;min-width:2rem;border-bottom-width:1px;border-inline-end-width:1px;border-color:rgba(var(--ax-color-border-default));--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-surface),var(--tw-bg-opacity));padding:.5rem 1rem}ax-data-table .ax-body-content .ax-body-columns table td.ax-index-column{--tw-bg-opacity: 1 !important;background-color:rgba(var(--ax-color-on-surface),var(--tw-bg-opacity))!important}ax-data-table .ax-body-content .ax-body-columns table td.ax-index-column>.ax-content{justify-content:center}ax-data-table .ax-body-content .ax-body-columns table td.ax-index-column>.ax-content span{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column>.ax-content{position:relative}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column>.ax-content>div{position:absolute;inset-inline-start:0px;top:50%;display:flex;width:100%;--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));align-items:center;justify-content:center}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column>.ax-content button{position:relative;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:var(--ax-rounded-border-default);border-style:none;border-color:rgba(var(--ax-color-border-default));background-color:transparent;padding:.25rem;line-height:1;--tw-text-opacity: 1;color:rgba(var(--ax-color-ghost-fore),var(--tw-text-opacity))}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column>.ax-content button:hover:not(ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column>.ax-content button:hover.ax-state-selected,ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column>.ax-content button:hover.ax-state-disabled){opacity:.75}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column>.ax-content button:active{opacity:1}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column>.ax-content button .ax-ripple{background-color:rgba(var(--ax-color-ghost-fore),.05)}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column>.ax-content button .ax-icon{font-size:1.125rem;line-height:1.75rem}ax-data-table .ax-body-content .ax-body-columns table td>.ax-content{display:flex;width:100%;justify-content:flex-start}ax-data-table .ax-body-content .ax-body-columns table td:last-child{border-inline-end-width:0px}ax-data-table .ax-body-content .ax-body-columns table td ax-skeleton{height:.875rem;width:33.333333%;border-radius:.375rem}ax-data-table .ax-table-footer{border-collapse:collapse;overflow:hidden;border-top-width:1px;border-color:rgba(var(--ax-color-border-default));padding:.5rem .875rem}ax-data-table .ax-table-footer .ax-table-info{display:flex;flex:1 1 0%;align-items:center;justify-content:space-between}\n"] }]
|
287
298
|
}], propDecorators: { columns: [{
|
288
299
|
type: ContentChildren,
|
289
300
|
args: [AXDataTableColumnComponent]
|
@@ -324,123 +335,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
|
|
324
335
|
args: ['footerContainer']
|
325
336
|
}] } });
|
326
337
|
|
327
|
-
class AXRowIndexColumnComponent extends AXDataTableColumnComponent {
|
328
|
-
constructor() {
|
329
|
-
super(...arguments);
|
330
|
-
this.grid = inject(AXDataTableComponent);
|
331
|
-
this.unsubscriber = inject(AXUnsubscriber);
|
332
|
-
this.padZero = false;
|
333
|
-
this.formatCount = 1;
|
334
|
-
this.allowSorting = false;
|
335
|
-
}
|
336
|
-
get template() {
|
337
|
-
return this._template;
|
338
|
-
}
|
339
|
-
get cssClass() {
|
340
|
-
return 'ax-index-column';
|
341
|
-
}
|
342
|
-
ngOnInit() {
|
343
|
-
if (this.padZero) {
|
344
|
-
this.grid.dataSource.onChanged
|
345
|
-
.pipe(this.unsubscriber.takeUntilDestroy)
|
346
|
-
.subscribe(c => {
|
347
|
-
this.formatCount = c.totalCount.toString().length;
|
348
|
-
});
|
349
|
-
}
|
350
|
-
}
|
351
|
-
get skeleton() {
|
352
|
-
return false;
|
353
|
-
}
|
354
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXRowIndexColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
355
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: AXRowIndexColumnComponent, selector: "ax-index-column", inputs: { width: "width", caption: "caption", fixed: "fixed", padZero: "padZero" }, providers: [
|
356
|
-
AXUnsubscriber,
|
357
|
-
{ provide: AXDataTableColumnComponent, useExisting: AXRowIndexColumnComponent }
|
358
|
-
], viewQueries: [{ propertyName: "_template", first: true, predicate: TemplateRef, descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
359
|
-
<ng-template let-row>
|
360
|
-
<span> {{(row.rowIndex + 1) | format:"number":"D"+formatCount}}</span>
|
361
|
-
</ng-template>`, isInline: true, dependencies: [{ kind: "pipe", type: i1$1.AXFormatPipe, name: "format" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
362
|
-
}
|
363
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXRowIndexColumnComponent, decorators: [{
|
364
|
-
type: Component,
|
365
|
-
args: [{
|
366
|
-
selector: 'ax-index-column',
|
367
|
-
template: `
|
368
|
-
<ng-template let-row>
|
369
|
-
<span> {{(row.rowIndex + 1) | format:"number":"D"+formatCount}}</span>
|
370
|
-
</ng-template>`,
|
371
|
-
encapsulation: ViewEncapsulation.None,
|
372
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
373
|
-
providers: [
|
374
|
-
AXUnsubscriber,
|
375
|
-
{ provide: AXDataTableColumnComponent, useExisting: AXRowIndexColumnComponent }
|
376
|
-
],
|
377
|
-
inputs: ['width', 'caption', 'fixed'],
|
378
|
-
}]
|
379
|
-
}], propDecorators: { _template: [{
|
380
|
-
type: ViewChild,
|
381
|
-
args: [TemplateRef]
|
382
|
-
}], padZero: [{
|
383
|
-
type: Input
|
384
|
-
}] } });
|
385
|
-
|
386
|
-
class AXRowSelectColumnComponent extends AXDataTableColumnComponent {
|
387
|
-
constructor() {
|
388
|
-
super(...arguments);
|
389
|
-
this.grid = inject(AXDataTableComponent);
|
390
|
-
}
|
391
|
-
get template() {
|
392
|
-
return this._template;
|
393
|
-
}
|
394
|
-
isSelected(item) {
|
395
|
-
return item != null && this.grid.selectedRows.includes(item);
|
396
|
-
}
|
397
|
-
handleChange(item) {
|
398
|
-
if (this.isSelected(item)) {
|
399
|
-
this.grid.unSelectRows(item);
|
400
|
-
}
|
401
|
-
else {
|
402
|
-
this.grid.selectRows(item);
|
403
|
-
}
|
404
|
-
}
|
405
|
-
get skeleton() {
|
406
|
-
return false;
|
407
|
-
}
|
408
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXRowSelectColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
409
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: AXRowSelectColumnComponent, selector: "ax-select-column", inputs: { width: "width", caption: "caption", fixed: "fixed" }, providers: [{ provide: AXDataTableColumnComponent, useExisting: AXRowSelectColumnComponent }], viewQueries: [{ propertyName: "_template", first: true, predicate: TemplateRef, descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
410
|
-
<ng-template let-row>
|
411
|
-
<input
|
412
|
-
class="ax-checkbox"
|
413
|
-
type="checkbox"
|
414
|
-
[disabled]="!row.data"
|
415
|
-
(change)="handleChange(row.data)"
|
416
|
-
[checked]="isSelected(row.data)"
|
417
|
-
/>
|
418
|
-
</ng-template>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
419
|
-
}
|
420
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXRowSelectColumnComponent, decorators: [{
|
421
|
-
type: Component,
|
422
|
-
args: [{
|
423
|
-
selector: 'ax-select-column',
|
424
|
-
template: `
|
425
|
-
<ng-template let-row>
|
426
|
-
<input
|
427
|
-
class="ax-checkbox"
|
428
|
-
type="checkbox"
|
429
|
-
[disabled]="!row.data"
|
430
|
-
(change)="handleChange(row.data)"
|
431
|
-
[checked]="isSelected(row.data)"
|
432
|
-
/>
|
433
|
-
</ng-template>`,
|
434
|
-
encapsulation: ViewEncapsulation.None,
|
435
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
436
|
-
providers: [{ provide: AXDataTableColumnComponent, useExisting: AXRowSelectColumnComponent }],
|
437
|
-
inputs: ['width', 'caption', 'fixed']
|
438
|
-
}]
|
439
|
-
}], propDecorators: { _template: [{
|
440
|
-
type: ViewChild,
|
441
|
-
args: [TemplateRef]
|
442
|
-
}] } });
|
443
|
-
|
444
338
|
class AXBaseRowCommandColumnComponent extends AXDataTableColumnComponent {
|
445
339
|
constructor() {
|
446
340
|
super(...arguments);
|
@@ -470,7 +364,7 @@ class AXRowDropdownCommandColumnComponent extends AXBaseRowCommandColumnComponen
|
|
470
364
|
this._items = this.items;
|
471
365
|
}
|
472
366
|
else
|
473
|
-
|
367
|
+
typeof this.items == 'function';
|
474
368
|
{
|
475
369
|
const result = this['items'](rowData);
|
476
370
|
if (Array.isArray(result)) {
|
@@ -491,69 +385,75 @@ class AXRowDropdownCommandColumnComponent extends AXBaseRowCommandColumnComponen
|
|
491
385
|
isUserInteraction: true,
|
492
386
|
nativeEvent: e,
|
493
387
|
data,
|
494
|
-
name: e.name
|
388
|
+
name: e.name,
|
495
389
|
};
|
496
390
|
this.onItemClick.emit(args);
|
497
391
|
}
|
498
392
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXRowDropdownCommandColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
499
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: AXRowDropdownCommandColumnComponent, selector: "ax-dropdown-command-column", inputs: { width: "width", caption: "caption", fixed: "fixed", items: "items" }, outputs: { onItemClick: "onItemClick" }, providers: [{ provide: AXDataTableColumnComponent, useExisting: AXRowDropdownCommandColumnComponent }], viewQueries: [{ propertyName: "_template", first: true, predicate: TemplateRef, descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
500
|
-
<
|
501
|
-
|
502
|
-
|
503
|
-
|
504
|
-
|
505
|
-
|
506
|
-
|
507
|
-
|
508
|
-
|
509
|
-
|
510
|
-
|
511
|
-
|
512
|
-
|
513
|
-
</ng-template>
|
514
|
-
</ax-dropdown-panel>
|
515
|
-
</button>
|
516
|
-
</div>
|
517
|
-
<ng-template #loading>
|
393
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: AXRowDropdownCommandColumnComponent, selector: "ax-dropdown-command-column", inputs: { width: "width", caption: "caption", fixed: "fixed", items: "items" }, outputs: { onItemClick: "onItemClick" }, providers: [{ provide: AXDataTableColumnComponent, useExisting: AXRowDropdownCommandColumnComponent }], viewQueries: [{ propertyName: "_template", first: true, predicate: TemplateRef, descendants: true }], usesInheritance: true, ngImport: i0, template: ` <ng-template let-row>
|
394
|
+
<div *ngIf="row.data">
|
395
|
+
<button axRipple>
|
396
|
+
<ax-icon icon="ax-icon ax-icon-more-horizontal"></ax-icon>
|
397
|
+
<ax-dropdown-panel
|
398
|
+
[adaptivityEnabled]="true"
|
399
|
+
(onOpened)="handleOnOpened(row.data)"
|
400
|
+
(onClosed)="handleOnClosed()"
|
401
|
+
>
|
402
|
+
<ng-container *ngIf="_items.length; else loading">
|
403
|
+
<ax-button-item-list (onItemClick)="handleOnItemClick($event, row.data)" [items]="_items">
|
404
|
+
</ax-button-item-list>
|
405
|
+
</ng-container>
|
406
|
+
<ng-template #loading>
|
518
407
|
<div panel style="padding: 0.875rem;">
|
519
|
-
|
408
|
+
<ax-loading></ax-loading>
|
520
409
|
</div>
|
521
|
-
|
522
|
-
|
410
|
+
</ng-template>
|
411
|
+
</ax-dropdown-panel>
|
412
|
+
</button>
|
413
|
+
</div>
|
414
|
+
<ng-template #loading>
|
415
|
+
<div panel style="padding: 0.875rem;">
|
416
|
+
<ax-loading></ax-loading>
|
417
|
+
</div>
|
418
|
+
</ng-template>
|
419
|
+
</ng-template>`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "component", type: i3$1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i6.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "component", type: i5$1.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
523
420
|
}
|
524
421
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXRowDropdownCommandColumnComponent, decorators: [{
|
525
422
|
type: Component,
|
526
423
|
args: [{
|
527
424
|
selector: 'ax-dropdown-command-column',
|
528
|
-
template: `
|
529
|
-
<
|
530
|
-
|
531
|
-
|
532
|
-
|
533
|
-
|
534
|
-
|
535
|
-
|
536
|
-
|
537
|
-
|
538
|
-
|
539
|
-
|
540
|
-
|
541
|
-
|
542
|
-
</ng-template>
|
543
|
-
</ax-dropdown-panel>
|
544
|
-
</button>
|
545
|
-
</div>
|
546
|
-
<ng-template #loading>
|
425
|
+
template: ` <ng-template let-row>
|
426
|
+
<div *ngIf="row.data">
|
427
|
+
<button axRipple>
|
428
|
+
<ax-icon icon="ax-icon ax-icon-more-horizontal"></ax-icon>
|
429
|
+
<ax-dropdown-panel
|
430
|
+
[adaptivityEnabled]="true"
|
431
|
+
(onOpened)="handleOnOpened(row.data)"
|
432
|
+
(onClosed)="handleOnClosed()"
|
433
|
+
>
|
434
|
+
<ng-container *ngIf="_items.length; else loading">
|
435
|
+
<ax-button-item-list (onItemClick)="handleOnItemClick($event, row.data)" [items]="_items">
|
436
|
+
</ax-button-item-list>
|
437
|
+
</ng-container>
|
438
|
+
<ng-template #loading>
|
547
439
|
<div panel style="padding: 0.875rem;">
|
548
|
-
|
440
|
+
<ax-loading></ax-loading>
|
549
441
|
</div>
|
550
|
-
|
551
|
-
|
442
|
+
</ng-template>
|
443
|
+
</ax-dropdown-panel>
|
444
|
+
</button>
|
445
|
+
</div>
|
446
|
+
<ng-template #loading>
|
447
|
+
<div panel style="padding: 0.875rem;">
|
448
|
+
<ax-loading></ax-loading>
|
449
|
+
</div>
|
450
|
+
</ng-template>
|
451
|
+
</ng-template>`,
|
552
452
|
encapsulation: ViewEncapsulation.None,
|
553
453
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
554
454
|
providers: [{ provide: AXDataTableColumnComponent, useExisting: AXRowDropdownCommandColumnComponent }],
|
555
455
|
inputs: ['width', 'caption', 'fixed'],
|
556
|
-
outputs: ['onItemClick']
|
456
|
+
outputs: ['onItemClick'],
|
557
457
|
}]
|
558
458
|
}], propDecorators: { _template: [{
|
559
459
|
type: ViewChild,
|
@@ -574,7 +474,7 @@ class AXRowCommandColumnComponent extends AXBaseRowCommandColumnComponent {
|
|
574
474
|
return this.items;
|
575
475
|
}
|
576
476
|
else
|
577
|
-
|
477
|
+
typeof this.items == 'function';
|
578
478
|
{
|
579
479
|
return this.items(rowData);
|
580
480
|
}
|
@@ -591,36 +491,40 @@ class AXRowCommandColumnComponent extends AXBaseRowCommandColumnComponent {
|
|
591
491
|
this.onItemClick.emit(args);
|
592
492
|
}
|
593
493
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXRowCommandColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
594
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: AXRowCommandColumnComponent, selector: "ax-command-column", inputs: { width: "width", caption: "caption", fixed: "fixed", items: "items" }, outputs: { onItemClick: "onItemClick" }, providers: [{ provide: AXDataTableColumnComponent, useExisting: AXRowCommandColumnComponent }], viewQueries: [{ propertyName: "_template", first: true, predicate: TemplateRef, descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
595
|
-
<
|
596
|
-
|
597
|
-
|
598
|
-
|
599
|
-
|
600
|
-
|
601
|
-
|
602
|
-
|
603
|
-
|
494
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: AXRowCommandColumnComponent, selector: "ax-command-column", inputs: { width: "width", caption: "caption", fixed: "fixed", items: "items" }, outputs: { onItemClick: "onItemClick" }, providers: [{ provide: AXDataTableColumnComponent, useExisting: AXRowCommandColumnComponent }], viewQueries: [{ propertyName: "_template", first: true, predicate: TemplateRef, descendants: true }], usesInheritance: true, ngImport: i0, template: ` <ng-template let-row>
|
495
|
+
<div *ngIf="row.data">
|
496
|
+
<button
|
497
|
+
[style.color]="'rgba(var(--ax-color-' + (item.color ?? 'primary') + '-500))'"
|
498
|
+
axRipple
|
499
|
+
*ngFor="let item of getItems(row.data)"
|
500
|
+
(click)="handleOnItemClick($event, item, row.data)"
|
501
|
+
>
|
502
|
+
<ax-icon [icon]="item.icon"></ax-icon>
|
503
|
+
</button>
|
504
|
+
</div>
|
505
|
+
</ng-template>`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
604
506
|
}
|
605
507
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXRowCommandColumnComponent, decorators: [{
|
606
508
|
type: Component,
|
607
509
|
args: [{
|
608
510
|
selector: 'ax-command-column',
|
609
|
-
template: `
|
610
|
-
<
|
611
|
-
|
612
|
-
|
613
|
-
|
614
|
-
|
615
|
-
|
616
|
-
|
617
|
-
|
618
|
-
|
511
|
+
template: ` <ng-template let-row>
|
512
|
+
<div *ngIf="row.data">
|
513
|
+
<button
|
514
|
+
[style.color]="'rgba(var(--ax-color-' + (item.color ?? 'primary') + '-500))'"
|
515
|
+
axRipple
|
516
|
+
*ngFor="let item of getItems(row.data)"
|
517
|
+
(click)="handleOnItemClick($event, item, row.data)"
|
518
|
+
>
|
519
|
+
<ax-icon [icon]="item.icon"></ax-icon>
|
520
|
+
</button>
|
521
|
+
</div>
|
522
|
+
</ng-template>`,
|
619
523
|
encapsulation: ViewEncapsulation.None,
|
620
524
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
621
525
|
providers: [{ provide: AXDataTableColumnComponent, useExisting: AXRowCommandColumnComponent }],
|
622
526
|
inputs: ['width', 'caption', 'fixed'],
|
623
|
-
outputs: ['onItemClick']
|
527
|
+
outputs: ['onItemClick'],
|
624
528
|
}]
|
625
529
|
}], propDecorators: { _template: [{
|
626
530
|
type: ViewChild,
|
@@ -629,13 +533,124 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
|
|
629
533
|
type: Input
|
630
534
|
}] } });
|
631
535
|
|
536
|
+
class AXRowIndexColumnComponent extends AXDataTableColumnComponent {
|
537
|
+
constructor() {
|
538
|
+
super(...arguments);
|
539
|
+
this.grid = inject(AXDataTableComponent);
|
540
|
+
this.unsubscriber = inject(AXUnsubscriber);
|
541
|
+
this.padZero = false;
|
542
|
+
this.formatCount = 1;
|
543
|
+
this.allowSorting = false;
|
544
|
+
}
|
545
|
+
get template() {
|
546
|
+
return this._template;
|
547
|
+
}
|
548
|
+
get cssClass() {
|
549
|
+
return 'ax-index-column';
|
550
|
+
}
|
551
|
+
ngOnInit() {
|
552
|
+
if (this.padZero) {
|
553
|
+
this.grid.dataSource.onChanged.pipe(this.unsubscriber.takeUntilDestroy).subscribe((c) => {
|
554
|
+
this.formatCount = c.totalCount.toString().length;
|
555
|
+
});
|
556
|
+
}
|
557
|
+
}
|
558
|
+
get skeleton() {
|
559
|
+
return false;
|
560
|
+
}
|
561
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXRowIndexColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
562
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: AXRowIndexColumnComponent, selector: "ax-index-column", inputs: { width: "width", caption: "caption", fixed: "fixed", padZero: "padZero" }, providers: [
|
563
|
+
AXUnsubscriber,
|
564
|
+
{ provide: AXDataTableColumnComponent, useExisting: AXRowIndexColumnComponent },
|
565
|
+
], viewQueries: [{ propertyName: "_template", first: true, predicate: TemplateRef, descendants: true }], usesInheritance: true, ngImport: i0, template: ` <ng-template let-row>
|
566
|
+
<span> {{ row.rowIndex + 1 | format: 'number' : 'D' + formatCount }}</span>
|
567
|
+
</ng-template>`, isInline: true, dependencies: [{ kind: "pipe", type: i1$1.AXFormatPipe, name: "format" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
568
|
+
}
|
569
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXRowIndexColumnComponent, decorators: [{
|
570
|
+
type: Component,
|
571
|
+
args: [{
|
572
|
+
selector: 'ax-index-column',
|
573
|
+
template: ` <ng-template let-row>
|
574
|
+
<span> {{ row.rowIndex + 1 | format: 'number' : 'D' + formatCount }}</span>
|
575
|
+
</ng-template>`,
|
576
|
+
encapsulation: ViewEncapsulation.None,
|
577
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
578
|
+
providers: [
|
579
|
+
AXUnsubscriber,
|
580
|
+
{ provide: AXDataTableColumnComponent, useExisting: AXRowIndexColumnComponent },
|
581
|
+
],
|
582
|
+
inputs: ['width', 'caption', 'fixed'],
|
583
|
+
}]
|
584
|
+
}], propDecorators: { _template: [{
|
585
|
+
type: ViewChild,
|
586
|
+
args: [TemplateRef]
|
587
|
+
}], padZero: [{
|
588
|
+
type: Input
|
589
|
+
}] } });
|
590
|
+
|
591
|
+
class AXRowSelectColumnComponent extends AXDataTableColumnComponent {
|
592
|
+
constructor() {
|
593
|
+
super(...arguments);
|
594
|
+
this.grid = inject(AXDataTableComponent);
|
595
|
+
}
|
596
|
+
get template() {
|
597
|
+
return this._template;
|
598
|
+
}
|
599
|
+
isSelected(item) {
|
600
|
+
return item != null && this.grid.selectedRows.includes(item);
|
601
|
+
}
|
602
|
+
handleChange(item) {
|
603
|
+
if (this.isSelected(item)) {
|
604
|
+
this.grid.unSelectRows(item);
|
605
|
+
}
|
606
|
+
else {
|
607
|
+
this.grid.selectRows(item);
|
608
|
+
}
|
609
|
+
}
|
610
|
+
get skeleton() {
|
611
|
+
return false;
|
612
|
+
}
|
613
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXRowSelectColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
614
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: AXRowSelectColumnComponent, selector: "ax-select-column", inputs: { width: "width", caption: "caption", fixed: "fixed" }, providers: [{ provide: AXDataTableColumnComponent, useExisting: AXRowSelectColumnComponent }], viewQueries: [{ propertyName: "_template", first: true, predicate: TemplateRef, descendants: true }], usesInheritance: true, ngImport: i0, template: ` <ng-template let-row>
|
615
|
+
<input
|
616
|
+
class="ax-checkbox"
|
617
|
+
type="checkbox"
|
618
|
+
[disabled]="!row.data"
|
619
|
+
(change)="handleChange(row.data)"
|
620
|
+
[checked]="isSelected(row.data)"
|
621
|
+
/>
|
622
|
+
</ng-template>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
623
|
+
}
|
624
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXRowSelectColumnComponent, decorators: [{
|
625
|
+
type: Component,
|
626
|
+
args: [{
|
627
|
+
selector: 'ax-select-column',
|
628
|
+
template: ` <ng-template let-row>
|
629
|
+
<input
|
630
|
+
class="ax-checkbox"
|
631
|
+
type="checkbox"
|
632
|
+
[disabled]="!row.data"
|
633
|
+
(change)="handleChange(row.data)"
|
634
|
+
[checked]="isSelected(row.data)"
|
635
|
+
/>
|
636
|
+
</ng-template>`,
|
637
|
+
encapsulation: ViewEncapsulation.None,
|
638
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
639
|
+
providers: [{ provide: AXDataTableColumnComponent, useExisting: AXRowSelectColumnComponent }],
|
640
|
+
inputs: ['width', 'caption', 'fixed'],
|
641
|
+
}]
|
642
|
+
}], propDecorators: { _template: [{
|
643
|
+
type: ViewChild,
|
644
|
+
args: [TemplateRef]
|
645
|
+
}] } });
|
646
|
+
|
632
647
|
const COMPONENT = [
|
633
648
|
AXDataTableComponent,
|
634
649
|
AXDataTableTextColumnComponent,
|
635
650
|
AXRowIndexColumnComponent,
|
636
651
|
AXRowSelectColumnComponent,
|
637
652
|
AXRowCommandColumnComponent,
|
638
|
-
AXRowDropdownCommandColumnComponent
|
653
|
+
AXRowDropdownCommandColumnComponent,
|
639
654
|
];
|
640
655
|
const MODULES = [
|
641
656
|
CommonModule,
|
@@ -648,7 +663,7 @@ const MODULES = [
|
|
648
663
|
AXSkeletonModule,
|
649
664
|
AXButtonModule,
|
650
665
|
AXDropdownModule,
|
651
|
-
AXFormatModule
|
666
|
+
AXFormatModule,
|
652
667
|
];
|
653
668
|
class AXDataTableModule {
|
654
669
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXDataTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|