@acorex/components 7.17.24 → 7.17.26

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.
Files changed (33) hide show
  1. package/common/lib/components/value-component.class.d.ts +2 -0
  2. package/data-table/index.d.ts +1 -0
  3. package/data-table/lib/columns/data-table-column-resizable.directive.d.ts +22 -0
  4. package/data-table/lib/columns/data-table-column.d.ts +1 -0
  5. package/data-table/lib/columns/data-text-column.component.d.ts +1 -1
  6. package/data-table/lib/data-table.module.d.ts +13 -12
  7. package/dialog/lib/dialog.component.d.ts +0 -1
  8. package/esm2022/action-sheet/lib/action-sheet.component.mjs +3 -2
  9. package/esm2022/common/lib/components/value-component.class.mjs +13 -1
  10. package/esm2022/data-table/index.mjs +2 -1
  11. package/esm2022/data-table/lib/columns/data-table-column-resizable.directive.mjs +54 -0
  12. package/esm2022/data-table/lib/columns/data-table-column.mjs +4 -1
  13. package/esm2022/data-table/lib/columns/data-text-column.component.mjs +3 -3
  14. package/esm2022/data-table/lib/data-table.component.mjs +3 -3
  15. package/esm2022/data-table/lib/data-table.module.mjs +7 -3
  16. package/esm2022/dialog/lib/dialog.component.mjs +1 -4
  17. package/esm2022/form/lib/form.component.mjs +9 -7
  18. package/esm2022/side-menu/lib/side-menu.component.mjs +1 -4
  19. package/fesm2022/acorex-components-action-sheet.mjs +2 -1
  20. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  21. package/fesm2022/acorex-components-common.mjs +12 -0
  22. package/fesm2022/acorex-components-common.mjs.map +1 -1
  23. package/fesm2022/acorex-components-data-table.mjs +64 -8
  24. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  25. package/fesm2022/acorex-components-dialog.mjs +0 -3
  26. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  27. package/fesm2022/acorex-components-form.mjs +7 -5
  28. package/fesm2022/acorex-components-form.mjs.map +1 -1
  29. package/fesm2022/acorex-components-side-menu.mjs +0 -3
  30. package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
  31. package/form/lib/form.component.d.ts +4 -4
  32. package/package.json +1 -1
  33. package/side-menu/lib/side-menu.component.d.ts +1 -3
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, Input, inject, TemplateRef, Component, ViewEncapsulation, ChangeDetectionStrategy, ViewChild, NgZone, EventEmitter, ContentChildren, Output, ChangeDetectorRef, NgModule } from '@angular/core';
2
+ import { Injectable, Input, inject, TemplateRef, Component, ViewEncapsulation, ChangeDetectionStrategy, ViewChild, NgZone, EventEmitter, ContentChildren, Output, ChangeDetectorRef, Directive, HostListener, NgModule } from '@angular/core';
3
3
  import { __metadata, __decorate } from 'tslib';
4
4
  import * as i1$1 from '@acorex/core/format';
5
5
  import { AXFormatService, AXFormatModule } from '@acorex/core/format';
@@ -30,6 +30,7 @@ class AXDataTableColumnComponent {
30
30
  constructor() {
31
31
  this.width = 'auto';
32
32
  this.allowSorting = false;
33
+ this.allowResizing = false;
33
34
  this.sortIndex = undefined;
34
35
  this.sortOrder = undefined;
35
36
  }
@@ -49,6 +50,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
49
50
  type: Input
50
51
  }], allowSorting: [{
51
52
  type: Input
53
+ }], allowResizing: [{
54
+ type: Input
52
55
  }], sortIndex: [{
53
56
  type: Input
54
57
  }], sortOrder: [{
@@ -80,7 +83,7 @@ class AXDataTableTextColumnComponent extends AXDataTableColumnComponent {
80
83
  return !this.format ? value : this.formatService.format(value, this.format, ...options);
81
84
  }
82
85
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXDataTableTextColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
83
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: AXDataTableTextColumnComponent, selector: "ax-text-column", inputs: { width: "width", caption: "caption", headerTemplate: "headerTemplate", cellTemplate: "cellTemplate", allowSorting: "allowSorting", fixed: "fixed", dataField: "dataField", wrapText: "wrapText", 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>
86
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: AXDataTableTextColumnComponent, selector: "ax-text-column", inputs: { width: "width", caption: "caption", headerTemplate: "headerTemplate", cellTemplate: "cellTemplate", allowSorting: "allowSorting", allowResizing: "allowResizing", fixed: "fixed", dataField: "dataField", wrapText: "wrapText", 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>
84
87
  {{ getDisplayText(row.data, this.dataField) }}
85
88
  </ng-template>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
86
89
  }
@@ -100,7 +103,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
100
103
  encapsulation: ViewEncapsulation.None,
101
104
  changeDetection: ChangeDetectionStrategy.OnPush,
102
105
  providers: [{ provide: AXDataTableColumnComponent, useExisting: AXDataTableTextColumnComponent }],
103
- inputs: ['width', 'caption', 'headerTemplate', 'cellTemplate', 'allowSorting', 'fixed'],
106
+ inputs: ['width', 'caption', 'headerTemplate', 'cellTemplate', 'allowSorting', 'allowResizing', 'fixed'],
104
107
  }]
105
108
  }], propDecorators: { dataField: [{
106
109
  type: Input
@@ -331,11 +334,11 @@ class AXDataTableComponent extends MXBaseComponent {
331
334
  this.updateHScroll();
332
335
  }
333
336
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXDataTableComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
334
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.8", type: AXDataTableComponent, selector: "ax-data-table", inputs: { rowTemplate: "rowTemplate", emptyTemplate: "emptyTemplate", showHeader: "showHeader", fetchDataMode: "fetchDataMode", dataSource: "dataSource", loading: "loading", focusedRow: "focusedRow", selectedRows: "selectedRows", itemHeight: "itemHeight" }, outputs: { onPageChanged: "onPageChanged", onRowClick: "onRowClick", onRowDbClick: "onRowDbClick", 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 }, { propertyName: "scrollableContainer", first: true, predicate: ["scrolling"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-header\"> </ng-content>\n<!------------------- Header contents ------------------->\n<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()\"></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()\"></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 #scrolling [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 *cdkVirtualFor=\"\n let item of listDataSource;\n templateCacheSize: 100;\n let i = index;\n trackBy: trackByIdx;\n let rIndex = index\n \">\n <!------------------- custom row template------------------->\n @if (rowTemplate != null) {\n <ng-container *ngTemplateOutlet=\"rowTemplate; context: { $implicit: { data: item, rowIndex: rIndex } }\">\n </ng-container>\n } @else {\n <!------------------- normal row template------------------->\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 @for (c of notFixedColumn(); track c.name) {\n <!------------------- custom cell template ------------------->\n @if (c.cellTemplate) {\n <ng-container *ngTemplateOutlet=\"\n c.cellTemplate;\n context: { $implicit: { data: item, rowIndex: rIndex } }\n \">\n </ng-container>\n } @else {\n <!------------------- default cell template ------------------->\n <td [attr.data-label]=\"c.caption\" tabindex=\"0\" [class]=\"c.cssClass\">\n @if (item) {\n <!------------------- render cell ------------------->\n <ng-container *ngTemplateOutlet=\"\n c.template;\n context: { $implicit: { data: item, rowIndex: rIndex } }\n \"></ng-container>\n } @else {\n <!------------------- render loading ------------------->\n @if (c.loadingEnabled && loading) {\n <ax-skeleton [animated]=\"loading.animation\"></ax-skeleton>\n }\n }\n </td>\n }\n }\n <td></td>\n </tr>\n }\n </ng-container>\n </tbody>\n </table>\n </cdk-virtual-scroll-viewport>\n </div>\n </div>\n</div>\n<div class=\"ax-table-footer\" #footerContainer>\n <div class=\"ax-table-info\">\n <div>Showing {{ startRowIndex }} of {{ totalRows }} items</div>\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"refresh()\">\n <ax-icon icon=\"ax-icon ax-icon-refresh\"></ax-icon>\n </ax-button>\n </div>\n <ng-content select=\"ax-footer\"> </ng-content>\n</div>", styles: [".ax-dark ax-data-table .ax-header-content th.ax-interactive:hover{background-color:rgba(var(--ax-color-neutral-500))!important}.ax-dark ax-data-table .ax-body-content tr:hover td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-800))!important;color:rgba(var(--ax-color-primary-fore))!important}.ax-dark ax-data-table .ax-body-content tr.ax-state-focused td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-900))!important;color:rgba(var(--ax-color-primary-fore))!important}.ax-dark ax-data-table .ax-body-content tr.ax-state-focused:hover td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-800))!important}.ax-dark ax-data-table .ax-body-content tr.ax-state-selected td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-900))!important;color:rgba(var(--ax-color-primary-fore))!important}.ax-dark ax-data-table .ax-body-content tr.ax-state-selected:hover td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-800))!important}ax-data-table{display:block;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));background-color:rgba(var(--ax-color-on-surface));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{background-color:rgba(var(--ax-color-neutral-200))}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(2n) td{background-color:rgba(var(--ax-color-on-surface))}ax-data-table .ax-body-content .ax-body-columns table tr:nth-child(2n) 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){background-color:rgba(var(--ax-color-primary-200))}ax-data-table .ax-body-content .ax-body-columns table tr.ax-state-focused td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-200));color:rgba(var(--ax-color-primary-fore-tint))}ax-data-table .ax-body-content .ax-body-columns table tr.ax-state-focused:hover td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-300))}ax-data-table .ax-body-content .ax-body-columns table tr.ax-state-selected td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-300));color:rgba(var(--ax-color-primary-fore-tint))}ax-data-table .ax-body-content .ax-body-columns table tr.ax-state-selected:hover td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-400));color:rgba(var(--ax-color-primary-fore))}ax-data-table .ax-body-content .ax-body-columns table td{position:relative;min-width:2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom-width:1px;border-inline-end-width:1px;border-color:rgba(var(--ax-color-border-default));background-color:rgba(var(--ax-color-surface));padding:.5rem 1rem;vertical-align:middle}ax-data-table .ax-body-content .ax-body-columns table td.ax-index-column{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background-color:rgba(var(--ax-color-on-surface));text-align:center}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column button.ax-state-disabled{position:relative!important;cursor:not-allowed!important;opacity:.5!important}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column>div{position:absolute;inset-inline-start:0px;top:50%;display:flex;width:100%;transform:translateY(-50%);align-items:center;justify-content:center}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column button{position:relative;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:var(--ax-rounded-border-default);border-style:none;border-color:rgba(var(--ax-color-border-default));background-color:transparent;padding:.25rem;line-height:1;color:rgba(var(--ax-color-ghost-fore))}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column button:hover:not(ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column button:hover.ax-state-selected,ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column button:hover.ax-state-disabled){opacity:.75}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column button:active{opacity:1}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column button .ax-ripple{background-color:rgba(var(--ax-color-ghost-fore),.05)}ax-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.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i4.AXSkeletonComponent, selector: "ax-skeleton", inputs: ["animated"] }, { kind: "component", type: i5.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
337
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.8", type: AXDataTableComponent, selector: "ax-data-table", inputs: { rowTemplate: "rowTemplate", emptyTemplate: "emptyTemplate", showHeader: "showHeader", fetchDataMode: "fetchDataMode", dataSource: "dataSource", loading: "loading", focusedRow: "focusedRow", selectedRows: "selectedRows", itemHeight: "itemHeight" }, outputs: { onPageChanged: "onPageChanged", onRowClick: "onRowClick", onRowDbClick: "onRowDbClick", 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 }, { propertyName: "scrollableContainer", first: true, predicate: ["scrolling"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-header\"> </ng-content>\n<!------------------- Header contents ------------------->\n<div class=\"ax-header-content\" *ngIf=\"showHeader\">\n <div class=\"ax-header-columns\">\n <table tabindex=\"0\" [style.width]=\"width\" #headerContainer>\n <thead>\n <tr>\n @for(c of notFixedColumn();track c.name)\n {\n <th [class.ax-interactive]=\"c.allowSorting\" (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [style.width]=\"c.width\">\n @if(c.headerTemplate)\n {\n <ng-container *ngTemplateOutlet=\"c.headerTemplate\"></ng-container>\n }\n @else {\n <div class=\"ax-caption\">\n {{ c.caption }}\n <ax-icon *ngIf=\"getSort(c)\" icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n </div>\n }\n <!-- @if(c.allowResizing)\n {\n <div class=\"ax-resize-handle\" [ax-table-column-resizble]=\"c\"></div>\n } -->\n </th>\n }\n <th></th>\n </tr>\n </thead>\n </table>\n </div>\n</div>\n<!------------------- Body contents ------------------->\n<div [style.height]=\"height\" class=\"ax-body-content\">\n <div class=\"ax-body-columns\">\n <div cdkVirtualScrollingElement #scrolling [style.height]=\"'100%'\" (scroll)=\"_handleOnScroll($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 ax-relative\" [style.width]=\"width\">\n <colgroup>\n @for(c of notFixedColumn();track c.name)\n {\n <col [style.width]=\"c.width\" />\n }\n <col />\n </colgroup>\n <tbody>\n <ng-container *cdkVirtualFor=\"\n let item of listDataSource;\n templateCacheSize: 100;\n let i = index;\n trackBy: trackByIdx;\n let rIndex = index\n \">\n <!------------------- custom row template------------------->\n @if (rowTemplate != null) {\n <ng-container *ngTemplateOutlet=\"rowTemplate; context: { $implicit: { data: item, rowIndex: rIndex } }\">\n </ng-container>\n } @else {\n <!------------------- normal row template------------------->\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\n <!------------------- Not fixed column ------------------->\n @for (c of notFixedColumn(); track c.name) {\n <!------------------- custom cell template ------------------->\n @if (c.cellTemplate) {\n <ng-container *ngTemplateOutlet=\"\n c.cellTemplate;\n context: { $implicit: { data: item, rowIndex: rIndex } }\n \">\n </ng-container>\n } @else {\n <!------------------- default cell template ------------------->\n <td [attr.data-label]=\"c.caption\" tabindex=\"0\" [class]=\"c.cssClass\">\n @if (item) {\n <!------------------- render cell ------------------->\n <ng-container *ngTemplateOutlet=\"\n c.template;\n context: { $implicit: { data: item, rowIndex: rIndex } }\n \"></ng-container>\n } @else {\n <!------------------- render loading ------------------->\n @if (c.loadingEnabled && loading) {\n <ax-skeleton [animated]=\"loading.animation\"></ax-skeleton>\n }\n }\n </td>\n }\n }\n <td></td>\n </tr>\n }\n </ng-container>\n </tbody>\n </table>\n </cdk-virtual-scroll-viewport>\n </div>\n </div>\n</div>\n<div class=\"ax-table-footer\" #footerContainer>\n <div class=\"ax-table-info\">\n <div>Showing {{ startRowIndex }} of {{ totalRows }} items</div>\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"refresh()\">\n <ax-icon icon=\"ax-icon ax-icon-refresh\"></ax-icon>\n </ax-button>\n </div>\n <ng-content select=\"ax-footer\"> </ng-content>\n</div>", styles: [".ax-dark ax-data-table .ax-header-content th.ax-interactive:hover{background-color:rgba(var(--ax-color-neutral-500))!important}.ax-dark ax-data-table .ax-body-content tr:hover td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-800))!important;color:rgba(var(--ax-color-primary-fore))!important}.ax-dark ax-data-table .ax-body-content tr.ax-state-focused td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-900))!important;color:rgba(var(--ax-color-primary-fore))!important}.ax-dark ax-data-table .ax-body-content tr.ax-state-focused:hover td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-800))!important}.ax-dark ax-data-table .ax-body-content tr.ax-state-selected td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-900))!important;color:rgba(var(--ax-color-primary-fore))!important}.ax-dark ax-data-table .ax-body-content tr.ax-state-selected:hover td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-800))!important}ax-data-table{display:block;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));background-color:rgba(var(--ax-color-on-surface));padding:.75rem 1rem;text-align:start;font-weight:500;text-transform:uppercase;position:relative}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{background-color:rgba(var(--ax-color-neutral-200))}ax-data-table .ax-header-content .ax-header-columns>table th .ax-resize-handle{position:absolute;right:0;top:0;bottom:0;width:4px;cursor:col-resize;background:transparent}ax-data-table .ax-header-content .ax-header-columns>table th .ax-resize-handle:hover{background-color:rgba(var(--ax-color-neutral-300))}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(2n) td{background-color:rgba(var(--ax-color-on-surface))}ax-data-table .ax-body-content .ax-body-columns table tr:nth-child(2n) 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){background-color:rgba(var(--ax-color-primary-200))}ax-data-table .ax-body-content .ax-body-columns table tr.ax-state-focused td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-200));color:rgba(var(--ax-color-primary-fore-tint))}ax-data-table .ax-body-content .ax-body-columns table tr.ax-state-focused:hover td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-300))}ax-data-table .ax-body-content .ax-body-columns table tr.ax-state-selected td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-300));color:rgba(var(--ax-color-primary-fore-tint))}ax-data-table .ax-body-content .ax-body-columns table tr.ax-state-selected:hover td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-400));color:rgba(var(--ax-color-primary-fore))}ax-data-table .ax-body-content .ax-body-columns table td{position:relative;min-width:2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom-width:1px;border-inline-end-width:1px;border-color:rgba(var(--ax-color-border-default));background-color:rgba(var(--ax-color-surface));padding:.5rem 1rem;vertical-align:middle}ax-data-table .ax-body-content .ax-body-columns table td.ax-index-column{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background-color:rgba(var(--ax-color-on-surface));text-align:center}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column button.ax-state-disabled{position:relative!important;cursor:not-allowed!important;opacity:.5!important}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column>div{position:absolute;inset-inline-start:0px;top:50%;display:flex;width:100%;transform:translateY(-50%);align-items:center;justify-content:center}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column button{position:relative;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:var(--ax-rounded-border-default);border-style:none;border-color:rgba(var(--ax-color-border-default));background-color:transparent;padding:.25rem;line-height:1;color:rgba(var(--ax-color-ghost-fore))}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column button:hover:not(ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column button:hover.ax-state-selected,ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column button:hover.ax-state-disabled){opacity:.75}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column button:active{opacity:1}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column button .ax-ripple{background-color:rgba(var(--ax-color-ghost-fore),.05)}ax-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.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.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i4.AXSkeletonComponent, selector: "ax-skeleton", inputs: ["animated"] }, { kind: "component", type: i5.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
335
338
  }
336
339
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXDataTableComponent, decorators: [{
337
340
  type: Component,
338
- args: [{ selector: 'ax-data-table', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: AXPagedComponent, useExisting: AXDataTableComponent }], template: "<ng-content select=\"ax-header\"> </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()\"></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()\"></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 #scrolling [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 *cdkVirtualFor=\"\n let item of listDataSource;\n templateCacheSize: 100;\n let i = index;\n trackBy: trackByIdx;\n let rIndex = index\n \">\n <!------------------- custom row template------------------->\n @if (rowTemplate != null) {\n <ng-container *ngTemplateOutlet=\"rowTemplate; context: { $implicit: { data: item, rowIndex: rIndex } }\">\n </ng-container>\n } @else {\n <!------------------- normal row template------------------->\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 @for (c of notFixedColumn(); track c.name) {\n <!------------------- custom cell template ------------------->\n @if (c.cellTemplate) {\n <ng-container *ngTemplateOutlet=\"\n c.cellTemplate;\n context: { $implicit: { data: item, rowIndex: rIndex } }\n \">\n </ng-container>\n } @else {\n <!------------------- default cell template ------------------->\n <td [attr.data-label]=\"c.caption\" tabindex=\"0\" [class]=\"c.cssClass\">\n @if (item) {\n <!------------------- render cell ------------------->\n <ng-container *ngTemplateOutlet=\"\n c.template;\n context: { $implicit: { data: item, rowIndex: rIndex } }\n \"></ng-container>\n } @else {\n <!------------------- render loading ------------------->\n @if (c.loadingEnabled && loading) {\n <ax-skeleton [animated]=\"loading.animation\"></ax-skeleton>\n }\n }\n </td>\n }\n }\n <td></td>\n </tr>\n }\n </ng-container>\n </tbody>\n </table>\n </cdk-virtual-scroll-viewport>\n </div>\n </div>\n</div>\n<div class=\"ax-table-footer\" #footerContainer>\n <div class=\"ax-table-info\">\n <div>Showing {{ startRowIndex }} of {{ totalRows }} items</div>\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"refresh()\">\n <ax-icon icon=\"ax-icon ax-icon-refresh\"></ax-icon>\n </ax-button>\n </div>\n <ng-content select=\"ax-footer\"> </ng-content>\n</div>", styles: [".ax-dark ax-data-table .ax-header-content th.ax-interactive:hover{background-color:rgba(var(--ax-color-neutral-500))!important}.ax-dark ax-data-table .ax-body-content tr:hover td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-800))!important;color:rgba(var(--ax-color-primary-fore))!important}.ax-dark ax-data-table .ax-body-content tr.ax-state-focused td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-900))!important;color:rgba(var(--ax-color-primary-fore))!important}.ax-dark ax-data-table .ax-body-content tr.ax-state-focused:hover td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-800))!important}.ax-dark ax-data-table .ax-body-content tr.ax-state-selected td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-900))!important;color:rgba(var(--ax-color-primary-fore))!important}.ax-dark ax-data-table .ax-body-content tr.ax-state-selected:hover td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-800))!important}ax-data-table{display:block;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));background-color:rgba(var(--ax-color-on-surface));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{background-color:rgba(var(--ax-color-neutral-200))}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(2n) td{background-color:rgba(var(--ax-color-on-surface))}ax-data-table .ax-body-content .ax-body-columns table tr:nth-child(2n) 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){background-color:rgba(var(--ax-color-primary-200))}ax-data-table .ax-body-content .ax-body-columns table tr.ax-state-focused td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-200));color:rgba(var(--ax-color-primary-fore-tint))}ax-data-table .ax-body-content .ax-body-columns table tr.ax-state-focused:hover td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-300))}ax-data-table .ax-body-content .ax-body-columns table tr.ax-state-selected td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-300));color:rgba(var(--ax-color-primary-fore-tint))}ax-data-table .ax-body-content .ax-body-columns table tr.ax-state-selected:hover td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-400));color:rgba(var(--ax-color-primary-fore))}ax-data-table .ax-body-content .ax-body-columns table td{position:relative;min-width:2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom-width:1px;border-inline-end-width:1px;border-color:rgba(var(--ax-color-border-default));background-color:rgba(var(--ax-color-surface));padding:.5rem 1rem;vertical-align:middle}ax-data-table .ax-body-content .ax-body-columns table td.ax-index-column{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background-color:rgba(var(--ax-color-on-surface));text-align:center}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column button.ax-state-disabled{position:relative!important;cursor:not-allowed!important;opacity:.5!important}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column>div{position:absolute;inset-inline-start:0px;top:50%;display:flex;width:100%;transform:translateY(-50%);align-items:center;justify-content:center}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column button{position:relative;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:var(--ax-rounded-border-default);border-style:none;border-color:rgba(var(--ax-color-border-default));background-color:transparent;padding:.25rem;line-height:1;color:rgba(var(--ax-color-ghost-fore))}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column button:hover:not(ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column button:hover.ax-state-selected,ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column button:hover.ax-state-disabled){opacity:.75}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column button:active{opacity:1}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column button .ax-ripple{background-color:rgba(var(--ax-color-ghost-fore),.05)}ax-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"] }]
341
+ args: [{ selector: 'ax-data-table', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: AXPagedComponent, useExisting: AXDataTableComponent }], template: "<ng-content select=\"ax-header\"> </ng-content>\n<!------------------- Header contents ------------------->\n<div class=\"ax-header-content\" *ngIf=\"showHeader\">\n <div class=\"ax-header-columns\">\n <table tabindex=\"0\" [style.width]=\"width\" #headerContainer>\n <thead>\n <tr>\n @for(c of notFixedColumn();track c.name)\n {\n <th [class.ax-interactive]=\"c.allowSorting\" (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [style.width]=\"c.width\">\n @if(c.headerTemplate)\n {\n <ng-container *ngTemplateOutlet=\"c.headerTemplate\"></ng-container>\n }\n @else {\n <div class=\"ax-caption\">\n {{ c.caption }}\n <ax-icon *ngIf=\"getSort(c)\" icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n </div>\n }\n <!-- @if(c.allowResizing)\n {\n <div class=\"ax-resize-handle\" [ax-table-column-resizble]=\"c\"></div>\n } -->\n </th>\n }\n <th></th>\n </tr>\n </thead>\n </table>\n </div>\n</div>\n<!------------------- Body contents ------------------->\n<div [style.height]=\"height\" class=\"ax-body-content\">\n <div class=\"ax-body-columns\">\n <div cdkVirtualScrollingElement #scrolling [style.height]=\"'100%'\" (scroll)=\"_handleOnScroll($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 ax-relative\" [style.width]=\"width\">\n <colgroup>\n @for(c of notFixedColumn();track c.name)\n {\n <col [style.width]=\"c.width\" />\n }\n <col />\n </colgroup>\n <tbody>\n <ng-container *cdkVirtualFor=\"\n let item of listDataSource;\n templateCacheSize: 100;\n let i = index;\n trackBy: trackByIdx;\n let rIndex = index\n \">\n <!------------------- custom row template------------------->\n @if (rowTemplate != null) {\n <ng-container *ngTemplateOutlet=\"rowTemplate; context: { $implicit: { data: item, rowIndex: rIndex } }\">\n </ng-container>\n } @else {\n <!------------------- normal row template------------------->\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\n <!------------------- Not fixed column ------------------->\n @for (c of notFixedColumn(); track c.name) {\n <!------------------- custom cell template ------------------->\n @if (c.cellTemplate) {\n <ng-container *ngTemplateOutlet=\"\n c.cellTemplate;\n context: { $implicit: { data: item, rowIndex: rIndex } }\n \">\n </ng-container>\n } @else {\n <!------------------- default cell template ------------------->\n <td [attr.data-label]=\"c.caption\" tabindex=\"0\" [class]=\"c.cssClass\">\n @if (item) {\n <!------------------- render cell ------------------->\n <ng-container *ngTemplateOutlet=\"\n c.template;\n context: { $implicit: { data: item, rowIndex: rIndex } }\n \"></ng-container>\n } @else {\n <!------------------- render loading ------------------->\n @if (c.loadingEnabled && loading) {\n <ax-skeleton [animated]=\"loading.animation\"></ax-skeleton>\n }\n }\n </td>\n }\n }\n <td></td>\n </tr>\n }\n </ng-container>\n </tbody>\n </table>\n </cdk-virtual-scroll-viewport>\n </div>\n </div>\n</div>\n<div class=\"ax-table-footer\" #footerContainer>\n <div class=\"ax-table-info\">\n <div>Showing {{ startRowIndex }} of {{ totalRows }} items</div>\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"refresh()\">\n <ax-icon icon=\"ax-icon ax-icon-refresh\"></ax-icon>\n </ax-button>\n </div>\n <ng-content select=\"ax-footer\"> </ng-content>\n</div>", styles: [".ax-dark ax-data-table .ax-header-content th.ax-interactive:hover{background-color:rgba(var(--ax-color-neutral-500))!important}.ax-dark ax-data-table .ax-body-content tr:hover td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-800))!important;color:rgba(var(--ax-color-primary-fore))!important}.ax-dark ax-data-table .ax-body-content tr.ax-state-focused td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-900))!important;color:rgba(var(--ax-color-primary-fore))!important}.ax-dark ax-data-table .ax-body-content tr.ax-state-focused:hover td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-800))!important}.ax-dark ax-data-table .ax-body-content tr.ax-state-selected td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-900))!important;color:rgba(var(--ax-color-primary-fore))!important}.ax-dark ax-data-table .ax-body-content tr.ax-state-selected:hover td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-800))!important}ax-data-table{display:block;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));background-color:rgba(var(--ax-color-on-surface));padding:.75rem 1rem;text-align:start;font-weight:500;text-transform:uppercase;position:relative}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{background-color:rgba(var(--ax-color-neutral-200))}ax-data-table .ax-header-content .ax-header-columns>table th .ax-resize-handle{position:absolute;right:0;top:0;bottom:0;width:4px;cursor:col-resize;background:transparent}ax-data-table .ax-header-content .ax-header-columns>table th .ax-resize-handle:hover{background-color:rgba(var(--ax-color-neutral-300))}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(2n) td{background-color:rgba(var(--ax-color-on-surface))}ax-data-table .ax-body-content .ax-body-columns table tr:nth-child(2n) 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){background-color:rgba(var(--ax-color-primary-200))}ax-data-table .ax-body-content .ax-body-columns table tr.ax-state-focused td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-200));color:rgba(var(--ax-color-primary-fore-tint))}ax-data-table .ax-body-content .ax-body-columns table tr.ax-state-focused:hover td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-300))}ax-data-table .ax-body-content .ax-body-columns table tr.ax-state-selected td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-300));color:rgba(var(--ax-color-primary-fore-tint))}ax-data-table .ax-body-content .ax-body-columns table tr.ax-state-selected:hover td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-400));color:rgba(var(--ax-color-primary-fore))}ax-data-table .ax-body-content .ax-body-columns table td{position:relative;min-width:2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom-width:1px;border-inline-end-width:1px;border-color:rgba(var(--ax-color-border-default));background-color:rgba(var(--ax-color-surface));padding:.5rem 1rem;vertical-align:middle}ax-data-table .ax-body-content .ax-body-columns table td.ax-index-column{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background-color:rgba(var(--ax-color-on-surface));text-align:center}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column button.ax-state-disabled{position:relative!important;cursor:not-allowed!important;opacity:.5!important}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column>div{position:absolute;inset-inline-start:0px;top:50%;display:flex;width:100%;transform:translateY(-50%);align-items:center;justify-content:center}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column button{position:relative;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:var(--ax-rounded-border-default);border-style:none;border-color:rgba(var(--ax-color-border-default));background-color:transparent;padding:.25rem;line-height:1;color:rgba(var(--ax-color-ghost-fore))}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column button:hover:not(ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column button:hover.ax-state-selected,ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column button:hover.ax-state-disabled){opacity:.75}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column button:active{opacity:1}ax-data-table .ax-body-content .ax-body-columns table td.ax-command-column button .ax-ripple{background-color:rgba(var(--ax-color-ghost-fore),.05)}ax-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"] }]
339
342
  }], propDecorators: { columns: [{
340
343
  type: ContentChildren,
341
344
  args: [AXDataTableColumnComponent]
@@ -708,6 +711,56 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
708
711
  args: [TemplateRef]
709
712
  }] } });
710
713
 
714
+ class AXDataTableColumnResizableDirective {
715
+ constructor(el, renderer, ngZone, cdr) {
716
+ this.el = el;
717
+ this.renderer = renderer;
718
+ this.ngZone = ngZone;
719
+ this.cdr = cdr;
720
+ this.resize$ = new Subject();
721
+ this.onMouseMoveRawBound = this.onMouseMoveRaw.bind(this);
722
+ this.onMouseUpBound = this.onMouseUp.bind(this);
723
+ this.resize$.pipe(debounceTime(10)).subscribe(event => this.onMouseMove(event));
724
+ }
725
+ onMouseDown(event) {
726
+ event.stopPropagation();
727
+ this.ngZone.runOutsideAngular(() => {
728
+ this.startX = event.pageX;
729
+ this.startWidth = this.el.nativeElement.parentElement.offsetWidth;
730
+ document.addEventListener('mousemove', this.onMouseMoveRawBound);
731
+ document.addEventListener('mouseup', this.onMouseUpBound);
732
+ });
733
+ this.cdr.detach(); // Detach the change detector
734
+ }
735
+ onMouseMoveRaw(event) {
736
+ this.resize$.next(event);
737
+ }
738
+ onMouseMove(event) {
739
+ const newWidth = this.startWidth + (event.pageX - this.startX);
740
+ this.renderer.setStyle(this.el.nativeElement.parentElement, 'width', `${newWidth}px`);
741
+ this.column.width = `${newWidth}px`;
742
+ }
743
+ onMouseUp() {
744
+ document.removeEventListener('mousemove', this.onMouseMoveRawBound);
745
+ document.removeEventListener('mouseup', this.onMouseUpBound);
746
+ this.cdr.reattach(); // Reattach the change detector
747
+ }
748
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXDataTableColumnResizableDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
749
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.8", type: AXDataTableColumnResizableDirective, selector: "[ax-table-column-resizble]", inputs: { column: ["ax-table-column-resizble", "column"] }, host: { listeners: { "mousedown": "onMouseDown($event)" } }, ngImport: i0 }); }
750
+ }
751
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXDataTableColumnResizableDirective, decorators: [{
752
+ type: Directive,
753
+ args: [{
754
+ selector: '[ax-table-column-resizble]'
755
+ }]
756
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }], propDecorators: { column: [{
757
+ type: Input,
758
+ args: ['ax-table-column-resizble']
759
+ }], onMouseDown: [{
760
+ type: HostListener,
761
+ args: ['mousedown', ['$event']]
762
+ }] } });
763
+
711
764
  const COMPONENT = [
712
765
  AXDataTableComponent,
713
766
  AXDataTableTextColumnComponent,
@@ -715,6 +768,7 @@ const COMPONENT = [
715
768
  AXRowSelectColumnComponent,
716
769
  AXRowCommandColumnComponent,
717
770
  AXRowDropdownCommandColumnComponent,
771
+ AXDataTableColumnResizableDirective
718
772
  ];
719
773
  const MODULES = [
720
774
  CommonModule,
@@ -737,7 +791,8 @@ class AXDataTableModule {
737
791
  AXRowIndexColumnComponent,
738
792
  AXRowSelectColumnComponent,
739
793
  AXRowCommandColumnComponent,
740
- AXRowDropdownCommandColumnComponent], imports: [CommonModule,
794
+ AXRowDropdownCommandColumnComponent,
795
+ AXDataTableColumnResizableDirective], imports: [CommonModule,
741
796
  AXCommonModule,
742
797
  ScrollingModule,
743
798
  AXTranslationModule,
@@ -753,7 +808,8 @@ class AXDataTableModule {
753
808
  AXRowIndexColumnComponent,
754
809
  AXRowSelectColumnComponent,
755
810
  AXRowCommandColumnComponent,
756
- AXRowDropdownCommandColumnComponent] }); }
811
+ AXRowDropdownCommandColumnComponent,
812
+ AXDataTableColumnResizableDirective] }); }
757
813
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXDataTableModule, imports: [CommonModule,
758
814
  AXCommonModule,
759
815
  ScrollingModule,
@@ -780,5 +836,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
780
836
  * Generated bundle index. Do not edit.
781
837
  */
782
838
 
783
- export { AXBaseRowCommandColumnComponent, AXDataTableColumnComponent, AXDataTableComponent, AXDataTableModule, AXDataTableTextColumnComponent, AXRowCommandColumnComponent, AXRowDropdownCommandColumnComponent, AXRowIndexColumnComponent, AXRowSelectColumnComponent };
839
+ export { AXBaseRowCommandColumnComponent, AXDataTableColumnComponent, AXDataTableColumnResizableDirective, AXDataTableComponent, AXDataTableModule, AXDataTableTextColumnComponent, AXRowCommandColumnComponent, AXRowDropdownCommandColumnComponent, AXRowIndexColumnComponent, AXRowSelectColumnComponent };
784
840
  //# sourceMappingURL=acorex-components-data-table.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-data-table.mjs","sources":["../../../../libs/components/data-table/src/lib/columns/data-table-column.ts","../../../../libs/components/data-table/src/lib/columns/data-text-column.component.ts","../../../../libs/components/data-table/src/lib/data-table.component.ts","../../../../libs/components/data-table/src/lib/data-table.component.html","../../../../libs/components/data-table/src/lib/columns/row-command-column.component.ts","../../../../libs/components/data-table/src/lib/columns/row-index-column.component.ts","../../../../libs/components/data-table/src/lib/columns/row-select-column.component.ts","../../../../libs/components/data-table/src/lib/data-table.module.ts","../../../../libs/components/data-table/src/acorex-components-data-table.ts"],"sourcesContent":["import { AXSortOrder } from '@acorex/components/common';\nimport { Injectable, Input, TemplateRef } from '@angular/core';\n\n@Injectable()\nexport abstract class AXDataTableColumnComponent {\n @Input()\n caption: string;\n\n @Input()\n width: string | number = 'auto';\n\n @Input()\n fixed: 'start' | 'end' | undefined;\n\n @Input()\n allowSorting = false;\n\n @Input()\n sortIndex: number | undefined = undefined;\n\n @Input()\n sortOrder: AXSortOrder | undefined = undefined;\n\n @Input()\n headerTemplate?: TemplateRef<unknown>;\n\n @Input()\n cellTemplate?: TemplateRef<unknown>;\n\n abstract get template(): TemplateRef<unknown>;\n\n abstract get loadingEnabled(): boolean;\n\n abstract get name(): string;\n\n get cssClass(): string | undefined {\n return null;\n }\n}\n","import { AXFormatService } from '@acorex/core/format';\nimport { Memorize } from '@acorex/core/memorize';\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n inject,\n} from '@angular/core';\nimport { AXDataTableColumnComponent } from './data-table-column';\n\n@Component({\n selector: 'ax-text-column',\n template: ` <ng-template let-row>\n {{ getDisplayText(row.data, this.dataField) }}\n </ng-template>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: AXDataTableColumnComponent, useExisting: AXDataTableTextColumnComponent }],\n inputs: ['width', 'caption', 'headerTemplate', 'cellTemplate', 'allowSorting', 'fixed'],\n})\nexport class AXDataTableTextColumnComponent extends AXDataTableColumnComponent {\n @Input()\n dataField: string;\n\n @Input()\n wrapText = false;\n\n @ViewChild(TemplateRef)\n private _template: TemplateRef<unknown>;\n\n get template(): TemplateRef<unknown> {\n return this._template;\n }\n\n get loadingEnabled(): boolean {\n return true;\n }\n\n get name(): string {\n return `cl-${this.dataField}`;\n }\n\n private formatService = inject(AXFormatService);\n\n @Memorize()\n protected getDisplayText(rowData: unknown, dataField: string): string {\n const value = rowData[dataField];\n const options = Array.isArray(this.formatOptions) ? this.formatOptions : [this.formatOptions];\n return !this.format ? value : this.formatService.format(value, this.format, ...options);\n }\n\n @Input()\n format: string;\n\n @Input()\n formatOptions: unknown;\n}\n","import {\n AXDataSource,\n AXEvent,\n AXListDataSource,\n AXPagedComponent,\n AXValueChangedEvent,\n MXBaseComponent,\n convertArrayToDataSource,\n} from '@acorex/components/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n DoCheck,\n ElementRef,\n EventEmitter,\n Input,\n NgZone,\n OnInit,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n inject,\n} from '@angular/core';\n\nimport { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';\nimport sum from 'lodash-es/sum';\nimport { Subject, buffer, debounceTime, filter } from 'rxjs';\nimport { AXDataTableColumnComponent } from './columns/data-table-column';\nimport { AXDataTableTextColumnComponent } from './columns/data-text-column.component';\n\nexport interface AXDataTableScrollIndexChanged extends AXEvent {\n index: number;\n}\n\nexport interface AXDataTableRowClick extends AXEvent {\n data?: any;\n}\n\nexport interface AXDataTableRowDbClick extends AXDataTableRowClick {}\n\n@Component({\n selector: 'ax-data-table',\n templateUrl: './data-table.component.html',\n styleUrls: ['./data-table.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: AXPagedComponent, useExisting: AXDataTableComponent }],\n})\nexport class AXDataTableComponent extends MXBaseComponent implements OnInit, DoCheck {\n private ngZone = inject(NgZone);\n\n @ContentChildren(AXDataTableColumnComponent)\n protected columns: QueryList<AXDataTableColumnComponent>;\n\n protected startFixedColumn(): AXDataTableColumnComponent[] {\n return this.columns?.toArray().filter((c) => c.fixed == 'start') ?? [];\n }\n\n protected endFixedColumn(): AXDataTableColumnComponent[] {\n return this.columns?.toArray().filter((c) => c.fixed == 'end') ?? [];\n }\n\n protected notFixedColumn(): AXDataTableColumnComponent[] {\n return this.columns?.toArray().filter((c) => !c.fixed) ?? [];\n }\n\n protected notFixedColumnCount(): number {\n return this.columns?.toArray().filter((c) => !c.fixed).length ?? 0;\n }\n\n protected fixedColumnCount(): number {\n return this.columns?.toArray().filter((c) => c.fixed).length ?? 0;\n }\n\n @Output()\n onPageChanged: EventEmitter<AXValueChangedEvent<number>> = new EventEmitter<AXValueChangedEvent<number>>();\n\n private clickSubject = new Subject<{ event: MouseEvent; item: any }>();\n\n @Output()\n onRowClick: EventEmitter<AXDataTableRowClick> = new EventEmitter<AXDataTableRowClick>();\n\n @Output()\n onRowDbClick: EventEmitter<AXDataTableRowDbClick> = new EventEmitter<AXDataTableRowDbClick>();\n\n @Input()\n rowTemplate?: TemplateRef<unknown>;\n\n @Input()\n emptyTemplate?: TemplateRef<unknown>;\n\n @Input()\n showHeader = true;\n\n @Input()\n fetchDataMode: 'auto' | 'manual' = 'auto';\n\n @Input()\n dataSource: AXDataSource<unknown> = convertArrayToDataSource([]);\n\n @Input()\n loading: { enabled: boolean; animation: boolean; loadingTemplate?: TemplateRef<unknown> } = {\n enabled: true,\n animation: true,\n };\n\n protected listDataSource: AXListDataSource<unknown>;\n protected isLoading = true;\n protected hasItems = false;\n protected totalRows = 0;\n protected currentPage = 0;\n protected totalPages = 0;\n protected startRowIndex = 0;\n private lastIndex = 0;\n\n @Output()\n focusedRowChange: EventEmitter<unknown> = new EventEmitter<unknown>();\n\n private _focusedRow: unknown;\n @Input()\n public get focusedRow(): unknown {\n return this._focusedRow;\n }\n public set focusedRow(v: unknown) {\n this._focusedRow = v;\n this.focusedRowChange.emit(v);\n }\n\n @Output()\n selectedRowsChange: EventEmitter<unknown[]> = new EventEmitter<unknown[]>();\n\n private _selectedRows: unknown[] = [];\n @Input()\n public get selectedRows(): unknown[] {\n return this._selectedRows;\n }\n public set selectedRows(v: unknown[]) {\n this._selectedRows = v;\n this.selectedRowsChange.emit(v);\n }\n\n public selectRows(...rows: unknown[]) {\n this.selectedRows = [...this.selectedRows, ...rows];\n }\n\n public unSelectRows(...rows: unknown[]) {\n this.selectedRows = this.selectedRows.filter((c) => !rows.includes(c));\n }\n\n @Input()\n itemHeight: number | 'auto' = 40;\n\n protected width = '100%';\n protected height = '100%';\n\n @ViewChild(CdkVirtualScrollViewport, { static: true })\n private viewport: CdkVirtualScrollViewport;\n\n @Output()\n onScrolledIndexChanged: EventEmitter<AXDataTableScrollIndexChanged> =\n new EventEmitter<AXDataTableScrollIndexChanged>();\n\n trackByIdx(i) {\n return i;\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.listDataSource = new AXListDataSource<unknown>({\n source: this.dataSource,\n });\n this.listDataSource.source.onLoadingChanged.subscribe((data) => {\n this.isLoading = data;\n });\n this.listDataSource.source.onChanged.subscribe((data) => {\n this.totalRows = data.totalCount;\n this.hasItems = data.totalCount > 0;\n setTimeout(() => {\n this.render();\n }, 100);\n });\n\n //\n this.clickSubject\n .pipe(\n buffer(this.clickSubject.pipe(debounceTime(250))),\n filter((clickArray) => clickArray.length === 2),\n )\n .subscribe((clickArray) => {\n this.handleRowDoubleClick(clickArray[0].event, clickArray[0].item);\n });\n }\n @ViewChild('headerContainer') headerContainer: ElementRef<HTMLDivElement>;\n @ViewChild('footerContainer') footerContainer: ElementRef;\n @ViewChild('scrolling', { static: true }) scrollableContainer: ElementRef<HTMLDivElement>;\n\n protected _handleOnscrolledIndexChange(e: number) {\n this.lastIndex = e;\n this.onScrolledIndexChanged.emit({\n component: this,\n index: this.lastIndex,\n isUserInteraction: true,\n });\n }\n\n ngDoCheck() {\n //this.copyFixedColumns();\n this.updateHScroll();\n //\n this.updateWidth();\n this.updateHeight();\n //\n this.updateTotalCount();\n }\n\n private updateTotalCount() {\n this.startRowIndex = this.lastIndex;\n if (this.startRowIndex < 1) this.startRowIndex = 1;\n if (this.startRowIndex > this.totalRows) this.startRowIndex = this.totalRows;\n }\n\n private updateHeight() {\n this.height = `calc(100% - ${\n (this.headerContainer?.nativeElement.clientHeight ?? 0) +\n (this.footerContainer?.nativeElement.clientHeight ?? 0)\n }px)`;\n }\n\n private updateWidth() {\n if (this.columns && this.columns.length) {\n const sumPx = sum(\n this.columns\n .toArray()\n .map((c) => (typeof c.width == 'number' ? c.width : Number(c.width.replace('px', '')))),\n );\n this.width = `${Math.max(sumPx, this.getHostElement().clientWidth - 5)}px`;\n }\n }\n\n private updateHScroll() {\n this.ngZone.runOutsideAngular(() => {\n if (this.headerContainer) {\n const headerContainer = this.headerContainer.nativeElement;\n const left = this.scrollableContainer.nativeElement.scrollLeft;\n headerContainer.style.transform = `translateX(${-left}px)`;\n }\n });\n }\n\n // Function to copy fixed columns\n private copyFixedColumns() {\n const originalRows = Array.from(this.viewport._contentWrapper.nativeElement.querySelectorAll('tr'));\n const fixedColumnTable = this.getHostElement().querySelector<HTMLTableElement>(\n '.ax-body-fixed-columns > table > tbody',\n );\n fixedColumnTable.querySelectorAll('tr').forEach((n) => n.remove());\n for (const row of originalRows) {\n const fixedCells = Array.from(row.querySelectorAll('[data-fixed=\"start\"]'));\n const fixedRow = document.createElement('tr');\n for (const cell of fixedCells) {\n const clonedCell = cell.cloneNode(true);\n fixedRow.appendChild(clonedCell);\n }\n fixedColumnTable.appendChild(fixedRow);\n }\n const scrollTop = this.getHostElement().querySelector('.cdk-virtual-scrollable').scrollTop;\n fixedColumnTable.style.transform = `translateY(${-scrollTop}px)`;\n }\n\n public render() {\n this.viewport.checkViewportSize();\n this.viewport.scrollToIndex(this.lastIndex);\n this.cdr.markForCheck();\n }\n\n public refresh() {\n this.lastIndex = 0;\n this.dataSource.refresh();\n }\n\n protected handleRowClick(event: MouseEvent, item: unknown) {\n this.handleRowSingleClick(event, item);\n this.clickSubject.next({ event, item });\n }\n\n private handleRowSingleClick(event: Event, item: any): void {\n if (this.focusedRow == item) {\n this.focusedRow = null;\n } else {\n this.focusedRow = item;\n }\n //\n this.onRowClick.emit({\n component: this,\n data: item,\n isUserInteraction: true,\n });\n }\n\n protected handleRowDoubleClick(e: MouseEvent, item: unknown) {\n this.focusedRow = item;\n //\n this.onRowDbClick.emit({\n component: this,\n data: item,\n isUserInteraction: true,\n });\n }\n\n handleColumnClick(e: MouseEvent, column: AXDataTableColumnComponent) {\n if (column instanceof AXDataTableTextColumnComponent) {\n const sort = this.dataSource.query.sort.find((c) => c.field == column.dataField);\n if (!sort) {\n this.dataSource.query.sort.push({ field: column.dataField, dir: 'asc' });\n } else {\n if (sort.dir == 'asc') {\n sort.dir = 'desc';\n } else {\n this.dataSource.query.sort = this.dataSource.query.sort.filter((c) => c != sort);\n }\n }\n this.refresh();\n }\n }\n\n protected getSort(column: AXDataTableColumnComponent): string | undefined {\n if (column instanceof AXDataTableTextColumnComponent) {\n const sort = this.dataSource.query.sort.find((c) => c.field == column.dataField);\n return sort ? (sort.dir == 'asc' ? 'ax-icon-arrow-long-down' : 'ax-icon-arrow-long-up') : undefined;\n }\n return undefined;\n }\n\n protected _handleOnScroll(e: Event) {\n this.updateHScroll();\n }\n}\n","<ng-content select=\"ax-header\"> </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()\"></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()\"></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 #scrolling [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 *cdkVirtualFor=\"\n let item of listDataSource;\n templateCacheSize: 100;\n let i = index;\n trackBy: trackByIdx;\n let rIndex = index\n \">\n <!------------------- custom row template------------------->\n @if (rowTemplate != null) {\n <ng-container *ngTemplateOutlet=\"rowTemplate; context: { $implicit: { data: item, rowIndex: rIndex } }\">\n </ng-container>\n } @else {\n <!------------------- normal row template------------------->\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 @for (c of notFixedColumn(); track c.name) {\n <!------------------- custom cell template ------------------->\n @if (c.cellTemplate) {\n <ng-container *ngTemplateOutlet=\"\n c.cellTemplate;\n context: { $implicit: { data: item, rowIndex: rIndex } }\n \">\n </ng-container>\n } @else {\n <!------------------- default cell template ------------------->\n <td [attr.data-label]=\"c.caption\" tabindex=\"0\" [class]=\"c.cssClass\">\n @if (item) {\n <!------------------- render cell ------------------->\n <ng-container *ngTemplateOutlet=\"\n c.template;\n context: { $implicit: { data: item, rowIndex: rIndex } }\n \"></ng-container>\n } @else {\n <!------------------- render loading ------------------->\n @if (c.loadingEnabled && loading) {\n <ax-skeleton [animated]=\"loading.animation\"></ax-skeleton>\n }\n }\n </td>\n }\n }\n <td></td>\n </tr>\n }\n </ng-container>\n </tbody>\n </table>\n </cdk-virtual-scroll-viewport>\n </div>\n </div>\n</div>\n<div class=\"ax-table-footer\" #footerContainer>\n <div class=\"ax-table-info\">\n <div>Showing {{ startRowIndex }} of {{ totalRows }} items</div>\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"refresh()\">\n <ax-icon icon=\"ax-icon ax-icon-refresh\"></ax-icon>\n </ax-button>\n </div>\n <ng-content select=\"ax-footer\"> </ng-content>\n</div>","import { AXButtonItemComponent, AXButtonItemListItem } from '@acorex/components/button';\nimport { AXButtonClickEvent, AXItemClickEvent } from '@acorex/components/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n inject,\n} from '@angular/core';\nimport { AXDataTableComponent } from '../data-table.component';\nimport { AXDataTableColumnComponent } from './data-table-column';\n\nexport interface AXRowCommandItem extends AXButtonItemListItem { }\n\nexport interface AXRowCommandItemClickEvent extends AXButtonClickEvent { }\n\nexport abstract class AXBaseRowCommandColumnComponent extends AXDataTableColumnComponent {\n protected grid = inject(AXDataTableComponent);\n protected cdr = inject(ChangeDetectorRef);\n\n allowSorting = false;\n\n get loadingEnabled(): boolean {\n return false;\n }\n\n get cssClass() {\n return 'ax-command-column';\n }\n\n onItemClick: EventEmitter<AXRowCommandItemClickEvent> = new EventEmitter<AXRowCommandItemClickEvent>();\n}\n\n@Component({\n selector: 'ax-dropdown-command-column',\n template: ` <ng-template let-row>\n <div *ngIf=\"row.data\">\n <button [axRipple]>\n <ax-icon icon=\"ax-icon ax-icon-solid ax-icon-more-horizontal\"></ax-icon>\n <ax-dropdown-panel\n [adaptivityEnabled]=\"true\"\n (onOpened)=\"handleOnOpened(row.data)\"\n (onClosed)=\"handleOnClosed()\"\n >\n <ng-container *ngIf=\"_items.length; else loading\">\n <ax-button-item-list (onItemClick)=\"handleOnItemClick($event, row.data)\" [items]=\"_items\">\n </ax-button-item-list>\n </ng-container>\n <ng-template #loading>\n <div panel style=\"padding: 0.875rem;\">\n <ax-loading></ax-loading>\n </div>\n </ng-template>\n </ax-dropdown-panel>\n </button>\n </div>\n <ng-template #loading>\n <div panel style=\"padding: 0.875rem;\">\n <ax-loading></ax-loading>\n </div>\n </ng-template>\n </ng-template>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: AXDataTableColumnComponent, useExisting: AXRowDropdownCommandColumnComponent }],\n inputs: ['width', 'caption', 'fixed'],\n outputs: ['onItemClick'],\n})\nexport class AXRowDropdownCommandColumnComponent extends AXBaseRowCommandColumnComponent {\n @ViewChild(TemplateRef)\n private _template: TemplateRef<unknown>;\n\n get template(): TemplateRef<unknown> {\n return this._template;\n }\n\n get name(): string {\n return 'cl-dd-cmd';\n }\n\n protected _items: AXRowCommandItem[] = [];\n\n @Input()\n items: AXRowCommandItem[] | ((rowData: unknown) => AXRowCommandItem[] | Promise<AXRowCommandItem[]>) = [];\n\n protected async handleOnOpened(rowData) {\n if (Array.isArray(this.items)) {\n this._items = this.items;\n } else typeof this.items == 'function';\n {\n const result = (this['items'] as any)(rowData);\n if (Array.isArray(result)) {\n this._items = result;\n } else if (result instanceof Promise) {\n this._items = await result;\n }\n }\n this.cdr.detectChanges();\n }\n\n protected handleOnClosed() {\n this._items = [];\n }\n\n protected handleOnItemClick(e: AXItemClickEvent<AXButtonItemComponent>, data: unknown) {\n const args: AXRowCommandItemClickEvent = {\n component: this.grid,\n isUserInteraction: true,\n nativeEvent: e,\n data,\n name: e.name,\n };\n this.onItemClick.emit(args);\n }\n}\n\n@Component({\n selector: 'ax-command-column',\n template: ` <ng-template let-row>\n <div *ngIf=\"row.data\">\n <button\n [style.color]=\"'rgba(var(--ax-color-' + (item.color ?? 'primary)')\"\n [disabled]=\"item.disabled\"\n [class.ax-state-disabled]=\"item.disabled\"\n [axRipple]=\"!item.disabled\"\n *ngFor=\"let item of getItems(row.data)\"\n (click)=\"handleOnItemClick($event, item, row.data)\"\n >\n <ax-icon [icon]=\"item.icon\"></ax-icon>\n </button>\n </div>\n </ng-template>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: AXDataTableColumnComponent, useExisting: AXRowCommandColumnComponent }],\n inputs: ['width', 'caption', 'fixed'],\n outputs: ['onItemClick'],\n})\nexport class AXRowCommandColumnComponent extends AXBaseRowCommandColumnComponent {\n @ViewChild(TemplateRef)\n private _template: TemplateRef<unknown>;\n\n get template(): TemplateRef<unknown> {\n return this._template;\n }\n get name(): string {\n return 'cl-in-cmd';\n }\n\n @Input()\n items: AXRowCommandItem[] | ((rowData: unknown) => AXRowCommandItem[]) = [];\n\n protected getItems(rowData: unknown): AXRowCommandItem[] {\n if (Array.isArray(this.items)) {\n return this.items;\n } else typeof this.items == 'function';\n {\n return this.items(rowData);\n }\n return [];\n }\n\n protected handleOnItemClick(e: MouseEvent, item: AXRowCommandItem, data: unknown) {\n const args: AXRowCommandItemClickEvent = {\n component: this.grid,\n isUserInteraction: true,\n nativeEvent: e,\n data,\n name: item.name,\n };\n this.onItemClick.emit(args);\n }\n}\n","import { AXUnsubscriber } from '@acorex/core/utils';\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnInit,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n inject,\n} from '@angular/core';\nimport { AXDataTableComponent } from '../data-table.component';\nimport { AXDataTableColumnComponent } from './data-table-column';\n\n@Component({\n selector: 'ax-index-column',\n template: ` <ng-template let-row>\n {{ row.rowIndex + 1 | format: 'number' : 'D' + formatCount }}\n </ng-template>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n AXUnsubscriber,\n { provide: AXDataTableColumnComponent, useExisting: AXRowIndexColumnComponent },\n ],\n inputs: ['width', 'caption', 'fixed'],\n})\nexport class AXRowIndexColumnComponent extends AXDataTableColumnComponent implements OnInit {\n private grid = inject(AXDataTableComponent);\n private unsubscriber = inject(AXUnsubscriber);\n\n @ViewChild(TemplateRef)\n private _template: TemplateRef<unknown>;\n\n get template(): TemplateRef<unknown> {\n return this._template;\n }\n\n get name(): string {\n return 'cl-inx';\n }\n\n @Input()\n padZero = false;\n\n protected formatCount = 1;\n\n ngOnInit() {\n if (this.padZero) {\n this.grid.dataSource.onChanged.pipe(this.unsubscriber.takeUntilDestroy).subscribe((c) => {\n this.formatCount = c.totalCount.toString().length;\n });\n }\n }\n\n allowSorting = false;\n\n get loadingEnabled(): boolean {\n return false;\n }\n\n get cssClass(): string | undefined {\n return 'ax-index-column';\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n inject,\n} from '@angular/core';\nimport { AXDataTableComponent } from '../data-table.component';\nimport { AXDataTableColumnComponent } from './data-table-column';\n\n@Component({\n selector: 'ax-select-column',\n template: ` <ng-template let-row>\n <input\n class=\"ax-checkbox\"\n type=\"checkbox\"\n [disabled]=\"!row.data\"\n (change)=\"handleChange(row.data)\"\n [checked]=\"isSelected(row.data)\"\n />\n </ng-template>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: AXDataTableColumnComponent, useExisting: AXRowSelectColumnComponent }],\n inputs: ['width', 'caption', 'fixed'],\n})\nexport class AXRowSelectColumnComponent extends AXDataTableColumnComponent {\n private grid = inject(AXDataTableComponent);\n\n @ViewChild(TemplateRef)\n private _template: TemplateRef<unknown>;\n\n get template(): TemplateRef<unknown> {\n return this._template;\n }\n\n get name(): string {\n return 'cl-select';\n }\n\n protected isSelected(item: unknown) {\n return item != null && this.grid.selectedRows.includes(item);\n }\n\n protected handleChange(item: unknown) {\n if (this.isSelected(item)) {\n this.grid.unSelectRows(item);\n } else {\n this.grid.selectRows(item);\n }\n }\n\n get loadingEnabled(): boolean {\n return false;\n }\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXCommonModule, AXRippleDirective } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXResultModule } from '@acorex/components/result';\nimport { AXSkeletonModule } from '@acorex/components/skeleton';\nimport { AXFormatModule } from '@acorex/core/format';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXDataTableTextColumnComponent } from './columns/data-text-column.component';\nimport {\n AXRowCommandColumnComponent,\n AXRowDropdownCommandColumnComponent,\n} from './columns/row-command-column.component';\nimport { AXRowIndexColumnComponent } from './columns/row-index-column.component';\nimport { AXRowSelectColumnComponent } from './columns/row-select-column.component';\nimport { AXDataTableComponent } from './data-table.component';\n\nconst COMPONENT = [\n AXDataTableComponent,\n AXDataTableTextColumnComponent,\n AXRowIndexColumnComponent,\n AXRowSelectColumnComponent,\n AXRowCommandColumnComponent,\n AXRowDropdownCommandColumnComponent,\n];\nconst MODULES = [\n CommonModule,\n AXCommonModule,\n ScrollingModule,\n AXTranslationModule,\n AXResultModule,\n AXLoadingModule,\n AXDecoratorModule,\n AXSkeletonModule,\n AXButtonModule,\n AXDropdownModule,\n AXFormatModule,\n AXRippleDirective,\n];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXDataTableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i4","i5","i1"],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-data-table.mjs","sources":["../../../../libs/components/data-table/src/lib/columns/data-table-column.ts","../../../../libs/components/data-table/src/lib/columns/data-text-column.component.ts","../../../../libs/components/data-table/src/lib/data-table.component.ts","../../../../libs/components/data-table/src/lib/data-table.component.html","../../../../libs/components/data-table/src/lib/columns/row-command-column.component.ts","../../../../libs/components/data-table/src/lib/columns/row-index-column.component.ts","../../../../libs/components/data-table/src/lib/columns/row-select-column.component.ts","../../../../libs/components/data-table/src/lib/columns/data-table-column-resizable.directive.ts","../../../../libs/components/data-table/src/lib/data-table.module.ts","../../../../libs/components/data-table/src/acorex-components-data-table.ts"],"sourcesContent":["import { AXSortOrder } from '@acorex/components/common';\nimport { Injectable, Input, TemplateRef } from '@angular/core';\n\n@Injectable()\nexport abstract class AXDataTableColumnComponent {\n @Input()\n caption: string;\n\n @Input()\n width: string | number = 'auto';\n\n @Input()\n fixed: 'start' | 'end' | undefined;\n\n @Input()\n allowSorting = false;\n\n @Input()\n allowResizing = false;\n\n @Input()\n sortIndex: number | undefined = undefined;\n\n @Input()\n sortOrder: AXSortOrder | undefined = undefined;\n\n @Input()\n headerTemplate?: TemplateRef<unknown>;\n\n @Input()\n cellTemplate?: TemplateRef<unknown>;\n\n abstract get template(): TemplateRef<unknown>;\n\n abstract get loadingEnabled(): boolean;\n\n abstract get name(): string;\n\n get cssClass(): string | undefined {\n return null;\n }\n}\n","import { AXFormatService } from '@acorex/core/format';\nimport { Memorize } from '@acorex/core/memorize';\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n inject,\n} from '@angular/core';\nimport { AXDataTableColumnComponent } from './data-table-column';\n\n@Component({\n selector: 'ax-text-column',\n template: ` <ng-template let-row>\n {{ getDisplayText(row.data, this.dataField) }}\n </ng-template>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: AXDataTableColumnComponent, useExisting: AXDataTableTextColumnComponent }],\n inputs: ['width', 'caption', 'headerTemplate', 'cellTemplate', 'allowSorting', 'allowResizing', 'fixed'],\n})\nexport class AXDataTableTextColumnComponent extends AXDataTableColumnComponent {\n @Input()\n dataField: string;\n\n @Input()\n wrapText = false;\n\n @ViewChild(TemplateRef)\n private _template: TemplateRef<unknown>;\n\n get template(): TemplateRef<unknown> {\n return this._template;\n }\n\n get loadingEnabled(): boolean {\n return true;\n }\n\n get name(): string {\n return `cl-${this.dataField}`;\n }\n\n private formatService = inject(AXFormatService);\n\n @Memorize()\n protected getDisplayText(rowData: unknown, dataField: string): string {\n const value = rowData[dataField];\n const options = Array.isArray(this.formatOptions) ? this.formatOptions : [this.formatOptions];\n return !this.format ? value : this.formatService.format(value, this.format, ...options);\n }\n\n @Input()\n format: string;\n\n @Input()\n formatOptions: unknown;\n}\n","import {\n AXDataSource,\n AXEvent,\n AXListDataSource,\n AXPagedComponent,\n AXValueChangedEvent,\n MXBaseComponent,\n convertArrayToDataSource,\n} from '@acorex/components/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n DoCheck,\n ElementRef,\n EventEmitter,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n inject,\n} from '@angular/core';\n\nimport { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';\nimport sum from 'lodash-es/sum';\nimport { Subject, buffer, debounceTime, filter } from 'rxjs';\nimport { AXDataTableColumnComponent } from './columns/data-table-column';\nimport { AXDataTableTextColumnComponent } from './columns/data-text-column.component';\n\nexport interface AXDataTableScrollIndexChanged extends AXEvent {\n index: number;\n}\n\nexport interface AXDataTableRowClick extends AXEvent {\n data?: any;\n}\n\nexport interface AXDataTableRowDbClick extends AXDataTableRowClick { }\n\n@Component({\n selector: 'ax-data-table',\n templateUrl: './data-table.component.html',\n styleUrls: ['./data-table.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: AXPagedComponent, useExisting: AXDataTableComponent }],\n})\nexport class AXDataTableComponent extends MXBaseComponent implements OnInit, DoCheck {\n private ngZone = inject(NgZone);\n\n @ContentChildren(AXDataTableColumnComponent)\n protected columns: QueryList<AXDataTableColumnComponent>;\n\n protected startFixedColumn(): AXDataTableColumnComponent[] {\n return this.columns?.toArray().filter((c) => c.fixed == 'start') ?? [];\n }\n\n protected endFixedColumn(): AXDataTableColumnComponent[] {\n return this.columns?.toArray().filter((c) => c.fixed == 'end') ?? [];\n }\n\n protected notFixedColumn(): AXDataTableColumnComponent[] {\n return this.columns?.toArray().filter((c) => !c.fixed) ?? [];\n }\n\n protected notFixedColumnCount(): number {\n return this.columns?.toArray().filter((c) => !c.fixed).length ?? 0;\n }\n\n protected fixedColumnCount(): number {\n return this.columns?.toArray().filter((c) => c.fixed).length ?? 0;\n }\n\n @Output()\n onPageChanged: EventEmitter<AXValueChangedEvent<number>> = new EventEmitter<AXValueChangedEvent<number>>();\n\n private clickSubject = new Subject<{ event: MouseEvent; item: any }>();\n\n @Output()\n onRowClick: EventEmitter<AXDataTableRowClick> = new EventEmitter<AXDataTableRowClick>();\n\n @Output()\n onRowDbClick: EventEmitter<AXDataTableRowDbClick> = new EventEmitter<AXDataTableRowDbClick>();\n\n @Input()\n rowTemplate?: TemplateRef<unknown>;\n\n @Input()\n emptyTemplate?: TemplateRef<unknown>;\n\n @Input()\n showHeader = true;\n\n @Input()\n fetchDataMode: 'auto' | 'manual' = 'auto';\n\n @Input()\n dataSource: AXDataSource<unknown> = convertArrayToDataSource([]);\n\n @Input()\n loading: { enabled: boolean; animation: boolean; loadingTemplate?: TemplateRef<unknown> } = {\n enabled: true,\n animation: true,\n };\n\n protected listDataSource: AXListDataSource<unknown>;\n protected isLoading = true;\n protected hasItems = false;\n protected totalRows = 0;\n protected currentPage = 0;\n protected totalPages = 0;\n protected startRowIndex = 0;\n private lastIndex = 0;\n\n @Output()\n focusedRowChange: EventEmitter<unknown> = new EventEmitter<unknown>();\n\n private _focusedRow: unknown;\n @Input()\n public get focusedRow(): unknown {\n return this._focusedRow;\n }\n public set focusedRow(v: unknown) {\n this._focusedRow = v;\n this.focusedRowChange.emit(v);\n }\n\n @Output()\n selectedRowsChange: EventEmitter<unknown[]> = new EventEmitter<unknown[]>();\n\n private _selectedRows: unknown[] = [];\n @Input()\n public get selectedRows(): unknown[] {\n return this._selectedRows;\n }\n public set selectedRows(v: unknown[]) {\n this._selectedRows = v;\n this.selectedRowsChange.emit(v);\n }\n\n public selectRows(...rows: unknown[]) {\n this.selectedRows = [...this.selectedRows, ...rows];\n }\n\n public unSelectRows(...rows: unknown[]) {\n this.selectedRows = this.selectedRows.filter((c) => !rows.includes(c));\n }\n\n @Input()\n itemHeight: number | 'auto' = 40;\n\n protected width = '100%';\n protected height = '100%';\n\n @ViewChild(CdkVirtualScrollViewport, { static: true })\n private viewport: CdkVirtualScrollViewport;\n\n @Output()\n onScrolledIndexChanged: EventEmitter<AXDataTableScrollIndexChanged> =\n new EventEmitter<AXDataTableScrollIndexChanged>();\n\n trackByIdx(i) {\n return i;\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.listDataSource = new AXListDataSource<unknown>({\n source: this.dataSource,\n });\n this.listDataSource.source.onLoadingChanged.subscribe((data) => {\n this.isLoading = data;\n });\n this.listDataSource.source.onChanged.subscribe((data) => {\n this.totalRows = data.totalCount;\n this.hasItems = data.totalCount > 0;\n setTimeout(() => {\n this.render();\n }, 100);\n });\n\n //\n this.clickSubject\n .pipe(\n buffer(this.clickSubject.pipe(debounceTime(250))),\n filter((clickArray) => clickArray.length === 2),\n )\n .subscribe((clickArray) => {\n this.handleRowDoubleClick(clickArray[0].event, clickArray[0].item);\n });\n }\n @ViewChild('headerContainer') headerContainer: ElementRef<HTMLDivElement>;\n @ViewChild('footerContainer') footerContainer: ElementRef;\n @ViewChild('scrolling', { static: true }) scrollableContainer: ElementRef<HTMLDivElement>;\n\n protected _handleOnscrolledIndexChange(e: number) {\n this.lastIndex = e;\n this.onScrolledIndexChanged.emit({\n component: this,\n index: this.lastIndex,\n isUserInteraction: true,\n });\n }\n\n ngDoCheck() {\n //this.copyFixedColumns();\n this.updateHScroll();\n //\n this.updateWidth();\n this.updateHeight();\n //\n this.updateTotalCount();\n }\n\n private updateTotalCount() {\n this.startRowIndex = this.lastIndex;\n if (this.startRowIndex < 1) this.startRowIndex = 1;\n if (this.startRowIndex > this.totalRows) this.startRowIndex = this.totalRows;\n }\n\n private updateHeight() {\n this.height = `calc(100% - ${(this.headerContainer?.nativeElement.clientHeight ?? 0) +\n (this.footerContainer?.nativeElement.clientHeight ?? 0)\n }px)`;\n }\n\n private updateWidth() {\n if (this.columns && this.columns.length) {\n const sumPx = sum(\n this.columns\n .toArray()\n .map((c) => (typeof c.width == 'number' ? c.width : Number(c.width.replace('px', '')))),\n );\n this.width = `${Math.max(sumPx, this.getHostElement().clientWidth - 5)}px`;\n }\n }\n\n private updateHScroll() {\n this.ngZone.runOutsideAngular(() => {\n if (this.headerContainer) {\n const headerContainer = this.headerContainer.nativeElement;\n const left = this.scrollableContainer.nativeElement.scrollLeft;\n headerContainer.style.transform = `translateX(${-left}px)`;\n }\n });\n }\n\n // Function to copy fixed columns\n private copyFixedColumns() {\n const originalRows = Array.from(this.viewport._contentWrapper.nativeElement.querySelectorAll('tr'));\n const fixedColumnTable = this.getHostElement().querySelector<HTMLTableElement>(\n '.ax-body-fixed-columns > table > tbody',\n );\n fixedColumnTable.querySelectorAll('tr').forEach((n) => n.remove());\n for (const row of originalRows) {\n const fixedCells = Array.from(row.querySelectorAll('[data-fixed=\"start\"]'));\n const fixedRow = document.createElement('tr');\n for (const cell of fixedCells) {\n const clonedCell = cell.cloneNode(true);\n fixedRow.appendChild(clonedCell);\n }\n fixedColumnTable.appendChild(fixedRow);\n }\n const scrollTop = this.getHostElement().querySelector('.cdk-virtual-scrollable').scrollTop;\n fixedColumnTable.style.transform = `translateY(${-scrollTop}px)`;\n }\n\n public render() {\n this.viewport.checkViewportSize();\n this.viewport.scrollToIndex(this.lastIndex);\n this.cdr.markForCheck();\n }\n\n public refresh() {\n this.lastIndex = 0;\n this.dataSource.refresh();\n }\n\n protected handleRowClick(event: MouseEvent, item: unknown) {\n this.handleRowSingleClick(event, item);\n this.clickSubject.next({ event, item });\n }\n\n private handleRowSingleClick(event: Event, item: any): void {\n if (this.focusedRow == item) {\n this.focusedRow = null;\n } else {\n this.focusedRow = item;\n }\n //\n this.onRowClick.emit({\n component: this,\n data: item,\n isUserInteraction: true,\n });\n }\n\n protected handleRowDoubleClick(e: MouseEvent, item: unknown) {\n this.focusedRow = item;\n //\n this.onRowDbClick.emit({\n component: this,\n data: item,\n isUserInteraction: true,\n });\n }\n\n handleColumnClick(e: MouseEvent, column: AXDataTableColumnComponent) {\n if (column instanceof AXDataTableTextColumnComponent) {\n const sort = this.dataSource.query.sort.find((c) => c.field == column.dataField);\n if (!sort) {\n this.dataSource.query.sort.push({ field: column.dataField, dir: 'asc' });\n } else {\n if (sort.dir == 'asc') {\n sort.dir = 'desc';\n } else {\n this.dataSource.query.sort = this.dataSource.query.sort.filter((c) => c != sort);\n }\n }\n this.refresh();\n }\n }\n\n protected getSort(column: AXDataTableColumnComponent): string | undefined {\n if (column instanceof AXDataTableTextColumnComponent) {\n const sort = this.dataSource.query.sort.find((c) => c.field == column.dataField);\n return sort ? (sort.dir == 'asc' ? 'ax-icon-arrow-long-down' : 'ax-icon-arrow-long-up') : undefined;\n }\n return undefined;\n }\n\n protected _handleOnScroll(e: Event) {\n this.updateHScroll();\n }\n}\n","<ng-content select=\"ax-header\"> </ng-content>\n<!------------------- Header contents ------------------->\n<div class=\"ax-header-content\" *ngIf=\"showHeader\">\n <div class=\"ax-header-columns\">\n <table tabindex=\"0\" [style.width]=\"width\" #headerContainer>\n <thead>\n <tr>\n @for(c of notFixedColumn();track c.name)\n {\n <th [class.ax-interactive]=\"c.allowSorting\" (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [style.width]=\"c.width\">\n @if(c.headerTemplate)\n {\n <ng-container *ngTemplateOutlet=\"c.headerTemplate\"></ng-container>\n }\n @else {\n <div class=\"ax-caption\">\n {{ c.caption }}\n <ax-icon *ngIf=\"getSort(c)\" icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n </div>\n }\n <!-- @if(c.allowResizing)\n {\n <div class=\"ax-resize-handle\" [ax-table-column-resizble]=\"c\"></div>\n } -->\n </th>\n }\n <th></th>\n </tr>\n </thead>\n </table>\n </div>\n</div>\n<!------------------- Body contents ------------------->\n<div [style.height]=\"height\" class=\"ax-body-content\">\n <div class=\"ax-body-columns\">\n <div cdkVirtualScrollingElement #scrolling [style.height]=\"'100%'\" (scroll)=\"_handleOnScroll($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 ax-relative\" [style.width]=\"width\">\n <colgroup>\n @for(c of notFixedColumn();track c.name)\n {\n <col [style.width]=\"c.width\" />\n }\n <col />\n </colgroup>\n <tbody>\n <ng-container *cdkVirtualFor=\"\n let item of listDataSource;\n templateCacheSize: 100;\n let i = index;\n trackBy: trackByIdx;\n let rIndex = index\n \">\n <!------------------- custom row template------------------->\n @if (rowTemplate != null) {\n <ng-container *ngTemplateOutlet=\"rowTemplate; context: { $implicit: { data: item, rowIndex: rIndex } }\">\n </ng-container>\n } @else {\n <!------------------- normal row template------------------->\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\n <!------------------- Not fixed column ------------------->\n @for (c of notFixedColumn(); track c.name) {\n <!------------------- custom cell template ------------------->\n @if (c.cellTemplate) {\n <ng-container *ngTemplateOutlet=\"\n c.cellTemplate;\n context: { $implicit: { data: item, rowIndex: rIndex } }\n \">\n </ng-container>\n } @else {\n <!------------------- default cell template ------------------->\n <td [attr.data-label]=\"c.caption\" tabindex=\"0\" [class]=\"c.cssClass\">\n @if (item) {\n <!------------------- render cell ------------------->\n <ng-container *ngTemplateOutlet=\"\n c.template;\n context: { $implicit: { data: item, rowIndex: rIndex } }\n \"></ng-container>\n } @else {\n <!------------------- render loading ------------------->\n @if (c.loadingEnabled && loading) {\n <ax-skeleton [animated]=\"loading.animation\"></ax-skeleton>\n }\n }\n </td>\n }\n }\n <td></td>\n </tr>\n }\n </ng-container>\n </tbody>\n </table>\n </cdk-virtual-scroll-viewport>\n </div>\n </div>\n</div>\n<div class=\"ax-table-footer\" #footerContainer>\n <div class=\"ax-table-info\">\n <div>Showing {{ startRowIndex }} of {{ totalRows }} items</div>\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"refresh()\">\n <ax-icon icon=\"ax-icon ax-icon-refresh\"></ax-icon>\n </ax-button>\n </div>\n <ng-content select=\"ax-footer\"> </ng-content>\n</div>","import { AXButtonItemComponent, AXButtonItemListItem } from '@acorex/components/button';\nimport { AXButtonClickEvent, AXItemClickEvent } from '@acorex/components/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n inject,\n} from '@angular/core';\nimport { AXDataTableComponent } from '../data-table.component';\nimport { AXDataTableColumnComponent } from './data-table-column';\n\nexport interface AXRowCommandItem extends AXButtonItemListItem { }\n\nexport interface AXRowCommandItemClickEvent extends AXButtonClickEvent { }\n\nexport abstract class AXBaseRowCommandColumnComponent extends AXDataTableColumnComponent {\n protected grid = inject(AXDataTableComponent);\n protected cdr = inject(ChangeDetectorRef);\n\n allowSorting = false;\n\n get loadingEnabled(): boolean {\n return false;\n }\n\n get cssClass() {\n return 'ax-command-column';\n }\n\n onItemClick: EventEmitter<AXRowCommandItemClickEvent> = new EventEmitter<AXRowCommandItemClickEvent>();\n}\n\n@Component({\n selector: 'ax-dropdown-command-column',\n template: ` <ng-template let-row>\n <div *ngIf=\"row.data\">\n <button [axRipple]>\n <ax-icon icon=\"ax-icon ax-icon-solid ax-icon-more-horizontal\"></ax-icon>\n <ax-dropdown-panel\n [adaptivityEnabled]=\"true\"\n (onOpened)=\"handleOnOpened(row.data)\"\n (onClosed)=\"handleOnClosed()\"\n >\n <ng-container *ngIf=\"_items.length; else loading\">\n <ax-button-item-list (onItemClick)=\"handleOnItemClick($event, row.data)\" [items]=\"_items\">\n </ax-button-item-list>\n </ng-container>\n <ng-template #loading>\n <div panel style=\"padding: 0.875rem;\">\n <ax-loading></ax-loading>\n </div>\n </ng-template>\n </ax-dropdown-panel>\n </button>\n </div>\n <ng-template #loading>\n <div panel style=\"padding: 0.875rem;\">\n <ax-loading></ax-loading>\n </div>\n </ng-template>\n </ng-template>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: AXDataTableColumnComponent, useExisting: AXRowDropdownCommandColumnComponent }],\n inputs: ['width', 'caption', 'fixed'],\n outputs: ['onItemClick'],\n})\nexport class AXRowDropdownCommandColumnComponent extends AXBaseRowCommandColumnComponent {\n @ViewChild(TemplateRef)\n private _template: TemplateRef<unknown>;\n\n get template(): TemplateRef<unknown> {\n return this._template;\n }\n\n get name(): string {\n return 'cl-dd-cmd';\n }\n\n protected _items: AXRowCommandItem[] = [];\n\n @Input()\n items: AXRowCommandItem[] | ((rowData: unknown) => AXRowCommandItem[] | Promise<AXRowCommandItem[]>) = [];\n\n protected async handleOnOpened(rowData) {\n if (Array.isArray(this.items)) {\n this._items = this.items;\n } else typeof this.items == 'function';\n {\n const result = (this['items'] as any)(rowData);\n if (Array.isArray(result)) {\n this._items = result;\n } else if (result instanceof Promise) {\n this._items = await result;\n }\n }\n this.cdr.detectChanges();\n }\n\n protected handleOnClosed() {\n this._items = [];\n }\n\n protected handleOnItemClick(e: AXItemClickEvent<AXButtonItemComponent>, data: unknown) {\n const args: AXRowCommandItemClickEvent = {\n component: this.grid,\n isUserInteraction: true,\n nativeEvent: e,\n data,\n name: e.name,\n };\n this.onItemClick.emit(args);\n }\n}\n\n@Component({\n selector: 'ax-command-column',\n template: ` <ng-template let-row>\n <div *ngIf=\"row.data\">\n <button\n [style.color]=\"'rgba(var(--ax-color-' + (item.color ?? 'primary)')\"\n [disabled]=\"item.disabled\"\n [class.ax-state-disabled]=\"item.disabled\"\n [axRipple]=\"!item.disabled\"\n *ngFor=\"let item of getItems(row.data)\"\n (click)=\"handleOnItemClick($event, item, row.data)\"\n >\n <ax-icon [icon]=\"item.icon\"></ax-icon>\n </button>\n </div>\n </ng-template>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: AXDataTableColumnComponent, useExisting: AXRowCommandColumnComponent }],\n inputs: ['width', 'caption', 'fixed'],\n outputs: ['onItemClick'],\n})\nexport class AXRowCommandColumnComponent extends AXBaseRowCommandColumnComponent {\n @ViewChild(TemplateRef)\n private _template: TemplateRef<unknown>;\n\n get template(): TemplateRef<unknown> {\n return this._template;\n }\n get name(): string {\n return 'cl-in-cmd';\n }\n\n @Input()\n items: AXRowCommandItem[] | ((rowData: unknown) => AXRowCommandItem[]) = [];\n\n protected getItems(rowData: unknown): AXRowCommandItem[] {\n if (Array.isArray(this.items)) {\n return this.items;\n } else typeof this.items == 'function';\n {\n return this.items(rowData);\n }\n return [];\n }\n\n protected handleOnItemClick(e: MouseEvent, item: AXRowCommandItem, data: unknown) {\n const args: AXRowCommandItemClickEvent = {\n component: this.grid,\n isUserInteraction: true,\n nativeEvent: e,\n data,\n name: item.name,\n };\n this.onItemClick.emit(args);\n }\n}\n","import { AXUnsubscriber } from '@acorex/core/utils';\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnInit,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n inject,\n} from '@angular/core';\nimport { AXDataTableComponent } from '../data-table.component';\nimport { AXDataTableColumnComponent } from './data-table-column';\n\n@Component({\n selector: 'ax-index-column',\n template: ` <ng-template let-row>\n {{ row.rowIndex + 1 | format: 'number' : 'D' + formatCount }}\n </ng-template>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n AXUnsubscriber,\n { provide: AXDataTableColumnComponent, useExisting: AXRowIndexColumnComponent },\n ],\n inputs: ['width', 'caption', 'fixed'],\n})\nexport class AXRowIndexColumnComponent extends AXDataTableColumnComponent implements OnInit {\n private grid = inject(AXDataTableComponent);\n private unsubscriber = inject(AXUnsubscriber);\n\n @ViewChild(TemplateRef)\n private _template: TemplateRef<unknown>;\n\n get template(): TemplateRef<unknown> {\n return this._template;\n }\n\n get name(): string {\n return 'cl-inx';\n }\n\n @Input()\n padZero = false;\n\n protected formatCount = 1;\n\n ngOnInit() {\n if (this.padZero) {\n this.grid.dataSource.onChanged.pipe(this.unsubscriber.takeUntilDestroy).subscribe((c) => {\n this.formatCount = c.totalCount.toString().length;\n });\n }\n }\n\n allowSorting = false;\n\n get loadingEnabled(): boolean {\n return false;\n }\n\n get cssClass(): string | undefined {\n return 'ax-index-column';\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n inject,\n} from '@angular/core';\nimport { AXDataTableComponent } from '../data-table.component';\nimport { AXDataTableColumnComponent } from './data-table-column';\n\n@Component({\n selector: 'ax-select-column',\n template: ` <ng-template let-row>\n <input\n class=\"ax-checkbox\"\n type=\"checkbox\"\n [disabled]=\"!row.data\"\n (change)=\"handleChange(row.data)\"\n [checked]=\"isSelected(row.data)\"\n />\n </ng-template>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: AXDataTableColumnComponent, useExisting: AXRowSelectColumnComponent }],\n inputs: ['width', 'caption', 'fixed'],\n})\nexport class AXRowSelectColumnComponent extends AXDataTableColumnComponent {\n private grid = inject(AXDataTableComponent);\n\n @ViewChild(TemplateRef)\n private _template: TemplateRef<unknown>;\n\n get template(): TemplateRef<unknown> {\n return this._template;\n }\n\n get name(): string {\n return 'cl-select';\n }\n\n protected isSelected(item: unknown) {\n return item != null && this.grid.selectedRows.includes(item);\n }\n\n protected handleChange(item: unknown) {\n if (this.isSelected(item)) {\n this.grid.unSelectRows(item);\n } else {\n this.grid.selectRows(item);\n }\n }\n\n get loadingEnabled(): boolean {\n return false;\n }\n}\n","import { ChangeDetectorRef, Directive, ElementRef, HostListener, Input, NgZone, Renderer2 } from '@angular/core';\nimport { AXDataTableColumnComponent } from './data-table-column';\nimport { Subject, debounceTime } from 'rxjs';\n\n@Directive({\n selector: '[ax-table-column-resizble]'\n})\nexport class AXDataTableColumnResizableDirective {\n\n @Input('ax-table-column-resizble')\n public column: AXDataTableColumnComponent;\n private resize$ = new Subject<MouseEvent>();\n private startX: number;\n private startWidth: number;\n private onMouseMoveRawBound: (event: MouseEvent) => void;\n private onMouseUpBound: () => void;\n\n constructor(\n private el: ElementRef,\n private renderer: Renderer2,\n private ngZone: NgZone,\n private cdr: ChangeDetectorRef\n ) {\n this.onMouseMoveRawBound = this.onMouseMoveRaw.bind(this);\n this.onMouseUpBound = this.onMouseUp.bind(this);\n this.resize$.pipe(debounceTime(10)).subscribe(event => this.onMouseMove(event));\n }\n\n @HostListener('mousedown', ['$event'])\n onMouseDown(event: MouseEvent) {\n event.stopPropagation();\n this.ngZone.runOutsideAngular(() => {\n this.startX = event.pageX;\n this.startWidth = this.el.nativeElement.parentElement.offsetWidth;\n document.addEventListener('mousemove', this.onMouseMoveRawBound);\n document.addEventListener('mouseup', this.onMouseUpBound);\n });\n this.cdr.detach(); // Detach the change detector\n }\n\n onMouseMoveRaw(event: MouseEvent) {\n this.resize$.next(event);\n }\n\n onMouseMove(event: MouseEvent) {\n const newWidth = this.startWidth + (event.pageX - this.startX);\n this.renderer.setStyle(this.el.nativeElement.parentElement, 'width', `${newWidth}px`);\n this.column.width = `${newWidth}px`;\n }\n\n onMouseUp() {\n document.removeEventListener('mousemove', this.onMouseMoveRawBound);\n document.removeEventListener('mouseup', this.onMouseUpBound);\n this.cdr.reattach(); // Reattach the change detector\n }\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXCommonModule, AXRippleDirective } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXResultModule } from '@acorex/components/result';\nimport { AXSkeletonModule } from '@acorex/components/skeleton';\nimport { AXFormatModule } from '@acorex/core/format';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXDataTableTextColumnComponent } from './columns/data-text-column.component';\nimport {\n AXRowCommandColumnComponent,\n AXRowDropdownCommandColumnComponent,\n} from './columns/row-command-column.component';\nimport { AXRowIndexColumnComponent } from './columns/row-index-column.component';\nimport { AXRowSelectColumnComponent } from './columns/row-select-column.component';\nimport { AXDataTableComponent } from './data-table.component';\nimport { AXDataTableColumnResizableDirective } from './columns/data-table-column-resizable.directive';\n\nconst COMPONENT = [\n AXDataTableComponent,\n AXDataTableTextColumnComponent,\n AXRowIndexColumnComponent,\n AXRowSelectColumnComponent,\n AXRowCommandColumnComponent,\n AXRowDropdownCommandColumnComponent,\n AXDataTableColumnResizableDirective\n];\nconst MODULES = [\n CommonModule,\n AXCommonModule,\n ScrollingModule,\n AXTranslationModule,\n AXResultModule,\n AXLoadingModule,\n AXDecoratorModule,\n AXSkeletonModule,\n AXButtonModule,\n AXDropdownModule,\n AXFormatModule,\n AXRippleDirective,\n];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXDataTableModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i4","i5","i1"],"mappings":"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"}
@@ -26,9 +26,6 @@ class AXDialogComponent extends MXBaseComponent {
26
26
  this.data = data;
27
27
  this.dialogRef = dialogRef;
28
28
  }
29
- ngOnInit() {
30
- super.ngOnInit();
31
- }
32
29
  _handleButtonClick(button) {
33
30
  if (button.onClick) {
34
31
  button.onClick({ source: button });