@acorex/components 7.11.0 → 7.11.2

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 (75) hide show
  1. package/button/lib/button-item-list.component.d.ts +7 -7
  2. package/button/lib/button-item.component.d.ts +9 -1
  3. package/circular-progress/README.md +3 -0
  4. package/circular-progress/index.d.ts +2 -0
  5. package/circular-progress/lib/circular-progress.component.d.ts +33 -0
  6. package/circular-progress/lib/circular-progress.module.d.ts +7 -0
  7. package/common/lib/classes/datalist.class.d.ts +2 -1
  8. package/common/lib/classes/datasource.class.d.ts +10 -7
  9. package/common/lib/classes/events.class.d.ts +2 -1
  10. package/data-table/index.d.ts +6 -2
  11. package/data-table/lib/columns/data-table-column.d.ts +18 -0
  12. package/data-table/lib/columns/data-text-column.component.d.ts +15 -0
  13. package/data-table/lib/columns/row-command-column.component.d.ts +38 -0
  14. package/data-table/lib/columns/row-index-column.component.d.ts +17 -0
  15. package/data-table/lib/columns/row-select-column.component.d.ts +13 -0
  16. package/data-table/lib/data-table.component.d.ts +51 -27
  17. package/data-table/lib/data-table.module.d.ts +16 -11
  18. package/esm2022/alert/lib/alert.component.mjs +2 -2
  19. package/esm2022/button/lib/button-item-list.component.mjs +36 -10
  20. package/esm2022/button/lib/button-item.component.mjs +1 -1
  21. package/esm2022/button/lib/button.component.mjs +2 -2
  22. package/esm2022/circular-progress/acorex-components-circular-progress.mjs +5 -0
  23. package/esm2022/circular-progress/index.mjs +3 -0
  24. package/esm2022/circular-progress/lib/circular-progress.component.mjs +96 -0
  25. package/esm2022/circular-progress/lib/circular-progress.module.mjs +17 -0
  26. package/esm2022/common/index.mjs +1 -1
  27. package/esm2022/common/lib/classes/datalist.class.mjs +6 -3
  28. package/esm2022/common/lib/classes/datasource.class.mjs +10 -3
  29. package/esm2022/common/lib/classes/events.class.mjs +2 -2
  30. package/esm2022/common/lib/common.module.mjs +2 -2
  31. package/esm2022/data-pager/lib/data-pager-pagesize-dropdown.component.mjs +1 -1
  32. package/esm2022/data-table/index.mjs +7 -3
  33. package/esm2022/data-table/lib/columns/data-table-column.mjs +35 -0
  34. package/esm2022/data-table/lib/columns/data-text-column.component.mjs +58 -0
  35. package/esm2022/data-table/lib/columns/row-command-column.component.mjs +198 -0
  36. package/esm2022/data-table/lib/columns/row-index-column.component.mjs +65 -0
  37. package/esm2022/data-table/lib/columns/row-select-column.component.mjs +62 -0
  38. package/esm2022/data-table/lib/data-table.component.mjs +181 -90
  39. package/esm2022/data-table/lib/data-table.module.mjs +50 -6
  40. package/esm2022/dropdown/lib/dropdown-panel.component.mjs +14 -5
  41. package/esm2022/progress-bar/lib/progress-bar.component.mjs +20 -62
  42. package/esm2022/skeleton/lib/skeleton.component.mjs +2 -2
  43. package/esm2022/switch/lib/switch-content.component.mjs +3 -3
  44. package/esm2022/switch/lib/switch.component.mjs +3 -3
  45. package/esm2022/uploader/lib/uploader-list.component.mjs +3 -3
  46. package/fesm2022/acorex-components-alert.mjs +2 -2
  47. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  48. package/fesm2022/acorex-components-button.mjs +34 -11
  49. package/fesm2022/acorex-components-button.mjs.map +1 -1
  50. package/fesm2022/acorex-components-circular-progress.mjs +117 -0
  51. package/fesm2022/acorex-components-circular-progress.mjs.map +1 -0
  52. package/fesm2022/acorex-components-common.mjs +16 -6
  53. package/fesm2022/acorex-components-common.mjs.map +1 -1
  54. package/fesm2022/acorex-components-data-pager.mjs +1 -1
  55. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  56. package/fesm2022/acorex-components-data-table.mjs +542 -161
  57. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  58. package/fesm2022/acorex-components-dropdown.mjs +13 -4
  59. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  60. package/fesm2022/acorex-components-progress-bar.mjs +18 -60
  61. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  62. package/fesm2022/acorex-components-skeleton.mjs +2 -2
  63. package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
  64. package/fesm2022/acorex-components-switch.mjs +4 -4
  65. package/fesm2022/acorex-components-switch.mjs.map +1 -1
  66. package/fesm2022/acorex-components-uploader.mjs +2 -2
  67. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  68. package/package.json +29 -23
  69. package/progress-bar/lib/progress-bar.component.d.ts +9 -18
  70. package/switch/lib/switch-content.component.d.ts +1 -1
  71. package/switch/lib/switch.component.d.ts +1 -1
  72. package/data-table/lib/data-column.directive.d.ts +0 -11
  73. package/data-table/lib/data-table2.component.d.ts +0 -42
  74. package/esm2022/data-table/lib/data-column.directive.mjs +0 -26
  75. package/esm2022/data-table/lib/data-table2.component.mjs +0 -130
