@alauda/ui 7.3.3-beta.33 → 7.3.3-beta.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,11 +1,9 @@
1
- import { CdkTableModule } from '@angular/cdk/table';
2
- import { CommonModule } from '@angular/common';
3
1
  import { NgModule } from '@angular/core';
4
- import { IconModule } from '../icon/icon.module';
5
2
  import { TableCellDefDirective } from './table-cell-def.directive';
6
3
  import { TableExpandButtonCellComponent, TableExpandPanelCellComponent, } from './table-cell.component';
7
4
  import { TableCellDirective } from './table-cell.directive';
8
5
  import { TableColumnDefDirective } from './table-column-def.directive';
6
+ import { TableColumnResizableDirective } from './table-column-resizable.directive';
9
7
  import { TableHeaderCellDefDirective } from './table-header-cell-def.directive';
10
8
  import { TableHeaderCellDirective } from './table-header-cell.directive';
11
9
  import { TableHeaderRowDefDirective } from './table-header-row-def.directive';
@@ -16,12 +14,28 @@ import { TableRowComponent } from './table-row.component';
16
14
  import { TableScrollableDirective, TableScrollWrapperDirective, } from './table-scroll.directive';
17
15
  import { TableComponent } from './table.component';
18
16
  import * as i0 from "@angular/core";
17
+ export const TABLE_MODULE = [
18
+ TableComponent,
19
+ TableRowComponent,
20
+ TableHeaderRowComponent,
21
+ TableExpandButtonCellComponent,
22
+ TableExpandPanelCellComponent,
23
+ TableCellDirective,
24
+ TableCellDefDirective,
25
+ TableHeaderCellDirective,
26
+ TableRowDefDirective,
27
+ TableHeaderRowDefDirective,
28
+ TableHeaderCellDefDirective,
29
+ TableColumnDefDirective,
30
+ TableColumnResizableDirective,
31
+ TablePlaceholderOutletDirective,
32
+ TablePlaceholderDefDirective,
33
+ TableScrollWrapperDirective,
34
+ TableScrollableDirective,
35
+ ];
19
36
  export class TableModule {
20
37
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: TableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
21
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.3", ngImport: i0, type: TableModule, imports: [CommonModule,
22
- IconModule,
23
- CdkTableModule,
24
- TableComponent,
38
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.3", ngImport: i0, type: TableModule, imports: [TableComponent,
25
39
  TableRowComponent,
26
40
  TableHeaderRowComponent,
27
41
  TableExpandButtonCellComponent,
@@ -33,10 +47,11 @@ export class TableModule {
33
47
  TableHeaderRowDefDirective,
34
48
  TableHeaderCellDefDirective,
35
49
  TableColumnDefDirective,
36
- TableScrollableDirective,
50
+ TableColumnResizableDirective,
37
51
  TablePlaceholderOutletDirective,
38
52
  TablePlaceholderDefDirective,
39
- TableScrollWrapperDirective], exports: [TableComponent,
53
+ TableScrollWrapperDirective,
54
+ TableScrollableDirective], exports: [TableComponent,
40
55
  TableRowComponent,
41
56
  TableHeaderRowComponent,
42
57
  TableExpandButtonCellComponent,
@@ -48,77 +63,20 @@ export class TableModule {
48
63
  TableHeaderRowDefDirective,
49
64
  TableHeaderCellDefDirective,
50
65
  TableColumnDefDirective,
51
- TableScrollableDirective,
66
+ TableColumnResizableDirective,
52
67
  TablePlaceholderOutletDirective,
53
68
  TablePlaceholderDefDirective,
54
- TableScrollWrapperDirective] });
55
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: TableModule, imports: [CommonModule,
56
- IconModule,
57
- CdkTableModule,
58
- TableComponent,
69
+ TableScrollWrapperDirective,
70
+ TableScrollableDirective] });
71
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: TableModule, imports: [TableComponent,
59
72
  TableRowComponent,
60
73
  TableHeaderRowComponent] });
61
74
  }
62
75
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: TableModule, decorators: [{
63
76
  type: NgModule,
64
77
  args: [{
65
- imports: [
66
- CommonModule,
67
- IconModule,
68
- CdkTableModule,
69
- TableComponent,
70
- TableRowComponent,
71
- TableHeaderRowComponent,
72
- TableExpandButtonCellComponent,
73
- TableExpandPanelCellComponent,
74
- TableCellDirective,
75
- TableCellDefDirective,
76
- TableHeaderCellDirective,
77
- TableRowDefDirective,
78
- TableHeaderRowDefDirective,
79
- TableHeaderCellDefDirective,
80
- TableColumnDefDirective,
81
- TableScrollableDirective,
82
- TablePlaceholderOutletDirective,
83
- TablePlaceholderDefDirective,
84
- TableScrollWrapperDirective,
85
- ],
86
- exports: [
87
- TableComponent,
88
- TableRowComponent,
89
- TableHeaderRowComponent,
90
- TableExpandButtonCellComponent,
91
- TableExpandPanelCellComponent,
92
- TableCellDirective,
93
- TableCellDefDirective,
94
- TableHeaderCellDirective,
95
- TableRowDefDirective,
96
- TableHeaderRowDefDirective,
97
- TableHeaderCellDefDirective,
98
- TableColumnDefDirective,
99
- TableScrollableDirective,
100
- TablePlaceholderOutletDirective,
101
- TablePlaceholderDefDirective,
102
- TableScrollWrapperDirective,
103
- ],
78
+ imports: [...TABLE_MODULE],
79
+ exports: [...TABLE_MODULE],
104
80
  }]
105
81
  }] });
106
- export const TABLE_MODULE = [
107
- TableComponent,
108
- TableRowComponent,
109
- TableHeaderRowComponent,
110
- TableExpandButtonCellComponent,
111
- TableExpandPanelCellComponent,
112
- TableCellDirective,
113
- TableCellDefDirective,
114
- TableHeaderCellDirective,
115
- TableRowDefDirective,
116
- TableHeaderRowDefDirective,
117
- TableHeaderCellDefDirective,
118
- TableColumnDefDirective,
119
- TableScrollableDirective,
120
- TablePlaceholderOutletDirective,
121
- TablePlaceholderDefDirective,
122
- TableScrollWrapperDirective,
123
- ];
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RhYmxlL3RhYmxlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWpELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFDTCw4QkFBOEIsRUFDOUIsNkJBQTZCLEdBQzlCLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDaEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDekUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDOUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUNMLDRCQUE0QixFQUM1QiwrQkFBK0IsR0FDaEMsTUFBTSwrQkFBK0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLDJCQUEyQixHQUM1QixNQUFNLDBCQUEwQixDQUFDO0FBQ2xDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUEyQ25ELE1BQU0sT0FBTyxXQUFXO3VHQUFYLFdBQVc7d0dBQVgsV0FBVyxZQXZDcEIsWUFBWTtZQUNaLFVBQVU7WUFDVixjQUFjO1lBQ2QsY0FBYztZQUNkLGlCQUFpQjtZQUNqQix1QkFBdUI7WUFDdkIsOEJBQThCO1lBQzlCLDZCQUE2QjtZQUM3QixrQkFBa0I7WUFDbEIscUJBQXFCO1lBQ3JCLHdCQUF3QjtZQUN4QixvQkFBb0I7WUFDcEIsMEJBQTBCO1lBQzFCLDJCQUEyQjtZQUMzQix1QkFBdUI7WUFDdkIsd0JBQXdCO1lBQ3hCLCtCQUErQjtZQUMvQiw0QkFBNEI7WUFDNUIsMkJBQTJCLGFBRzNCLGNBQWM7WUFDZCxpQkFBaUI7WUFDakIsdUJBQXVCO1lBQ3ZCLDhCQUE4QjtZQUM5Qiw2QkFBNkI7WUFDN0Isa0JBQWtCO1lBQ2xCLHFCQUFxQjtZQUNyQix3QkFBd0I7WUFDeEIsb0JBQW9CO1lBQ3BCLDBCQUEwQjtZQUMxQiwyQkFBMkI7WUFDM0IsdUJBQXVCO1lBQ3ZCLHdCQUF3QjtZQUN4QiwrQkFBK0I7WUFDL0IsNEJBQTRCO1lBQzVCLDJCQUEyQjt3R0FHbEIsV0FBVyxZQXZDcEIsWUFBWTtZQUNaLFVBQVU7WUFDVixjQUFjO1lBQ2QsY0FBYztZQUNkLGlCQUFpQjtZQUNqQix1QkFBdUI7OzJGQWtDZCxXQUFXO2tCQXpDdkIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixVQUFVO3dCQUNWLGNBQWM7d0JBQ2QsY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLHVCQUF1Qjt3QkFDdkIsOEJBQThCO3dCQUM5Qiw2QkFBNkI7d0JBQzdCLGtCQUFrQjt3QkFDbEIscUJBQXFCO3dCQUNyQix3QkFBd0I7d0JBQ3hCLG9CQUFvQjt3QkFDcEIsMEJBQTBCO3dCQUMxQiwyQkFBMkI7d0JBQzNCLHVCQUF1Qjt3QkFDdkIsd0JBQXdCO3dCQUN4QiwrQkFBK0I7d0JBQy9CLDRCQUE0Qjt3QkFDNUIsMkJBQTJCO3FCQUM1QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLHVCQUF1Qjt3QkFDdkIsOEJBQThCO3dCQUM5Qiw2QkFBNkI7d0JBQzdCLGtCQUFrQjt3QkFDbEIscUJBQXFCO3dCQUNyQix3QkFBd0I7d0JBQ3hCLG9CQUFvQjt3QkFDcEIsMEJBQTBCO3dCQUMxQiwyQkFBMkI7d0JBQzNCLHVCQUF1Qjt3QkFDdkIsd0JBQXdCO3dCQUN4QiwrQkFBK0I7d0JBQy9CLDRCQUE0Qjt3QkFDNUIsMkJBQTJCO3FCQUM1QjtpQkFDRjs7QUFHRCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUc7SUFDMUIsY0FBYztJQUNkLGlCQUFpQjtJQUNqQix1QkFBdUI7SUFDdkIsOEJBQThCO0lBQzlCLDZCQUE2QjtJQUM3QixrQkFBa0I7SUFDbEIscUJBQXFCO0lBQ3JCLHdCQUF3QjtJQUN4QixvQkFBb0I7SUFDcEIsMEJBQTBCO0lBQzFCLDJCQUEyQjtJQUMzQix1QkFBdUI7SUFDdkIsd0JBQXdCO0lBQ3hCLCtCQUErQjtJQUMvQiw0QkFBNEI7SUFDNUIsMkJBQTJCO0NBQ25CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtUYWJsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90YWJsZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgSWNvbk1vZHVsZSB9IGZyb20gJy4uL2ljb24vaWNvbi5tb2R1bGUnO1xuXG5pbXBvcnQgeyBUYWJsZUNlbGxEZWZEaXJlY3RpdmUgfSBmcm9tICcuL3RhYmxlLWNlbGwtZGVmLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1xuICBUYWJsZUV4cGFuZEJ1dHRvbkNlbGxDb21wb25lbnQsXG4gIFRhYmxlRXhwYW5kUGFuZWxDZWxsQ29tcG9uZW50LFxufSBmcm9tICcuL3RhYmxlLWNlbGwuY29tcG9uZW50JztcbmltcG9ydCB7IFRhYmxlQ2VsbERpcmVjdGl2ZSB9IGZyb20gJy4vdGFibGUtY2VsbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVGFibGVDb2x1bW5EZWZEaXJlY3RpdmUgfSBmcm9tICcuL3RhYmxlLWNvbHVtbi1kZWYuZGlyZWN0aXZlJztcbmltcG9ydCB7IFRhYmxlSGVhZGVyQ2VsbERlZkRpcmVjdGl2ZSB9IGZyb20gJy4vdGFibGUtaGVhZGVyLWNlbGwtZGVmLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUYWJsZUhlYWRlckNlbGxEaXJlY3RpdmUgfSBmcm9tICcuL3RhYmxlLWhlYWRlci1jZWxsLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUYWJsZUhlYWRlclJvd0RlZkRpcmVjdGl2ZSB9IGZyb20gJy4vdGFibGUtaGVhZGVyLXJvdy1kZWYuZGlyZWN0aXZlJztcbmltcG9ydCB7IFRhYmxlSGVhZGVyUm93Q29tcG9uZW50IH0gZnJvbSAnLi90YWJsZS1oZWFkZXItcm93LmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBUYWJsZVBsYWNlaG9sZGVyRGVmRGlyZWN0aXZlLFxuICBUYWJsZVBsYWNlaG9sZGVyT3V0bGV0RGlyZWN0aXZlLFxufSBmcm9tICcuL3RhYmxlLXBsYWNlaG9sZGVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUYWJsZVJvd0RlZkRpcmVjdGl2ZSB9IGZyb20gJy4vdGFibGUtcm93LWRlZi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVGFibGVSb3dDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlLXJvdy5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgVGFibGVTY3JvbGxhYmxlRGlyZWN0aXZlLFxuICBUYWJsZVNjcm9sbFdyYXBwZXJEaXJlY3RpdmUsXG59IGZyb20gJy4vdGFibGUtc2Nyb2xsLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vdGFibGUuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBJY29uTW9kdWxlLFxuICAgIENka1RhYmxlTW9kdWxlLFxuICAgIFRhYmxlQ29tcG9uZW50LFxuICAgIFRhYmxlUm93Q29tcG9uZW50LFxuICAgIFRhYmxlSGVhZGVyUm93Q29tcG9uZW50LFxuICAgIFRhYmxlRXhwYW5kQnV0dG9uQ2VsbENvbXBvbmVudCxcbiAgICBUYWJsZUV4cGFuZFBhbmVsQ2VsbENvbXBvbmVudCxcbiAgICBUYWJsZUNlbGxEaXJlY3RpdmUsXG4gICAgVGFibGVDZWxsRGVmRGlyZWN0aXZlLFxuICAgIFRhYmxlSGVhZGVyQ2VsbERpcmVjdGl2ZSxcbiAgICBUYWJsZVJvd0RlZkRpcmVjdGl2ZSxcbiAgICBUYWJsZUhlYWRlclJvd0RlZkRpcmVjdGl2ZSxcbiAgICBUYWJsZUhlYWRlckNlbGxEZWZEaXJlY3RpdmUsXG4gICAgVGFibGVDb2x1bW5EZWZEaXJlY3RpdmUsXG4gICAgVGFibGVTY3JvbGxhYmxlRGlyZWN0aXZlLFxuICAgIFRhYmxlUGxhY2Vob2xkZXJPdXRsZXREaXJlY3RpdmUsXG4gICAgVGFibGVQbGFjZWhvbGRlckRlZkRpcmVjdGl2ZSxcbiAgICBUYWJsZVNjcm9sbFdyYXBwZXJEaXJlY3RpdmUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBUYWJsZUNvbXBvbmVudCxcbiAgICBUYWJsZVJvd0NvbXBvbmVudCxcbiAgICBUYWJsZUhlYWRlclJvd0NvbXBvbmVudCxcbiAgICBUYWJsZUV4cGFuZEJ1dHRvbkNlbGxDb21wb25lbnQsXG4gICAgVGFibGVFeHBhbmRQYW5lbENlbGxDb21wb25lbnQsXG4gICAgVGFibGVDZWxsRGlyZWN0aXZlLFxuICAgIFRhYmxlQ2VsbERlZkRpcmVjdGl2ZSxcbiAgICBUYWJsZUhlYWRlckNlbGxEaXJlY3RpdmUsXG4gICAgVGFibGVSb3dEZWZEaXJlY3RpdmUsXG4gICAgVGFibGVIZWFkZXJSb3dEZWZEaXJlY3RpdmUsXG4gICAgVGFibGVIZWFkZXJDZWxsRGVmRGlyZWN0aXZlLFxuICAgIFRhYmxlQ29sdW1uRGVmRGlyZWN0aXZlLFxuICAgIFRhYmxlU2Nyb2xsYWJsZURpcmVjdGl2ZSxcbiAgICBUYWJsZVBsYWNlaG9sZGVyT3V0bGV0RGlyZWN0aXZlLFxuICAgIFRhYmxlUGxhY2Vob2xkZXJEZWZEaXJlY3RpdmUsXG4gICAgVGFibGVTY3JvbGxXcmFwcGVyRGlyZWN0aXZlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZU1vZHVsZSB7fVxuXG5leHBvcnQgY29uc3QgVEFCTEVfTU9EVUxFID0gW1xuICBUYWJsZUNvbXBvbmVudCxcbiAgVGFibGVSb3dDb21wb25lbnQsXG4gIFRhYmxlSGVhZGVyUm93Q29tcG9uZW50LFxuICBUYWJsZUV4cGFuZEJ1dHRvbkNlbGxDb21wb25lbnQsXG4gIFRhYmxlRXhwYW5kUGFuZWxDZWxsQ29tcG9uZW50LFxuICBUYWJsZUNlbGxEaXJlY3RpdmUsXG4gIFRhYmxlQ2VsbERlZkRpcmVjdGl2ZSxcbiAgVGFibGVIZWFkZXJDZWxsRGlyZWN0aXZlLFxuICBUYWJsZVJvd0RlZkRpcmVjdGl2ZSxcbiAgVGFibGVIZWFkZXJSb3dEZWZEaXJlY3RpdmUsXG4gIFRhYmxlSGVhZGVyQ2VsbERlZkRpcmVjdGl2ZSxcbiAgVGFibGVDb2x1bW5EZWZEaXJlY3RpdmUsXG4gIFRhYmxlU2Nyb2xsYWJsZURpcmVjdGl2ZSxcbiAgVGFibGVQbGFjZWhvbGRlck91dGxldERpcmVjdGl2ZSxcbiAgVGFibGVQbGFjZWhvbGRlckRlZkRpcmVjdGl2ZSxcbiAgVGFibGVTY3JvbGxXcmFwcGVyRGlyZWN0aXZlLFxuXSBhcyBjb25zdDtcbiJdfQ==
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RhYmxlL3RhYmxlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFDTCw4QkFBOEIsRUFDOUIsNkJBQTZCLEdBQzlCLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbkYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDaEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDekUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDOUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUNMLDRCQUE0QixFQUM1QiwrQkFBK0IsR0FDaEMsTUFBTSwrQkFBK0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLDJCQUEyQixHQUM1QixNQUFNLDBCQUEwQixDQUFDO0FBQ2xDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFFbkQsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHO0lBQzFCLGNBQWM7SUFDZCxpQkFBaUI7SUFDakIsdUJBQXVCO0lBQ3ZCLDhCQUE4QjtJQUM5Qiw2QkFBNkI7SUFDN0Isa0JBQWtCO0lBQ2xCLHFCQUFxQjtJQUNyQix3QkFBd0I7SUFDeEIsb0JBQW9CO0lBQ3BCLDBCQUEwQjtJQUMxQiwyQkFBMkI7SUFDM0IsdUJBQXVCO0lBQ3ZCLDZCQUE2QjtJQUM3QiwrQkFBK0I7SUFDL0IsNEJBQTRCO0lBQzVCLDJCQUEyQjtJQUMzQix3QkFBd0I7Q0FDaEIsQ0FBQztBQU1YLE1BQU0sT0FBTyxXQUFXO3VHQUFYLFdBQVc7d0dBQVgsV0FBVyxZQXZCdEIsY0FBYztZQUNkLGlCQUFpQjtZQUNqQix1QkFBdUI7WUFDdkIsOEJBQThCO1lBQzlCLDZCQUE2QjtZQUM3QixrQkFBa0I7WUFDbEIscUJBQXFCO1lBQ3JCLHdCQUF3QjtZQUN4QixvQkFBb0I7WUFDcEIsMEJBQTBCO1lBQzFCLDJCQUEyQjtZQUMzQix1QkFBdUI7WUFDdkIsNkJBQTZCO1lBQzdCLCtCQUErQjtZQUMvQiw0QkFBNEI7WUFDNUIsMkJBQTJCO1lBQzNCLHdCQUF3QixhQWhCeEIsY0FBYztZQUNkLGlCQUFpQjtZQUNqQix1QkFBdUI7WUFDdkIsOEJBQThCO1lBQzlCLDZCQUE2QjtZQUM3QixrQkFBa0I7WUFDbEIscUJBQXFCO1lBQ3JCLHdCQUF3QjtZQUN4QixvQkFBb0I7WUFDcEIsMEJBQTBCO1lBQzFCLDJCQUEyQjtZQUMzQix1QkFBdUI7WUFDdkIsNkJBQTZCO1lBQzdCLCtCQUErQjtZQUMvQiw0QkFBNEI7WUFDNUIsMkJBQTJCO1lBQzNCLHdCQUF3Qjt3R0FPYixXQUFXLFlBdkJ0QixjQUFjO1lBQ2QsaUJBQWlCO1lBQ2pCLHVCQUF1Qjs7MkZBcUJaLFdBQVc7a0JBSnZCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsR0FBRyxZQUFZLENBQUM7b0JBQzFCLE9BQU8sRUFBRSxDQUFDLEdBQUcsWUFBWSxDQUFDO2lCQUMzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFRhYmxlQ2VsbERlZkRpcmVjdGl2ZSB9IGZyb20gJy4vdGFibGUtY2VsbC1kZWYuZGlyZWN0aXZlJztcbmltcG9ydCB7XG4gIFRhYmxlRXhwYW5kQnV0dG9uQ2VsbENvbXBvbmVudCxcbiAgVGFibGVFeHBhbmRQYW5lbENlbGxDb21wb25lbnQsXG59IGZyb20gJy4vdGFibGUtY2VsbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFibGVDZWxsRGlyZWN0aXZlIH0gZnJvbSAnLi90YWJsZS1jZWxsLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUYWJsZUNvbHVtbkRlZkRpcmVjdGl2ZSB9IGZyb20gJy4vdGFibGUtY29sdW1uLWRlZi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVGFibGVDb2x1bW5SZXNpemFibGVEaXJlY3RpdmUgfSBmcm9tICcuL3RhYmxlLWNvbHVtbi1yZXNpemFibGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IFRhYmxlSGVhZGVyQ2VsbERlZkRpcmVjdGl2ZSB9IGZyb20gJy4vdGFibGUtaGVhZGVyLWNlbGwtZGVmLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUYWJsZUhlYWRlckNlbGxEaXJlY3RpdmUgfSBmcm9tICcuL3RhYmxlLWhlYWRlci1jZWxsLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUYWJsZUhlYWRlclJvd0RlZkRpcmVjdGl2ZSB9IGZyb20gJy4vdGFibGUtaGVhZGVyLXJvdy1kZWYuZGlyZWN0aXZlJztcbmltcG9ydCB7IFRhYmxlSGVhZGVyUm93Q29tcG9uZW50IH0gZnJvbSAnLi90YWJsZS1oZWFkZXItcm93LmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBUYWJsZVBsYWNlaG9sZGVyRGVmRGlyZWN0aXZlLFxuICBUYWJsZVBsYWNlaG9sZGVyT3V0bGV0RGlyZWN0aXZlLFxufSBmcm9tICcuL3RhYmxlLXBsYWNlaG9sZGVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUYWJsZVJvd0RlZkRpcmVjdGl2ZSB9IGZyb20gJy4vdGFibGUtcm93LWRlZi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVGFibGVSb3dDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlLXJvdy5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgVGFibGVTY3JvbGxhYmxlRGlyZWN0aXZlLFxuICBUYWJsZVNjcm9sbFdyYXBwZXJEaXJlY3RpdmUsXG59IGZyb20gJy4vdGFibGUtc2Nyb2xsLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vdGFibGUuY29tcG9uZW50JztcblxuZXhwb3J0IGNvbnN0IFRBQkxFX01PRFVMRSA9IFtcbiAgVGFibGVDb21wb25lbnQsXG4gIFRhYmxlUm93Q29tcG9uZW50LFxuICBUYWJsZUhlYWRlclJvd0NvbXBvbmVudCxcbiAgVGFibGVFeHBhbmRCdXR0b25DZWxsQ29tcG9uZW50LFxuICBUYWJsZUV4cGFuZFBhbmVsQ2VsbENvbXBvbmVudCxcbiAgVGFibGVDZWxsRGlyZWN0aXZlLFxuICBUYWJsZUNlbGxEZWZEaXJlY3RpdmUsXG4gIFRhYmxlSGVhZGVyQ2VsbERpcmVjdGl2ZSxcbiAgVGFibGVSb3dEZWZEaXJlY3RpdmUsXG4gIFRhYmxlSGVhZGVyUm93RGVmRGlyZWN0aXZlLFxuICBUYWJsZUhlYWRlckNlbGxEZWZEaXJlY3RpdmUsXG4gIFRhYmxlQ29sdW1uRGVmRGlyZWN0aXZlLFxuICBUYWJsZUNvbHVtblJlc2l6YWJsZURpcmVjdGl2ZSxcbiAgVGFibGVQbGFjZWhvbGRlck91dGxldERpcmVjdGl2ZSxcbiAgVGFibGVQbGFjZWhvbGRlckRlZkRpcmVjdGl2ZSxcbiAgVGFibGVTY3JvbGxXcmFwcGVyRGlyZWN0aXZlLFxuICBUYWJsZVNjcm9sbGFibGVEaXJlY3RpdmUsXG5dIGFzIGNvbnN0O1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbLi4uVEFCTEVfTU9EVUxFXSxcbiAgZXhwb3J0czogWy4uLlRBQkxFX01PRFVMRV0sXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlTW9kdWxlIHt9XG4iXX0=
@@ -9885,6 +9885,149 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
9885
9885
  type: Input
9886
9886
  }] } });
9887
9887
 
9888
+ let tableColumnResizableID = 0;
9889
+ const resizableBem = buildBem('aui-table-column-resizable');
9890
+ const markLineWidth = 1;
9891
+ class TableColumnResizableDirective {
9892
+ minWidth = '40px';
9893
+ maxWidth = '80%';
9894
+ renderer2 = inject(Renderer2);
9895
+ tableColumnDefDirective = inject(TableColumnDefDirective);
9896
+ tableComponent = inject(TableComponent);
9897
+ columnElement = inject(ElementRef).nativeElement;
9898
+ containerElement = this.tableComponent.elementRef.nativeElement;
9899
+ hostAttr = `table-column-resizable-${tableColumnResizableID++}`;
9900
+ stylesRenderer = getCompatibleStylesRenderer();
9901
+ resizeSubscription;
9902
+ ngOnInit() {
9903
+ this.containerElement.setAttribute(this.hostAttr, '');
9904
+ }
9905
+ ngAfterViewInit() {
9906
+ const resizeHandle = this.createResizeHandle();
9907
+ this.bindResizable(resizeHandle);
9908
+ }
9909
+ ngOnDestroy() {
9910
+ this.resizeSubscription?.unsubscribe();
9911
+ this.containerElement.removeAttribute(this.hostAttr);
9912
+ this.stylesRenderer.cleanup();
9913
+ }
9914
+ bindResizable(resizeHandle) {
9915
+ this.resizeSubscription = fromEvent(resizeHandle, 'mousedown')
9916
+ .pipe(switchMap(mouseDownEvent => {
9917
+ mouseDownEvent.preventDefault();
9918
+ mouseDownEvent.stopPropagation();
9919
+ this.renderer2.setStyle(resizeHandle, 'visibility', 'hidden');
9920
+ const resizeRange = this.getResizeRange();
9921
+ const initialMouseX = mouseDownEvent.clientX;
9922
+ const columnWidth = this.getColumnWidth();
9923
+ const columnOffset = this.getColumnOffset();
9924
+ const resizeMarkLine = this.createResizeMarkLine(columnOffset + columnWidth);
9925
+ const resizeOverlay = this.createResizeOverlay();
9926
+ const mouseUp$ = fromEvent(document, 'mouseup').pipe(take(1));
9927
+ const mouseMove$ = fromEvent(document, 'mousemove').pipe(takeUntil(mouseUp$));
9928
+ return merge$1(mouseMove$.pipe(map(mouseMoveEvent => () => resizeMarkLine.updateOffset(columnOffset +
9929
+ this.getWidthInRange(resizeRange, columnWidth + mouseMoveEvent.clientX - initialMouseX)))), mouseUp$.pipe(map(mouseUpEvent => () => {
9930
+ this.renderer2.removeStyle(resizeHandle, 'visibility');
9931
+ resizeMarkLine.destroy();
9932
+ resizeOverlay.destroy();
9933
+ this.renderWidthStyles(this.getWidthInRange(resizeRange, columnWidth + mouseUpEvent.clientX - initialMouseX));
9934
+ })));
9935
+ }))
9936
+ .subscribe(exec => {
9937
+ exec();
9938
+ });
9939
+ }
9940
+ createResizeHandle() {
9941
+ const resizeHandle = this.renderer2.createElement('div');
9942
+ this.renderer2.addClass(resizeHandle, resizableBem.element('handle'));
9943
+ this.renderer2.appendChild(this.columnElement, resizeHandle);
9944
+ return resizeHandle;
9945
+ }
9946
+ createResizeMarkLine(initialOffset) {
9947
+ const markLine = this.renderer2.createElement('div');
9948
+ this.renderer2.addClass(markLine, resizableBem.element('mark-line'));
9949
+ this.renderer2.setStyle(markLine, 'left', initialOffset - markLineWidth + 'px');
9950
+ if (this.isStickyLeftBorderColumn()) {
9951
+ this.renderer2.addClass(markLine, 'inStickyBorderElemLeft');
9952
+ }
9953
+ this.renderer2.appendChild(this.containerElement, markLine);
9954
+ return {
9955
+ element: markLine,
9956
+ updateOffset: (offset) => {
9957
+ this.renderer2.setStyle(markLine, 'left', offset - markLineWidth + 'px');
9958
+ },
9959
+ destroy: () => {
9960
+ this.renderer2.removeChild(this.containerElement, markLine);
9961
+ },
9962
+ };
9963
+ }
9964
+ createResizeOverlay() {
9965
+ const resizeOverlay = this.renderer2.createElement('div');
9966
+ this.renderer2.addClass(resizeOverlay, resizableBem.element('overlay'));
9967
+ this.renderer2.appendChild(this.containerElement, resizeOverlay);
9968
+ return {
9969
+ element: resizeOverlay,
9970
+ destroy: () => {
9971
+ this.renderer2.removeChild(this.containerElement, resizeOverlay);
9972
+ },
9973
+ };
9974
+ }
9975
+ getColumnWidth() {
9976
+ return this.columnElement.clientWidth;
9977
+ }
9978
+ getColumnOffset() {
9979
+ return (this.columnElement.getBoundingClientRect().left -
9980
+ this.containerElement.getBoundingClientRect().left);
9981
+ }
9982
+ getWidthInRange([minWidth, maxWidth], width) {
9983
+ return Math.min(Math.max(width, minWidth), maxWidth);
9984
+ }
9985
+ getResizeRange() {
9986
+ const minWidth = this.getActualWidth(this.minWidth);
9987
+ const maxWidth = this.getActualWidth(this.maxWidth);
9988
+ return [minWidth, maxWidth];
9989
+ }
9990
+ getActualWidth(width) {
9991
+ if (typeof width === 'number') {
9992
+ return width;
9993
+ }
9994
+ if (width.endsWith('%')) {
9995
+ return ((this.containerElement.clientWidth * parseInt(width.slice(0, -1))) / 100);
9996
+ }
9997
+ if (width.endsWith('px')) {
9998
+ return parseInt(width.slice(0, -2));
9999
+ }
10000
+ return parseInt(width);
10001
+ }
10002
+ isStickyLeftBorderColumn() {
10003
+ return this.columnElement.classList.contains('aui-table-sticky-border-elem-left');
10004
+ }
10005
+ renderWidthStyles(width) {
10006
+ const className = tableBem.element(`column-${this.tableColumnDefDirective.cssClassFriendlyName}`);
10007
+ const styleString = `[${this.hostAttr}] .${className} {
10008
+ flex: none !important;
10009
+ width: ${width}px !important;
10010
+ min-width: ${width}px !important;
10011
+ max-width: ${width}px !important;
10012
+ }`;
10013
+ this.stylesRenderer.render(styleString);
10014
+ this.tableComponent.updateStickyColumnStyles();
10015
+ }
10016
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: TableColumnResizableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
10017
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: TableColumnResizableDirective, isStandalone: true, selector: "[auiTableColumnResizable]", inputs: { minWidth: "minWidth", maxWidth: "maxWidth" }, ngImport: i0 });
10018
+ }
10019
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: TableColumnResizableDirective, decorators: [{
10020
+ type: Directive,
10021
+ args: [{
10022
+ selector: '[auiTableColumnResizable]',
10023
+ standalone: true,
10024
+ }]
10025
+ }], propDecorators: { minWidth: [{
10026
+ type: Input
10027
+ }], maxWidth: [{
10028
+ type: Input
10029
+ }] } });
10030
+
9888
10031
  class TableHeaderCellDefDirective extends CdkHeaderCellDef {
9889
10032
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: TableHeaderCellDefDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
9890
10033
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: TableHeaderCellDefDirective, isStandalone: true, selector: "[auiTableHeaderCellDef]", providers: [
@@ -10176,12 +10319,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
10176
10319
  args: ['class']
10177
10320
  }] } });
10178
10321
 
10322
+ const TABLE_MODULE = [
10323
+ TableComponent,
10324
+ TableRowComponent,
10325
+ TableHeaderRowComponent,
10326
+ TableExpandButtonCellComponent,
10327
+ TableExpandPanelCellComponent,
10328
+ TableCellDirective,
10329
+ TableCellDefDirective,
10330
+ TableHeaderCellDirective,
10331
+ TableRowDefDirective,
10332
+ TableHeaderRowDefDirective,
10333
+ TableHeaderCellDefDirective,
10334
+ TableColumnDefDirective,
10335
+ TableColumnResizableDirective,
10336
+ TablePlaceholderOutletDirective,
10337
+ TablePlaceholderDefDirective,
10338
+ TableScrollWrapperDirective,
10339
+ TableScrollableDirective,
10340
+ ];
10179
10341
  class TableModule {
10180
10342
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: TableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10181
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.3", ngImport: i0, type: TableModule, imports: [CommonModule,
10182
- IconModule,
10183
- CdkTableModule,
10184
- TableComponent,
10343
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.3", ngImport: i0, type: TableModule, imports: [TableComponent,
10185
10344
  TableRowComponent,
10186
10345
  TableHeaderRowComponent,
10187
10346
  TableExpandButtonCellComponent,
@@ -10193,10 +10352,11 @@ class TableModule {
10193
10352
  TableHeaderRowDefDirective,
10194
10353
  TableHeaderCellDefDirective,
10195
10354
  TableColumnDefDirective,
10196
- TableScrollableDirective,
10355
+ TableColumnResizableDirective,
10197
10356
  TablePlaceholderOutletDirective,
10198
10357
  TablePlaceholderDefDirective,
10199
- TableScrollWrapperDirective], exports: [TableComponent,
10358
+ TableScrollWrapperDirective,
10359
+ TableScrollableDirective], exports: [TableComponent,
10200
10360
  TableRowComponent,
10201
10361
  TableHeaderRowComponent,
10202
10362
  TableExpandButtonCellComponent,
@@ -10208,222 +10368,22 @@ class TableModule {
10208
10368
  TableHeaderRowDefDirective,
10209
10369
  TableHeaderCellDefDirective,
10210
10370
  TableColumnDefDirective,
10211
- TableScrollableDirective,
10371
+ TableColumnResizableDirective,
10212
10372
  TablePlaceholderOutletDirective,
10213
10373
  TablePlaceholderDefDirective,
10214
- TableScrollWrapperDirective] });
10215
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: TableModule, imports: [CommonModule,
10216
- IconModule,
10217
- CdkTableModule,
10218
- TableComponent,
10374
+ TableScrollWrapperDirective,
10375
+ TableScrollableDirective] });
10376
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: TableModule, imports: [TableComponent,
10219
10377
  TableRowComponent,
10220
10378
  TableHeaderRowComponent] });
10221
10379
  }
10222
10380
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: TableModule, decorators: [{
10223
10381
  type: NgModule,
10224
10382
  args: [{
10225
- imports: [
10226
- CommonModule,
10227
- IconModule,
10228
- CdkTableModule,
10229
- TableComponent,
10230
- TableRowComponent,
10231
- TableHeaderRowComponent,
10232
- TableExpandButtonCellComponent,
10233
- TableExpandPanelCellComponent,
10234
- TableCellDirective,
10235
- TableCellDefDirective,
10236
- TableHeaderCellDirective,
10237
- TableRowDefDirective,
10238
- TableHeaderRowDefDirective,
10239
- TableHeaderCellDefDirective,
10240
- TableColumnDefDirective,
10241
- TableScrollableDirective,
10242
- TablePlaceholderOutletDirective,
10243
- TablePlaceholderDefDirective,
10244
- TableScrollWrapperDirective,
10245
- ],
10246
- exports: [
10247
- TableComponent,
10248
- TableRowComponent,
10249
- TableHeaderRowComponent,
10250
- TableExpandButtonCellComponent,
10251
- TableExpandPanelCellComponent,
10252
- TableCellDirective,
10253
- TableCellDefDirective,
10254
- TableHeaderCellDirective,
10255
- TableRowDefDirective,
10256
- TableHeaderRowDefDirective,
10257
- TableHeaderCellDefDirective,
10258
- TableColumnDefDirective,
10259
- TableScrollableDirective,
10260
- TablePlaceholderOutletDirective,
10261
- TablePlaceholderDefDirective,
10262
- TableScrollWrapperDirective,
10263
- ],
10383
+ imports: [...TABLE_MODULE],
10384
+ exports: [...TABLE_MODULE],
10264
10385
  }]
10265
10386
  }] });
10266
- const TABLE_MODULE = [
10267
- TableComponent,
10268
- TableRowComponent,
10269
- TableHeaderRowComponent,
10270
- TableExpandButtonCellComponent,
10271
- TableExpandPanelCellComponent,
10272
- TableCellDirective,
10273
- TableCellDefDirective,
10274
- TableHeaderCellDirective,
10275
- TableRowDefDirective,
10276
- TableHeaderRowDefDirective,
10277
- TableHeaderCellDefDirective,
10278
- TableColumnDefDirective,
10279
- TableScrollableDirective,
10280
- TablePlaceholderOutletDirective,
10281
- TablePlaceholderDefDirective,
10282
- TableScrollWrapperDirective,
10283
- ];
10284
-
10285
- let tableColumnResizableID = 0;
10286
- const resizableBem = buildBem('aui-table-column-resizable');
10287
- const markLineWidth = 1;
10288
- class TableColumnResizableDirective {
10289
- minWidth = '40px';
10290
- maxWidth = '80%';
10291
- renderer2 = inject(Renderer2);
10292
- tableColumnDefDirective = inject(TableColumnDefDirective);
10293
- tableComponent = inject(TableComponent);
10294
- columnElement = inject(ElementRef).nativeElement;
10295
- containerElement = this.tableComponent.elementRef.nativeElement;
10296
- hostAttr = `table-column-resizable-${tableColumnResizableID++}`;
10297
- stylesRenderer = getCompatibleStylesRenderer();
10298
- resizeSubscription;
10299
- ngOnInit() {
10300
- this.containerElement.setAttribute(this.hostAttr, '');
10301
- }
10302
- ngAfterViewInit() {
10303
- const resizeHandle = this.createResizeHandle();
10304
- this.bindResizable(resizeHandle);
10305
- }
10306
- ngOnDestroy() {
10307
- this.resizeSubscription?.unsubscribe();
10308
- this.containerElement.removeAttribute(this.hostAttr);
10309
- this.stylesRenderer.cleanup();
10310
- }
10311
- bindResizable(resizeHandle) {
10312
- this.resizeSubscription = fromEvent(resizeHandle, 'mousedown')
10313
- .pipe(switchMap(mouseDownEvent => {
10314
- mouseDownEvent.preventDefault();
10315
- mouseDownEvent.stopPropagation();
10316
- this.renderer2.setStyle(resizeHandle, 'visibility', 'hidden');
10317
- const resizeRange = this.getResizeRange();
10318
- const initialMouseX = mouseDownEvent.clientX;
10319
- const columnWidth = this.getColumnWidth();
10320
- const columnOffset = this.getColumnOffset();
10321
- const resizeMarkLine = this.createResizeMarkLine(columnOffset + columnWidth);
10322
- const resizeOverlay = this.createResizeOverlay();
10323
- const mouseUp$ = fromEvent(document, 'mouseup').pipe(take(1));
10324
- const mouseMove$ = fromEvent(document, 'mousemove').pipe(takeUntil(mouseUp$));
10325
- return merge$1(mouseMove$.pipe(map(mouseMoveEvent => () => resizeMarkLine.updateOffset(columnOffset +
10326
- this.getWidthInRange(resizeRange, columnWidth + mouseMoveEvent.clientX - initialMouseX)))), mouseUp$.pipe(map(mouseUpEvent => () => {
10327
- this.renderer2.removeStyle(resizeHandle, 'visibility');
10328
- resizeMarkLine.destroy();
10329
- resizeOverlay.destroy();
10330
- this.renderWidthStyles(this.getWidthInRange(resizeRange, columnWidth + mouseUpEvent.clientX - initialMouseX));
10331
- })));
10332
- }))
10333
- .subscribe(exec => {
10334
- exec();
10335
- });
10336
- }
10337
- createResizeHandle() {
10338
- const resizeHandle = this.renderer2.createElement('div');
10339
- this.renderer2.addClass(resizeHandle, resizableBem.element('handle'));
10340
- this.renderer2.appendChild(this.columnElement, resizeHandle);
10341
- return resizeHandle;
10342
- }
10343
- createResizeMarkLine(initialOffset) {
10344
- const markLine = this.renderer2.createElement('div');
10345
- this.renderer2.addClass(markLine, resizableBem.element('mark-line'));
10346
- this.renderer2.setStyle(markLine, 'left', initialOffset - markLineWidth + 'px');
10347
- if (this.isStickyLeftBorderColumn()) {
10348
- this.renderer2.addClass(markLine, 'inStickyBorderElemLeft');
10349
- }
10350
- this.renderer2.appendChild(this.containerElement, markLine);
10351
- return {
10352
- element: markLine,
10353
- updateOffset: (offset) => {
10354
- this.renderer2.setStyle(markLine, 'left', offset - markLineWidth + 'px');
10355
- },
10356
- destroy: () => {
10357
- this.renderer2.removeChild(this.containerElement, markLine);
10358
- },
10359
- };
10360
- }
10361
- createResizeOverlay() {
10362
- const resizeOverlay = this.renderer2.createElement('div');
10363
- this.renderer2.addClass(resizeOverlay, resizableBem.element('overlay'));
10364
- this.renderer2.appendChild(this.containerElement, resizeOverlay);
10365
- return {
10366
- element: resizeOverlay,
10367
- destroy: () => {
10368
- this.renderer2.removeChild(this.containerElement, resizeOverlay);
10369
- },
10370
- };
10371
- }
10372
- getColumnWidth() {
10373
- return this.columnElement.clientWidth;
10374
- }
10375
- getColumnOffset() {
10376
- return (this.columnElement.getBoundingClientRect().left -
10377
- this.containerElement.getBoundingClientRect().left);
10378
- }
10379
- getWidthInRange([minWidth, maxWidth], width) {
10380
- return Math.min(Math.max(width, minWidth), maxWidth);
10381
- }
10382
- getResizeRange() {
10383
- const minWidth = this.getActualWidth(this.minWidth);
10384
- const maxWidth = this.getActualWidth(this.maxWidth);
10385
- return [minWidth, maxWidth];
10386
- }
10387
- getActualWidth(width) {
10388
- if (typeof width === 'number') {
10389
- return width;
10390
- }
10391
- if (width.endsWith('%')) {
10392
- return ((this.containerElement.clientWidth * parseInt(width.slice(0, -1))) / 100);
10393
- }
10394
- if (width.endsWith('px')) {
10395
- return parseInt(width.slice(0, -2));
10396
- }
10397
- return parseInt(width);
10398
- }
10399
- isStickyLeftBorderColumn() {
10400
- return this.columnElement.classList.contains('aui-table-sticky-border-elem-left');
10401
- }
10402
- renderWidthStyles(width) {
10403
- const className = tableBem.element(`column-${this.tableColumnDefDirective.cssClassFriendlyName}`);
10404
- const styleString = `[${this.hostAttr}] .${className} {
10405
- flex: none !important;
10406
- width: ${width}px !important;
10407
- min-width: ${width}px !important;
10408
- max-width: ${width}px !important;
10409
- }`;
10410
- this.stylesRenderer.render(styleString);
10411
- this.tableComponent.updateStickyColumnStyles();
10412
- }
10413
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: TableColumnResizableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
10414
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: TableColumnResizableDirective, isStandalone: true, selector: "[auiTableColumnResizable]", inputs: { minWidth: "minWidth", maxWidth: "maxWidth" }, ngImport: i0 });
10415
- }
10416
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: TableColumnResizableDirective, decorators: [{
10417
- type: Directive,
10418
- args: [{
10419
- selector: '[auiTableColumnResizable]',
10420
- standalone: true,
10421
- }]
10422
- }], propDecorators: { minWidth: [{
10423
- type: Input
10424
- }], maxWidth: [{
10425
- type: Input
10426
- }] } });
10427
10387
 
10428
10388
  class FixedSizeTableVirtualScrollStrategy {
10429
10389
  _rowHeight = 42;