@@ -0,0 +1,198 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, TemplateRef, ViewChild, ViewEncapsulation, inject, ChangeDetectorRef } from "@angular/core";
2
+ import { AXDataTableColumnComponent } from "./data-table-column";
3
+ import { AXDataTableComponent } from "../data-table.component";
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "@acorex/components/common";
7
+ import * as i3 from "@acorex/components/loading";
8
+ import * as i4 from "@acorex/components/decorators";
9
+ import * as i5 from "@acorex/components/button";
10
+ import * as i6 from "@acorex/components/dropdown";
11
+ export class AXBaseRowCommandColumnComponent extends AXDataTableColumnComponent {
12
+ constructor() {
13
+ super(...arguments);
14
+ this.grid = inject(AXDataTableComponent);
15
+ this.cdr = inject(ChangeDetectorRef);
16
+ this.allowSorting = false;
17
+ this.onItemClick = new EventEmitter();
18
+ }
19
+ get skeleton() {
20
+ return false;
21
+ }
22
+ get cssClass() {
23
+ return 'ax-command-column';
24
+ }
25
+ }
26
+ export class AXRowDropdownCommandColumnComponent extends AXBaseRowCommandColumnComponent {
27
+ constructor() {
28
+ super(...arguments);
29
+ this._items = [];
30
+ this.items = [];
31
+ }
32
+ get template() {
33
+ return this._template;
34
+ }
35
+ async handleOnOpened(rowData) {
36
+ if (Array.isArray(this.items)) {
37
+ this._items = this.items;
38
+ }
39
+ else
40
+ (typeof this.items == 'function');
41
+ {
42
+ const result = this['items'](rowData);
43
+ if (Array.isArray(result)) {
44
+ this._items = result;
45
+ }
46
+ else if (result instanceof Promise) {
47
+ this._items = await result;
48
+ }
49
+ }
50
+ this.cdr.detectChanges();
51
+ }
52
+ handleOnClosed() {
53
+ this._items = [];
54
+ }
55
+ handleOnItemClick(e, data) {
56
+ const args = {
57
+ component: this.grid,
58
+ isUserInteraction: true,
59
+ nativeEvent: e,
60
+ data,
61
+ name: e.name
62
+ };
63
+ this.onItemClick.emit(args);
64
+ }
65
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXRowDropdownCommandColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
66
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: AXRowDropdownCommandColumnComponent, selector: "ax-dropdown-command-column", inputs: { width: "width", caption: "caption", fixed: "fixed", items: "items" }, outputs: { onItemClick: "onItemClick" }, providers: [{ provide: AXDataTableColumnComponent, useExisting: AXRowDropdownCommandColumnComponent }], viewQueries: [{ propertyName: "_template", first: true, predicate: TemplateRef, descendants: true }], usesInheritance: true, ngImport: i0, template: `
67
+ <ng-template let-row>
68
+ <div *ngIf="row.data">
69
+ <button axRipple>
70
+ <ax-icon icon="ax-icon ax-icon-more-horizontal"></ax-icon>
71
+ <ax-dropdown-panel [adaptivityEnabled]="true" (onOpened)="handleOnOpened(row.data)" (onClosed)="handleOnClosed()">
72
+ <ng-container *ngIf="_items.length;else loading">
73
+ <ax-button-item-list (onItemClick)="handleOnItemClick($event,row.data)" [items]="_items">
74
+ </ax-button-item-list>
75
+ </ng-container>
76
+ <ng-template #loading>
77
+ <div panel style="padding: 0.875rem;">
78
+ <ax-loading></ax-loading>
79
+ </div>
80
+ </ng-template>
81
+ </ax-dropdown-panel>
82
+ </button>
83
+ </div>
84
+ <ng-template #loading>
85
+ <div panel style="padding: 0.875rem;">
86
+ <ax-loading></ax-loading>
87
+ </div>
88
+ </ng-template>
89
+ </ng-template>`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.AXRippleDirective, selector: "[axRipple]", inputs: ["axRippleColor"] }, { kind: "component", type: i3.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "component", type: i4.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i5.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "component", type: i6.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
90
+ }
91
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXRowDropdownCommandColumnComponent, decorators: [{
92
+ type: Component,
93
+ args: [{
94
+ selector: 'ax-dropdown-command-column',
95
+ template: `
96
+ <ng-template let-row>
97
+ <div *ngIf="row.data">
98
+ <button axRipple>
99
+ <ax-icon icon="ax-icon ax-icon-more-horizontal"></ax-icon>
100
+ <ax-dropdown-panel [adaptivityEnabled]="true" (onOpened)="handleOnOpened(row.data)" (onClosed)="handleOnClosed()">
101
+ <ng-container *ngIf="_items.length;else loading">
102
+ <ax-button-item-list (onItemClick)="handleOnItemClick($event,row.data)" [items]="_items">
103
+ </ax-button-item-list>
104
+ </ng-container>
105
+ <ng-template #loading>
106
+ <div panel style="padding: 0.875rem;">
107
+ <ax-loading></ax-loading>
108
+ </div>
109
+ </ng-template>
110
+ </ax-dropdown-panel>
111
+ </button>
112
+ </div>
113
+ <ng-template #loading>
114
+ <div panel style="padding: 0.875rem;">
115
+ <ax-loading></ax-loading>
116
+ </div>
117
+ </ng-template>
118
+ </ng-template>`,
119
+ encapsulation: ViewEncapsulation.None,
120
+ changeDetection: ChangeDetectionStrategy.OnPush,
121
+ providers: [{ provide: AXDataTableColumnComponent, useExisting: AXRowDropdownCommandColumnComponent }],
122
+ inputs: ['width', 'caption', 'fixed'],
123
+ outputs: ['onItemClick']
124
+ }]
125
+ }], propDecorators: { _template: [{
126
+ type: ViewChild,
127
+ args: [TemplateRef]
128
+ }], items: [{
129
+ type: Input
130
+ }] } });
131
+ export class AXRowCommandColumnComponent extends AXBaseRowCommandColumnComponent {
132
+ constructor() {
133
+ super(...arguments);
134
+ this.items = [];
135
+ }
136
+ get template() {
137
+ return this._template;
138
+ }
139
+ getItems(rowData) {
140
+ if (Array.isArray(this.items)) {
141
+ return this.items;
142
+ }
143
+ else
144
+ (typeof this.items == 'function');
145
+ {
146
+ return this.items(rowData);
147
+ }
148
+ return [];
149
+ }
150
+ handleOnItemClick(e, item, data) {
151
+ const args = {
152
+ component: this.grid,
153
+ isUserInteraction: true,
154
+ nativeEvent: e,
155
+ data,
156
+ name: item.name,
157
+ };
158
+ this.onItemClick.emit(args);
159
+ }
160
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXRowCommandColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
161
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: AXRowCommandColumnComponent, selector: "ax-command-column", inputs: { width: "width", caption: "caption", fixed: "fixed", items: "items" }, outputs: { onItemClick: "onItemClick" }, providers: [{ provide: AXDataTableColumnComponent, useExisting: AXRowCommandColumnComponent }], viewQueries: [{ propertyName: "_template", first: true, predicate: TemplateRef, descendants: true }], usesInheritance: true, ngImport: i0, template: `
162
+ <ng-template let-row>
163
+ <div *ngIf="row.data">
164
+ <button
165
+ [style.color]="'rgba(var(--ax-color-'+(item.color ?? 'primary')+'-500))'" axRipple *ngFor="let item of getItems(row.data)"
166
+ (click)="handleOnItemClick($event,item,row.data)">
167
+ <ax-icon [icon]="item.icon" ></ax-icon>
168
+ </button>
169
+ </div>
170
+ </ng-template>`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.AXRippleDirective, selector: "[axRipple]", inputs: ["axRippleColor"] }, { kind: "component", type: i4.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
171
+ }
172
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXRowCommandColumnComponent, decorators: [{
173
+ type: Component,
174
+ args: [{
175
+ selector: 'ax-command-column',
176
+ template: `
177
+ <ng-template let-row>
178
+ <div *ngIf="row.data">
179
+ <button
180
+ [style.color]="'rgba(var(--ax-color-'+(item.color ?? 'primary')+'-500))'" axRipple *ngFor="let item of getItems(row.data)"
181
+ (click)="handleOnItemClick($event,item,row.data)">
182
+ <ax-icon [icon]="item.icon" ></ax-icon>
183
+ </button>
184
+ </div>
185
+ </ng-template>`,
186
+ encapsulation: ViewEncapsulation.None,
187
+ changeDetection: ChangeDetectionStrategy.OnPush,
188
+ providers: [{ provide: AXDataTableColumnComponent, useExisting: AXRowCommandColumnComponent }],
189
+ inputs: ['width', 'caption', 'fixed'],
190
+ outputs: ['onItemClick']
191
+ }]
192
+ }], propDecorators: { _template: [{
193
+ type: ViewChild,
194
+ args: [TemplateRef]
195
+ }], items: [{
196
+ type: Input
197
+ }] } });
198
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LWNvbW1hbmQtY29sdW1uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRhLXRhYmxlL3NyYy9saWIvY29sdW1ucy9yb3ctY29tbWFuZC1jb2x1bW4uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5SixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVqRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7Ozs7QUFTL0QsTUFBTSxPQUFnQiwrQkFBZ0MsU0FBUSwwQkFBMEI7SUFBeEY7O1FBRWMsU0FBSSxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3BDLFFBQUcsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUcxQyxpQkFBWSxHQUFHLEtBQUssQ0FBQTtRQVVwQixnQkFBVyxHQUE2QyxJQUFJLFlBQVksRUFBOEIsQ0FBQztJQUMzRyxDQUFDO0lBVEcsSUFBSSxRQUFRO1FBQ1IsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVELElBQUksUUFBUTtRQUNSLE9BQU8sbUJBQW1CLENBQUM7SUFDL0IsQ0FBQztDQUdKO0FBbUNELE1BQU0sT0FBTyxtQ0FBb0MsU0FBUSwrQkFBK0I7SUFoQ3hGOztRQTJDYyxXQUFNLEdBQXVCLEVBQUUsQ0FBQztRQUkxQyxVQUFLLEdBQWtHLEVBQUUsQ0FBQztLQW9DN0c7SUE3Q0csSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFVUyxLQUFLLENBQUMsY0FBYyxDQUFDLE9BQU87UUFDbEMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMzQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7U0FDNUI7O1lBQ0ksQ0FBQyxPQUFPLElBQUksQ0FBQyxLQUFLLElBQUksVUFBVSxDQUFDLENBQUE7UUFDdEM7WUFDSSxNQUFNLE1BQU0sR0FBSSxJQUFJLENBQUMsT0FBTyxDQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDL0MsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUN2QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQzthQUN4QjtpQkFDSSxJQUFJLE1BQU0sWUFBWSxPQUFPLEVBQUU7Z0JBQ2hDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxNQUFNLENBQUM7YUFDOUI7U0FDSjtRQUNELElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVTLGNBQWM7UUFDcEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUdTLGlCQUFpQixDQUFDLENBQTBDLEVBQUUsSUFBYTtRQUVqRixNQUFNLElBQUksR0FBK0I7WUFDckMsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ3BCLGlCQUFpQixFQUFFLElBQUk7WUFDdkIsV0FBVyxFQUFFLENBQUM7WUFDZCxJQUFJO1lBQ0osSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJO1NBQ2YsQ0FBQTtRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQy9CLENBQUM7OEdBbERRLG1DQUFtQztrR0FBbkMsbUNBQW1DLDhLQUpqQyxDQUFDLEVBQUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLFdBQVcsRUFBRSxtQ0FBbUMsRUFBRSxDQUFDLHFFQU8zRixXQUFXLHVFQWpDWjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7bUJBdUJLOzsyRkFPTixtQ0FBbUM7a0JBaEMvQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSw0QkFBNEI7b0JBQ3RDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7bUJBdUJLO29CQUNmLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsV0FBVyxxQ0FBcUMsRUFBRSxDQUFDO29CQUN0RyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQztvQkFDckMsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO2lCQUMzQjs4QkFLVyxTQUFTO3NCQURoQixTQUFTO3VCQUFDLFdBQVc7Z0JBWXRCLEtBQUs7c0JBREosS0FBSzs7QUE0RFYsTUFBTSxPQUFPLDJCQUE0QixTQUFRLCtCQUErQjtJQWxCaEY7O1FBNkJJLFVBQUssR0FBb0UsRUFBRSxDQUFDO0tBeUIvRTtJQTlCRyxJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQU1TLFFBQVEsQ0FBQyxPQUFnQjtRQUMvQixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzNCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztTQUNyQjs7WUFDSSxDQUFDLE9BQU8sSUFBSSxDQUFDLEtBQUssSUFBSSxVQUFVLENBQUMsQ0FBQTtRQUN0QztZQUNJLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUM5QjtRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUdTLGlCQUFpQixDQUFDLENBQWEsRUFBRSxJQUFzQixFQUFFLElBQWE7UUFDNUUsTUFBTSxJQUFJLEdBQStCO1lBQ3JDLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNwQixpQkFBaUIsRUFBRSxJQUFJO1lBQ3ZCLFdBQVcsRUFBRSxDQUFDO1lBQ2QsSUFBSTtZQUNKLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtTQUNsQixDQUFBO1FBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDL0IsQ0FBQzs4R0FuQ1EsMkJBQTJCO2tHQUEzQiwyQkFBMkIscUtBSnpCLENBQUMsRUFBRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsV0FBVyxFQUFFLDJCQUEyQixFQUFFLENBQUMscUVBT25GLFdBQVcsdUVBbkJaOzs7Ozs7Ozs7bUJBU0s7OzJGQU9OLDJCQUEyQjtrQkFsQnZDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsUUFBUSxFQUFFOzs7Ozs7Ozs7bUJBU0s7b0JBQ2YsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxXQUFXLDZCQUE2QixFQUFFLENBQUM7b0JBQzlGLE1BQU0sRUFBRSxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDO29CQUNyQyxPQUFPLEVBQUUsQ0FBQyxhQUFhLENBQUM7aUJBQzNCOzhCQUtXLFNBQVM7c0JBRGhCLFNBQVM7dUJBQUMsV0FBVztnQkFRdEIsS0FBSztzQkFESixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24sIGluamVjdCwgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQVhJdGVtQ2xpY2tFdmVudCwgQVhCdXR0b25DbGlja0V2ZW50IH0gZnJvbSBcIkBhY29yZXgvY29tcG9uZW50cy9jb21tb25cIjtcbmltcG9ydCB7IEFYRGF0YVRhYmxlQ29sdW1uQ29tcG9uZW50IH0gZnJvbSBcIi4vZGF0YS10YWJsZS1jb2x1bW5cIjtcbmltcG9ydCB7IEFYQnV0dG9uSXRlbUxpc3RJdGVtLCBBWEJ1dHRvbkl0ZW1Db21wb25lbnQgfSBmcm9tIFwiQGFjb3JleC9jb21wb25lbnRzL2J1dHRvblwiO1xuaW1wb3J0IHsgQVhEYXRhVGFibGVDb21wb25lbnQgfSBmcm9tIFwiLi4vZGF0YS10YWJsZS5jb21wb25lbnRcIjtcblxuZXhwb3J0IGludGVyZmFjZSBBWFJvd0NvbW1hbmRJdGVtIGV4dGVuZHMgQVhCdXR0b25JdGVtTGlzdEl0ZW0ge1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUm93Q29tbWFuZEl0ZW1DbGlja0V2ZW50IGV4dGVuZHMgQVhCdXR0b25DbGlja0V2ZW50IHtcbn1cblxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhCYXNlUm93Q29tbWFuZENvbHVtbkNvbXBvbmVudCBleHRlbmRzIEFYRGF0YVRhYmxlQ29sdW1uQ29tcG9uZW50IHtcblxuICAgIHByb3RlY3RlZCBncmlkID0gaW5qZWN0KEFYRGF0YVRhYmxlQ29tcG9uZW50KTtcbiAgICBwcm90ZWN0ZWQgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuXG4gICAgYWxsb3dTb3J0aW5nID0gZmFsc2VcblxuICAgIGdldCBza2VsZXRvbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGdldCBjc3NDbGFzcygpIHtcbiAgICAgICAgcmV0dXJuICdheC1jb21tYW5kLWNvbHVtbic7XG4gICAgfVxuXG4gICAgb25JdGVtQ2xpY2s6IEV2ZW50RW1pdHRlcjxBWFJvd0NvbW1hbmRJdGVtQ2xpY2tFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYUm93Q29tbWFuZEl0ZW1DbGlja0V2ZW50PigpO1xufVxuXG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXgtZHJvcGRvd24tY29tbWFuZC1jb2x1bW4nLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgPG5nLXRlbXBsYXRlIGxldC1yb3c+XG4gICAgICAgIDxkaXYgICpuZ0lmPVwicm93LmRhdGFcIj5cbiAgICAgICAgICAgIDxidXR0b24gIGF4UmlwcGxlPlxuICAgICAgICAgICAgICAgIDxheC1pY29uIGljb249XCJheC1pY29uIGF4LWljb24tbW9yZS1ob3Jpem9udGFsXCI+PC9heC1pY29uPlxuICAgICAgICAgICAgICAgIDxheC1kcm9wZG93bi1wYW5lbCAgW2FkYXB0aXZpdHlFbmFibGVkXT1cInRydWVcIiAob25PcGVuZWQpPVwiaGFuZGxlT25PcGVuZWQocm93LmRhdGEpXCIgKG9uQ2xvc2VkKT1cImhhbmRsZU9uQ2xvc2VkKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIl9pdGVtcy5sZW5ndGg7ZWxzZSBsb2FkaW5nXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YXgtYnV0dG9uLWl0ZW0tbGlzdCAgKG9uSXRlbUNsaWNrKT1cImhhbmRsZU9uSXRlbUNsaWNrKCRldmVudCxyb3cuZGF0YSlcIiBbaXRlbXNdPVwiX2l0ZW1zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtLWxpc3Q+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2xvYWRpbmc+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHBhbmVsIHN0eWxlPVwicGFkZGluZzogMC44NzVyZW07XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGF4LWxvYWRpbmc+PC9heC1sb2FkaW5nPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPC9heC1kcm9wZG93bi1wYW5lbD5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNsb2FkaW5nPlxuICAgICAgICAgICAgPGRpdiBwYW5lbCBzdHlsZT1cInBhZGRpbmc6IDAuODc1cmVtO1wiPlxuICAgICAgICAgICAgICAgIDxheC1sb2FkaW5nPjwvYXgtbG9hZGluZz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctdGVtcGxhdGU+YCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogQVhEYXRhVGFibGVDb2x1bW5Db21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWFJvd0Ryb3Bkb3duQ29tbWFuZENvbHVtbkNvbXBvbmVudCB9XSxcbiAgICBpbnB1dHM6IFsnd2lkdGgnLCAnY2FwdGlvbicsICdmaXhlZCddLFxuICAgIG91dHB1dHM6IFsnb25JdGVtQ2xpY2snXVxufSlcbmV4cG9ydCBjbGFzcyBBWFJvd0Ryb3Bkb3duQ29tbWFuZENvbHVtbkNvbXBvbmVudCBleHRlbmRzIEFYQmFzZVJvd0NvbW1hbmRDb2x1bW5Db21wb25lbnQge1xuXG5cbiAgICBAVmlld0NoaWxkKFRlbXBsYXRlUmVmKVxuICAgIHByaXZhdGUgX3RlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICAgIGdldCB0ZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl90ZW1wbGF0ZTtcbiAgICB9XG5cblxuICAgIHByb3RlY3RlZCBfaXRlbXM6IEFYUm93Q29tbWFuZEl0ZW1bXSA9IFtdO1xuXG5cbiAgICBASW5wdXQoKVxuICAgIGl0ZW1zOiBBWFJvd0NvbW1hbmRJdGVtW10gfCAoKHJvd0RhdGE6IHVua25vd24pID0+IEFYUm93Q29tbWFuZEl0ZW1bXSB8IFByb21pc2U8QVhSb3dDb21tYW5kSXRlbVtdPikgPSBbXTtcblxuXG4gICAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZU9uT3BlbmVkKHJvd0RhdGEpIHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5pdGVtcykpIHtcbiAgICAgICAgICAgIHRoaXMuX2l0ZW1zID0gdGhpcy5pdGVtcztcbiAgICAgICAgfVxuICAgICAgICBlbHNlICh0eXBlb2YgdGhpcy5pdGVtcyA9PSAnZnVuY3Rpb24nKVxuICAgICAgICB7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSAodGhpc1snaXRlbXMnXSBhcyBhbnkpKHJvd0RhdGEpO1xuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocmVzdWx0KSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2l0ZW1zID0gcmVzdWx0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAocmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2l0ZW1zID0gYXdhaXQgcmVzdWx0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgaGFuZGxlT25DbG9zZWQoKSB7XG4gICAgICAgIHRoaXMuX2l0ZW1zID0gW107XG4gICAgfVxuXG5cbiAgICBwcm90ZWN0ZWQgaGFuZGxlT25JdGVtQ2xpY2soZTogQVhJdGVtQ2xpY2tFdmVudDxBWEJ1dHRvbkl0ZW1Db21wb25lbnQ+LCBkYXRhOiB1bmtub3duKSB7XG5cbiAgICAgICAgY29uc3QgYXJnczogQVhSb3dDb21tYW5kSXRlbUNsaWNrRXZlbnQgPSB7XG4gICAgICAgICAgICBjb21wb25lbnQ6IHRoaXMuZ3JpZCxcbiAgICAgICAgICAgIGlzVXNlckludGVyYWN0aW9uOiB0cnVlLFxuICAgICAgICAgICAgbmF0aXZlRXZlbnQ6IGUsXG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgbmFtZTogZS5uYW1lXG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vbkl0ZW1DbGljay5lbWl0KGFyZ3MpXG4gICAgfVxufVxuXG5cblxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2F4LWNvbW1hbmQtY29sdW1uJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PlxuICAgICAgICA8ZGl2ICAqbmdJZj1cInJvdy5kYXRhXCI+XG4gICAgICAgICAgICA8YnV0dG9uIFxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiJ3JnYmEodmFyKC0tYXgtY29sb3ItJysoaXRlbS5jb2xvciA/PyAncHJpbWFyeScpKyctNTAwKSknXCIgYXhSaXBwbGUgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZ2V0SXRlbXMocm93LmRhdGEpXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZU9uSXRlbUNsaWNrKCRldmVudCxpdGVtLHJvdy5kYXRhKVwiPlxuICAgICAgICAgICAgICAgIDxheC1pY29uIFtpY29uXT1cIml0ZW0uaWNvblwiID48L2F4LWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5gLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBBWERhdGFUYWJsZUNvbHVtbkNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYUm93Q29tbWFuZENvbHVtbkNvbXBvbmVudCB9XSxcbiAgICBpbnB1dHM6IFsnd2lkdGgnLCAnY2FwdGlvbicsICdmaXhlZCddLFxuICAgIG91dHB1dHM6IFsnb25JdGVtQ2xpY2snXVxufSlcbmV4cG9ydCBjbGFzcyBBWFJvd0NvbW1hbmRDb2x1bW5Db21wb25lbnQgZXh0ZW5kcyBBWEJhc2VSb3dDb21tYW5kQ29sdW1uQ29tcG9uZW50IHtcblxuXG4gICAgQFZpZXdDaGlsZChUZW1wbGF0ZVJlZilcbiAgICBwcml2YXRlIF90ZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgICBnZXQgdGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8dW5rbm93bj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdGVtcGxhdGU7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBpdGVtczogQVhSb3dDb21tYW5kSXRlbVtdIHwgKChyb3dEYXRhOiB1bmtub3duKSA9PiBBWFJvd0NvbW1hbmRJdGVtW10pID0gW107XG5cblxuICAgIHByb3RlY3RlZCBnZXRJdGVtcyhyb3dEYXRhOiB1bmtub3duKTogQVhSb3dDb21tYW5kSXRlbVtdIHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5pdGVtcykpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLml0ZW1zO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgKHR5cGVvZiB0aGlzLml0ZW1zID09ICdmdW5jdGlvbicpXG4gICAgICAgIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLml0ZW1zKHJvd0RhdGEpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cblxuICAgIHByb3RlY3RlZCBoYW5kbGVPbkl0ZW1DbGljayhlOiBNb3VzZUV2ZW50LCBpdGVtOiBBWFJvd0NvbW1hbmRJdGVtLCBkYXRhOiB1bmtub3duKSB7XG4gICAgICAgIGNvbnN0IGFyZ3M6IEFYUm93Q29tbWFuZEl0ZW1DbGlja0V2ZW50ID0ge1xuICAgICAgICAgICAgY29tcG9uZW50OiB0aGlzLmdyaWQsXG4gICAgICAgICAgICBpc1VzZXJJbnRlcmFjdGlvbjogdHJ1ZSxcbiAgICAgICAgICAgIG5hdGl2ZUV2ZW50OiBlLFxuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIG5hbWU6IGl0ZW0ubmFtZSxcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9uSXRlbUNsaWNrLmVtaXQoYXJncylcbiAgICB9XG59Il19
@@ -0,0 +1,65 @@
1
+ import { ChangeDetectionStrategy, Component, Input, TemplateRef, ViewChild, ViewEncapsulation, inject } from "@angular/core";
2
+ import { AXDataTableColumnComponent } from "./data-table-column";
3
+ import { AXDataTableComponent } from "../data-table.component";
4
+ import { AXUnsubscriber } from "@acorex/core/utils";
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@acorex/core/format";
7
+ export class AXRowIndexColumnComponent extends AXDataTableColumnComponent {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.grid = inject(AXDataTableComponent);
11
+ this.unsubscriber = inject(AXUnsubscriber);
12
+ this.padZero = false;
13
+ this.formatCount = 1;
14
+ this.allowSorting = false;
15
+ }
16
+ get template() {
17
+ return this._template;
18
+ }
19
+ get cssClass() {
20
+ return 'ax-index-column';
21
+ }
22
+ ngOnInit() {
23
+ if (this.padZero) {
24
+ this.grid.dataSource.onChanged
25
+ .pipe(this.unsubscriber.takeUntilDestroy)
26
+ .subscribe(c => {
27
+ this.formatCount = c.totalCount.toString().length;
28
+ });
29
+ }
30
+ }
31
+ get skeleton() {
32
+ return false;
33
+ }
34
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXRowIndexColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
35
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: AXRowIndexColumnComponent, selector: "ax-index-column", inputs: { width: "width", caption: "caption", fixed: "fixed", padZero: "padZero" }, providers: [
36
+ AXUnsubscriber,
37
+ { provide: AXDataTableColumnComponent, useExisting: AXRowIndexColumnComponent }
38
+ ], viewQueries: [{ propertyName: "_template", first: true, predicate: TemplateRef, descendants: true }], usesInheritance: true, ngImport: i0, template: `
39
+ <ng-template let-row>
40
+ <span> {{(row.rowIndex + 1) | format:"number":"D"+formatCount}}</span>
41
+ </ng-template>`, isInline: true, dependencies: [{ kind: "pipe", type: i1.AXFormatPipe, name: "format" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
42
+ }
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXRowIndexColumnComponent, decorators: [{
44
+ type: Component,
45
+ args: [{
46
+ selector: 'ax-index-column',
47
+ template: `
48
+ <ng-template let-row>
49
+ <span> {{(row.rowIndex + 1) | format:"number":"D"+formatCount}}</span>
50
+ </ng-template>`,
51
+ encapsulation: ViewEncapsulation.None,
52
+ changeDetection: ChangeDetectionStrategy.OnPush,
53
+ providers: [
54
+ AXUnsubscriber,
55
+ { provide: AXDataTableColumnComponent, useExisting: AXRowIndexColumnComponent }
56
+ ],
57
+ inputs: ['width', 'caption', 'fixed'],
58
+ }]
59
+ }], propDecorators: { _template: [{
60
+ type: ViewChild,
61
+ args: [TemplateRef]
62
+ }], padZero: [{
63
+ type: Input
64
+ }] } });
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LWluZGV4LWNvbHVtbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0YS10YWJsZS9zcmMvbGliL2NvbHVtbnMvcm93LWluZGV4LWNvbHVtbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsV0FBVyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckksT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7QUFrQnBELE1BQU0sT0FBTyx5QkFBMEIsU0FBUSwwQkFBMEI7SUFmekU7O1FBaUJZLFNBQUksR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUNwQyxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQWM5QyxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBRU4sZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFhMUIsaUJBQVksR0FBRyxLQUFLLENBQUE7S0FLdkI7SUE3QkcsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDUixPQUFPLGlCQUFpQixDQUFDO0lBQzdCLENBQUM7SUFPRCxRQUFRO1FBQ0osSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUztpQkFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLENBQUM7aUJBQ3hDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDWCxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ3RELENBQUMsQ0FBQyxDQUFDO1NBQ1Y7SUFDTCxDQUFDO0lBS0QsSUFBSSxRQUFRO1FBQ1IsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQzs4R0FwQ1EseUJBQXlCO2tHQUF6Qix5QkFBeUIsOEhBUHZCO1lBQ1AsY0FBYztZQUNkLEVBQUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLFdBQVcsRUFBRSx5QkFBeUIsRUFBRTtTQUNsRixxRUFTVSxXQUFXLHVFQWxCWjs7O21CQUdLOzsyRkFVTix5QkFBeUI7a0JBZnJDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFOzs7bUJBR0s7b0JBQ2YsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxTQUFTLEVBQUU7d0JBQ1AsY0FBYzt3QkFDZCxFQUFFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxXQUFXLDJCQUEyQixFQUFFO3FCQUNsRjtvQkFDRCxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQztpQkFFeEM7OEJBT1csU0FBUztzQkFEaEIsU0FBUzt1QkFBQyxXQUFXO2dCQVl0QixPQUFPO3NCQUROLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiwgaW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFYRGF0YVRhYmxlQ29sdW1uQ29tcG9uZW50IH0gZnJvbSBcIi4vZGF0YS10YWJsZS1jb2x1bW5cIjtcbmltcG9ydCB7IEFYRGF0YVRhYmxlQ29tcG9uZW50IH0gZnJvbSBcIi4uL2RhdGEtdGFibGUuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBBWFVuc3Vic2NyaWJlciB9IGZyb20gXCJAYWNvcmV4L2NvcmUvdXRpbHNcIjtcblxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2F4LWluZGV4LWNvbHVtbicsXG4gICAgdGVtcGxhdGU6IGBcbiAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz5cbiAgICAgICA8c3Bhbj4ge3socm93LnJvd0luZGV4ICsgMSkgfCBmb3JtYXQ6XCJudW1iZXJcIjpcIkRcIitmb3JtYXRDb3VudH19PC9zcGFuPlxuICAgIDwvbmctdGVtcGxhdGU+YCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBBWFVuc3Vic2NyaWJlcixcbiAgICAgICAgeyBwcm92aWRlOiBBWERhdGFUYWJsZUNvbHVtbkNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYUm93SW5kZXhDb2x1bW5Db21wb25lbnQgfVxuICAgIF0sXG4gICAgaW5wdXRzOiBbJ3dpZHRoJywgJ2NhcHRpb24nLCAnZml4ZWQnXSxcblxufSlcbmV4cG9ydCBjbGFzcyBBWFJvd0luZGV4Q29sdW1uQ29tcG9uZW50IGV4dGVuZHMgQVhEYXRhVGFibGVDb2x1bW5Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gICAgcHJpdmF0ZSBncmlkID0gaW5qZWN0KEFYRGF0YVRhYmxlQ29tcG9uZW50KTtcbiAgICBwcml2YXRlIHVuc3Vic2NyaWJlciA9IGluamVjdChBWFVuc3Vic2NyaWJlcik7XG5cbiAgICBAVmlld0NoaWxkKFRlbXBsYXRlUmVmKVxuICAgIHByaXZhdGUgX3RlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICAgIGdldCB0ZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl90ZW1wbGF0ZTtcbiAgICB9XG5cbiAgICBnZXQgY3NzQ2xhc3MoKSB7XG4gICAgICAgIHJldHVybiAnYXgtaW5kZXgtY29sdW1uJztcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHBhZFplcm8gPSBmYWxzZTtcblxuICAgIHByb3RlY3RlZCBmb3JtYXRDb3VudCA9IDE7XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMucGFkWmVybykge1xuICAgICAgICAgICAgdGhpcy5ncmlkLmRhdGFTb3VyY2Uub25DaGFuZ2VkXG4gICAgICAgICAgICAgICAgLnBpcGUodGhpcy51bnN1YnNjcmliZXIudGFrZVVudGlsRGVzdHJveSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKGMgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm1hdENvdW50ID0gYy50b3RhbENvdW50LnRvU3RyaW5nKCkubGVuZ3RoO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICBhbGxvd1NvcnRpbmcgPSBmYWxzZVxuXG4gICAgZ2V0IHNrZWxldG9uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufSJdfQ==
@@ -0,0 +1,62 @@
1
+ import { ChangeDetectionStrategy, Component, TemplateRef, ViewChild, ViewEncapsulation, inject } from "@angular/core";
2
+ import { AXDataTableColumnComponent } from "./data-table-column";
3
+ import { AXDataTableComponent } from "../data-table.component";
4
+ import * as i0 from "@angular/core";
5
+ export class AXRowSelectColumnComponent extends AXDataTableColumnComponent {
6
+ constructor() {
7
+ super(...arguments);
8
+ this.grid = inject(AXDataTableComponent);
9
+ }
10
+ get template() {
11
+ return this._template;
12
+ }
13
+ isSelected(item) {
14
+ return item != null && this.grid.selectedRows.includes(item);
15
+ }
16
+ handleChange(item) {
17
+ if (this.isSelected(item)) {
18
+ this.grid.unSelectRows(item);
19
+ }
20
+ else {
21
+ this.grid.selectRows(item);
22
+ }
23
+ }
24
+ get skeleton() {
25
+ return false;
26
+ }
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXRowSelectColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
28
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: AXRowSelectColumnComponent, selector: "ax-select-column", inputs: { width: "width", caption: "caption", fixed: "fixed" }, providers: [{ provide: AXDataTableColumnComponent, useExisting: AXRowSelectColumnComponent }], viewQueries: [{ propertyName: "_template", first: true, predicate: TemplateRef, descendants: true }], usesInheritance: true, ngImport: i0, template: `
29
+ <ng-template let-row>
30
+ <input
31
+ class="ax-checkbox"
32
+ type="checkbox"
33
+ [disabled]="!row.data"
34
+ (change)="handleChange(row.data)"
35
+ [checked]="isSelected(row.data)"
36
+ />
37
+ </ng-template>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
38
+ }
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXRowSelectColumnComponent, decorators: [{
40
+ type: Component,
41
+ args: [{
42
+ selector: 'ax-select-column',
43
+ template: `
44
+ <ng-template let-row>
45
+ <input
46
+ class="ax-checkbox"
47
+ type="checkbox"
48
+ [disabled]="!row.data"
49
+ (change)="handleChange(row.data)"
50
+ [checked]="isSelected(row.data)"
51
+ />
52
+ </ng-template>`,
53
+ encapsulation: ViewEncapsulation.None,
54
+ changeDetection: ChangeDetectionStrategy.OnPush,
55
+ providers: [{ provide: AXDataTableColumnComponent, useExisting: AXRowSelectColumnComponent }],
56
+ inputs: ['width', 'caption', 'fixed']
57
+ }]
58
+ }], propDecorators: { _template: [{
59
+ type: ViewChild,
60
+ args: [TemplateRef]
61
+ }] } });
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LXNlbGVjdC1jb2x1bW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtdGFibGUvc3JjL2xpYi9jb2x1bW5zL3Jvdy1zZWxlY3QtY29sdW1uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RILE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQW1CL0QsTUFBTSxPQUFPLDBCQUEyQixTQUFRLDBCQUEwQjtJQWpCMUU7O1FBbUJZLFNBQUksR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztLQTZCL0M7SUF0QkcsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFFUyxVQUFVLENBQUMsSUFBYTtRQUM5QixPQUFPLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFHUyxZQUFZLENBQUMsSUFBYTtRQUNoQyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDaEM7YUFDSTtZQUNELElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzlCO0lBQ0wsQ0FBQztJQUVELElBQUksUUFBUTtRQUNSLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7OEdBN0JRLDBCQUEwQjtrR0FBMUIsMEJBQTBCLDJHQUh4QixDQUFDLEVBQUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLFdBQVcsRUFBRSwwQkFBMEIsRUFBRSxDQUFDLHFFQVFsRixXQUFXLHVFQXBCWjs7Ozs7Ozs7O21CQVNLOzsyRkFNTiwwQkFBMEI7a0JBakJ0QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFFBQVEsRUFBRTs7Ozs7Ozs7O21CQVNLO29CQUNmLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsV0FBVyw0QkFBNEIsRUFBRSxDQUFDO29CQUM3RixNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQztpQkFDeEM7OEJBT1csU0FBUztzQkFEaEIsU0FBUzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24sIGluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBWERhdGFUYWJsZUNvbHVtbkNvbXBvbmVudCB9IGZyb20gXCIuL2RhdGEtdGFibGUtY29sdW1uXCI7XG5pbXBvcnQgeyBBWERhdGFUYWJsZUNvbXBvbmVudCB9IGZyb20gXCIuLi9kYXRhLXRhYmxlLmNvbXBvbmVudFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2F4LXNlbGVjdC1jb2x1bW4nLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgPG5nLXRlbXBsYXRlIGxldC1yb3c+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgY2xhc3M9XCJheC1jaGVja2JveFwiXG4gICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFyb3cuZGF0YVwiXG4gICAgICAgICAgICAoY2hhbmdlKT1cImhhbmRsZUNoYW5nZShyb3cuZGF0YSlcIlxuICAgICAgICAgICAgW2NoZWNrZWRdPVwiaXNTZWxlY3RlZChyb3cuZGF0YSlcIlxuICAgICAgICAgIC8+XG4gICAgPC9uZy10ZW1wbGF0ZT5gLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBBWERhdGFUYWJsZUNvbHVtbkNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYUm93U2VsZWN0Q29sdW1uQ29tcG9uZW50IH1dLFxuICAgIGlucHV0czogWyd3aWR0aCcsICdjYXB0aW9uJywgJ2ZpeGVkJ11cbn0pXG5leHBvcnQgY2xhc3MgQVhSb3dTZWxlY3RDb2x1bW5Db21wb25lbnQgZXh0ZW5kcyBBWERhdGFUYWJsZUNvbHVtbkNvbXBvbmVudCB7XG5cbiAgICBwcml2YXRlIGdyaWQgPSBpbmplY3QoQVhEYXRhVGFibGVDb21wb25lbnQpO1xuXG5cbiAgICBAVmlld0NoaWxkKFRlbXBsYXRlUmVmKVxuICAgIHByaXZhdGUgX3RlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuXG4gICAgZ2V0IHRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPHVua25vd24+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RlbXBsYXRlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBpc1NlbGVjdGVkKGl0ZW06IHVua25vd24pIHtcbiAgICAgICAgcmV0dXJuIGl0ZW0gIT0gbnVsbCAmJiB0aGlzLmdyaWQuc2VsZWN0ZWRSb3dzLmluY2x1ZGVzKGl0ZW0pO1xuICAgIH1cblxuXG4gICAgcHJvdGVjdGVkIGhhbmRsZUNoYW5nZShpdGVtOiB1bmtub3duKSB7XG4gICAgICAgIGlmICh0aGlzLmlzU2VsZWN0ZWQoaXRlbSkpIHtcbiAgICAgICAgICAgIHRoaXMuZ3JpZC51blNlbGVjdFJvd3MoaXRlbSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmdyaWQuc2VsZWN0Um93cyhpdGVtKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBza2VsZXRvbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxufSJdfQ==