@trudb/tru-common-lib 0.1.50 → 0.1.53

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.
@@ -28,7 +28,17 @@ export class TruDataGridHeader {
28
28
  this.noSort = 'active';
29
29
  }
30
30
  }
31
- onSortRequested(order, event) {
31
+ onSortRequested(event) {
32
+ var order = null;
33
+ if (this.params.column.isSortAscending()) {
34
+ order = 'desc';
35
+ }
36
+ else if (this.params.column.isSortDescending()) {
37
+ order = null;
38
+ }
39
+ else {
40
+ order = 'asc';
41
+ }
32
42
  this.params.setSort(order, event.shiftKey);
33
43
  }
34
44
  onSelectAllIconClicked() {
@@ -37,32 +47,42 @@ export class TruDataGridHeader {
37
47
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruDataGridHeader, deps: [], target: i0.ɵɵFactoryTarget.Component });
38
48
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: TruDataGridHeader, isStandalone: true, selector: "ng-component", ngImport: i0, template: `
39
49
  <div class="ag-cell-label-container" role="presentation">
40
- <div ref="eLabel" class="ag-header-cell-label" role="presentation">
41
- <span *ngIf="ascSort === 'active'" ref="eSortAsc" class="ag-header-icon ag-header-label-icon ag-sort-icon ag-sort-ascending-icon" (click)="onSortRequested('desc', $event)">
42
- <mat-icon [svgIcon]="'sort-icon'"></mat-icon>
43
- </span>
44
- <span *ngIf="descSort === 'active'" ref="eSortDesc" class="ag-header-icon ag-header-label-icon ag-sort-icon ag-sort-descending-icon" (click)="onSortRequested(null, $event)">
45
- <mat-icon [svgIcon]="'sort-icon'"></mat-icon>
46
- </span>
47
- <span *ngIf="noSort === 'active'" ref="eSortNone" class="ag-header-icon ag-header-label-icon ag-sort-icon ag-sort-none-icon" (click)="onSortRequested('asc', $event)"></span>
48
- <span ref="eText" class="ag-header-cell-text">{{params.displayName}}</span>
50
+ <div ref="eLabel" class="ag-header-cell-label" role="presentation" (click)="onSortRequested($event)">
51
+ <div class="ag-header-control-container">
52
+ <div>
53
+ <span *ngIf="ascSort === 'active'" ref="eSortAsc" class="ag-header-icon ag-header-label-icon ag-sort-icon ag-sort-ascending-icon">
54
+ <mat-icon [svgIcon]="'sort-icon'"></mat-icon>
55
+ </span>
56
+ <span *ngIf="descSort === 'active'" ref="eSortDesc" class="ag-header-icon ag-header-label-icon ag-sort-icon ag-sort-descending-icon">
57
+ <mat-icon [svgIcon]="'sort-icon'"></mat-icon>
58
+ </span>
59
+ </div>
60
+ <div>
61
+ <span ref="eText" class="ag-header-cell-text">{{params.displayName}}</span>
62
+ </div>
63
+ </div>
49
64
  </div>
50
- </div>`, isInline: true, styles: [".ag-header-cell-text{position:relative;z-index:1;pointer-events:none}.ag-sort-icon{height:100%;width:100%}.tru-data-grid-select-all-icon{width:16px;font-size:28px;color:#ddd;float:right;position:absolute;top:-1px;right:4px}.ag-sort-icon mat-icon{height:20px;width:16px;padding-top:4px}::ng-deep .tru-data-grid-select-all-icon path{fill:#d3d3d3;position:relative;z-index:100;pointer-events:all}::ng-deep .ag-sort-icon.ag-sort-ascending-icon svg{transform:rotate(180deg)}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
65
+ </div>`, isInline: true, styles: [".ag-header-control-container{display:flex}.ag-header-cell-text{position:relative;pointer-events:none;vertical-align:middle}.ag-sort-icon{height:100%;width:100%}.tru-data-grid-select-all-icon{width:16px;font-size:28px;color:#ddd;float:right;position:absolute;top:-1px;right:4px}.ag-sort-icon mat-icon{height:20px;width:16px;padding-top:4px}::ng-deep .tru-data-grid-select-all-icon path{fill:#d3d3d3;position:relative;z-index:100;pointer-events:all}::ng-deep .ag-sort-icon.ag-sort-ascending-icon svg{transform:rotate(180deg)}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
51
66
  }
52
67
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruDataGridHeader, decorators: [{
53
68
  type: Component,
54
69
  args: [{ standalone: true, imports: [NgIf, NgClass, MatIconModule], template: `
55
70
  <div class="ag-cell-label-container" role="presentation">
56
- <div ref="eLabel" class="ag-header-cell-label" role="presentation">
57
- <span *ngIf="ascSort === 'active'" ref="eSortAsc" class="ag-header-icon ag-header-label-icon ag-sort-icon ag-sort-ascending-icon" (click)="onSortRequested('desc', $event)">
58
- <mat-icon [svgIcon]="'sort-icon'"></mat-icon>
59
- </span>
60
- <span *ngIf="descSort === 'active'" ref="eSortDesc" class="ag-header-icon ag-header-label-icon ag-sort-icon ag-sort-descending-icon" (click)="onSortRequested(null, $event)">
61
- <mat-icon [svgIcon]="'sort-icon'"></mat-icon>
62
- </span>
63
- <span *ngIf="noSort === 'active'" ref="eSortNone" class="ag-header-icon ag-header-label-icon ag-sort-icon ag-sort-none-icon" (click)="onSortRequested('asc', $event)"></span>
64
- <span ref="eText" class="ag-header-cell-text">{{params.displayName}}</span>
71
+ <div ref="eLabel" class="ag-header-cell-label" role="presentation" (click)="onSortRequested($event)">
72
+ <div class="ag-header-control-container">
73
+ <div>
74
+ <span *ngIf="ascSort === 'active'" ref="eSortAsc" class="ag-header-icon ag-header-label-icon ag-sort-icon ag-sort-ascending-icon">
75
+ <mat-icon [svgIcon]="'sort-icon'"></mat-icon>
76
+ </span>
77
+ <span *ngIf="descSort === 'active'" ref="eSortDesc" class="ag-header-icon ag-header-label-icon ag-sort-icon ag-sort-descending-icon">
78
+ <mat-icon [svgIcon]="'sort-icon'"></mat-icon>
79
+ </span>
80
+ </div>
81
+ <div>
82
+ <span ref="eText" class="ag-header-cell-text">{{params.displayName}}</span>
83
+ </div>
84
+ </div>
65
85
  </div>
66
- </div>`, styles: [".ag-header-cell-text{position:relative;z-index:1;pointer-events:none}.ag-sort-icon{height:100%;width:100%}.tru-data-grid-select-all-icon{width:16px;font-size:28px;color:#ddd;float:right;position:absolute;top:-1px;right:4px}.ag-sort-icon mat-icon{height:20px;width:16px;padding-top:4px}::ng-deep .tru-data-grid-select-all-icon path{fill:#d3d3d3;position:relative;z-index:100;pointer-events:all}::ng-deep .ag-sort-icon.ag-sort-ascending-icon svg{transform:rotate(180deg)}\n"] }]
86
+ </div>`, styles: [".ag-header-control-container{display:flex}.ag-header-cell-text{position:relative;pointer-events:none;vertical-align:middle}.ag-sort-icon{height:100%;width:100%}.tru-data-grid-select-all-icon{width:16px;font-size:28px;color:#ddd;float:right;position:absolute;top:-1px;right:4px}.ag-sort-icon mat-icon{height:20px;width:16px;padding-top:4px}::ng-deep .tru-data-grid-select-all-icon path{fill:#d3d3d3;position:relative;z-index:100;pointer-events:all}::ng-deep .ag-sort-icon.ag-sort-ascending-icon svg{transform:rotate(180deg)}\n"] }]
67
87
  }] });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWRhdGEtZ3JpZC1oZWFkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZGF0YS1ncmlkL2hlYWRlcnMvdHJ1LWRhdGEtZ3JpZC1oZWFkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBeUR2RCxNQUFNLE9BQU8saUJBQWlCO0lBQ3JCLE1BQU0sQ0FBaUI7SUFDdkIsT0FBTyxHQUFHLFVBQVUsQ0FBQztJQUNyQixRQUFRLEdBQUcsVUFBVSxDQUFDO0lBQ3RCLE1BQU0sR0FBRyxVQUFVLENBQUM7SUFFM0IsTUFBTSxDQUFDLE1BQXFCO1FBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2xGLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsT0FBTyxDQUFDLE1BQXFCO1FBQzNCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxVQUFVLENBQUM7UUFDeEQsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsRUFBRTtZQUN4QyxJQUFJLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQztTQUN6QjthQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsRUFBRTtZQUNoRCxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztTQUMxQjthQUFNO1lBQ0wsSUFBSSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUM7U0FDeEI7SUFDSCxDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQTRCLEVBQUUsS0FBVTtRQUN0RCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxzQkFBc0I7UUFDcEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDOUIsQ0FBQzt1R0FqQ1UsaUJBQWlCOzJGQUFqQixpQkFBaUIsd0VBbERsQjs7Ozs7Ozs7Ozs7O1NBWUgsaWlCQWJHLElBQUksNEZBQVcsYUFBYTs7MkZBbUQzQixpQkFBaUI7a0JBckQ3QixTQUFTO2lDQUNJLElBQUksV0FDUCxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsYUFBYSxDQUFDLFlBQzdCOzs7Ozs7Ozs7Ozs7U0FZSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBJSGVhZGVyQW5ndWxhckNvbXAgfSBmcm9tICdhZy1ncmlkLWFuZ3VsYXInO1xyXG5pbXBvcnQgeyBJSGVhZGVyUGFyYW1zIH0gZnJvbSAnYWctZ3JpZC1jb21tdW5pdHknO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbTmdJZiwgTmdDbGFzcywgTWF0SWNvbk1vZHVsZV0sXHJcbiAgdGVtcGxhdGU6IGBcclxuICA8ZGl2IGNsYXNzPVwiYWctY2VsbC1sYWJlbC1jb250YWluZXJcIiByb2xlPVwicHJlc2VudGF0aW9uXCI+XHJcbiAgICA8ZGl2IHJlZj1cImVMYWJlbFwiIGNsYXNzPVwiYWctaGVhZGVyLWNlbGwtbGFiZWxcIiByb2xlPVwicHJlc2VudGF0aW9uXCI+XHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCJhc2NTb3J0ID09PSAnYWN0aXZlJ1wiIHJlZj1cImVTb3J0QXNjXCIgY2xhc3M9XCJhZy1oZWFkZXItaWNvbiBhZy1oZWFkZXItbGFiZWwtaWNvbiBhZy1zb3J0LWljb24gYWctc29ydC1hc2NlbmRpbmctaWNvblwiIChjbGljayk9XCJvblNvcnRSZXF1ZXN0ZWQoJ2Rlc2MnLCAkZXZlbnQpXCI+XHJcbiAgICAgICAgICA8bWF0LWljb24gW3N2Z0ljb25dPVwiJ3NvcnQtaWNvbidcIj48L21hdC1pY29uPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8c3BhbiAqbmdJZj1cImRlc2NTb3J0ID09PSAnYWN0aXZlJ1wiIHJlZj1cImVTb3J0RGVzY1wiIGNsYXNzPVwiYWctaGVhZGVyLWljb24gYWctaGVhZGVyLWxhYmVsLWljb24gYWctc29ydC1pY29uIGFnLXNvcnQtZGVzY2VuZGluZy1pY29uXCIgKGNsaWNrKT1cIm9uU29ydFJlcXVlc3RlZChudWxsLCAkZXZlbnQpXCI+XHJcbiAgICAgICAgICA8bWF0LWljb24gW3N2Z0ljb25dPVwiJ3NvcnQtaWNvbidcIj48L21hdC1pY29uPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8c3BhbiAqbmdJZj1cIm5vU29ydCA9PT0gJ2FjdGl2ZSdcIiByZWY9XCJlU29ydE5vbmVcIiBjbGFzcz1cImFnLWhlYWRlci1pY29uIGFnLWhlYWRlci1sYWJlbC1pY29uIGFnLXNvcnQtaWNvbiBhZy1zb3J0LW5vbmUtaWNvblwiIChjbGljayk9XCJvblNvcnRSZXF1ZXN0ZWQoJ2FzYycsICRldmVudClcIj48L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gcmVmPVwiZVRleHRcIiBjbGFzcz1cImFnLWhlYWRlci1jZWxsLXRleHRcIj57e3BhcmFtcy5kaXNwbGF5TmFtZX19PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+YCxcclxuICBzdHlsZXM6IFtcclxuICAgYFxyXG4gICAuYWctaGVhZGVyLWNlbGwtdGV4dCB7XHJcbiAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgIHotaW5kZXg6IDE7XHJcbiAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgIH1cclxuICAuYWctc29ydC1pY29uIHtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxuICAudHJ1LWRhdGEtZ3JpZC1zZWxlY3QtYWxsLWljb24ge1xyXG4gICAgd2lkdGg6IDE2cHg7XHJcbiAgICBmb250LXNpemU6IDI4cHg7XHJcbiAgICBjb2xvcjogI2RkZDtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogLTFweDtcclxuICAgIHJpZ2h0OiA0cHg7XHJcbiAgfVxyXG4gIC5hZy1zb3J0LWljb24gbWF0LWljb24ge1xyXG4gICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgd2lkdGg6IDE2cHg7XHJcbiAgICBwYWRkaW5nLXRvcDogNHB4O1xyXG4gIH1cclxuICA6Om5nLWRlZXAgLnRydS1kYXRhLWdyaWQtc2VsZWN0LWFsbC1pY29uIHBhdGgge1xyXG4gICAgZmlsbDogbGlnaHRncmF5O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogMTAwO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDtcclxuICB9XHJcbiAgOjpuZy1kZWVwIC5hZy1zb3J0LWljb24uYWctc29ydC1hc2NlbmRpbmctaWNvbiBzdmcge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxuICB9XHJcbiAgYFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFRydURhdGFHcmlkSGVhZGVyIGltcGxlbWVudHMgSUhlYWRlckFuZ3VsYXJDb21wIHtcclxuICBwdWJsaWMgcGFyYW1zITogSUhlYWRlclBhcmFtcztcclxuICBwdWJsaWMgYXNjU29ydCA9ICdpbmFjdGl2ZSc7XHJcbiAgcHVibGljIGRlc2NTb3J0ID0gJ2luYWN0aXZlJztcclxuICBwdWJsaWMgbm9Tb3J0ID0gJ2luYWN0aXZlJztcclxuXHJcbiAgYWdJbml0KHBhcmFtczogSUhlYWRlclBhcmFtcyk6IHZvaWQge1xyXG4gICAgdGhpcy5wYXJhbXMgPSBwYXJhbXM7XHJcbiAgICB0aGlzLnBhcmFtcy5jb2x1bW4uYWRkRXZlbnRMaXN0ZW5lcignc29ydENoYW5nZWQnLCB0aGlzLm9uU29ydENoYW5nZWQuYmluZCh0aGlzKSk7XHJcbiAgICB0aGlzLm9uU29ydENoYW5nZWQoKTtcclxuICB9XHJcblxyXG4gIHJlZnJlc2gocGFyYW1zOiBJSGVhZGVyUGFyYW1zKSB7XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBvblNvcnRDaGFuZ2VkKCkge1xyXG4gICAgdGhpcy5hc2NTb3J0ID0gdGhpcy5kZXNjU29ydCA9IHRoaXMubm9Tb3J0ID0gJ2luYWN0aXZlJztcclxuICAgIGlmICh0aGlzLnBhcmFtcy5jb2x1bW4uaXNTb3J0QXNjZW5kaW5nKCkpIHtcclxuICAgICAgdGhpcy5hc2NTb3J0ID0gJ2FjdGl2ZSc7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMucGFyYW1zLmNvbHVtbi5pc1NvcnREZXNjZW5kaW5nKCkpIHtcclxuICAgICAgdGhpcy5kZXNjU29ydCA9ICdhY3RpdmUnO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5ub1NvcnQgPSAnYWN0aXZlJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uU29ydFJlcXVlc3RlZChvcmRlcjogJ2FzYycgfCAnZGVzYycgfCBudWxsLCBldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnBhcmFtcy5zZXRTb3J0KG9yZGVyLCBldmVudC5zaGlmdEtleSk7XHJcbiAgfVxyXG5cclxuICBvblNlbGVjdEFsbEljb25DbGlja2VkKCkge1xyXG4gICAgdGhpcy5wYXJhbXMuYXBpLnNlbGVjdEFsbCgpO1xyXG4gIH1cclxufVxyXG4iXX0=
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWRhdGEtZ3JpZC1oZWFkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZGF0YS1ncmlkL2hlYWRlcnMvdHJ1LWRhdGEtZ3JpZC1oZWFkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBaUV2RCxNQUFNLE9BQU8saUJBQWlCO0lBQ3JCLE1BQU0sQ0FBaUI7SUFDdkIsT0FBTyxHQUFHLFVBQVUsQ0FBQztJQUNyQixRQUFRLEdBQUcsVUFBVSxDQUFDO0lBQ3RCLE1BQU0sR0FBRyxVQUFVLENBQUM7SUFFM0IsTUFBTSxDQUFDLE1BQXFCO1FBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2xGLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsT0FBTyxDQUFDLE1BQXFCO1FBQzNCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxVQUFVLENBQUM7UUFDeEQsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsRUFBRTtZQUN4QyxJQUFJLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQztTQUN6QjthQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsRUFBRTtZQUNoRCxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztTQUMxQjthQUFNO1lBQ0wsSUFBSSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUM7U0FDeEI7SUFDSCxDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQVU7UUFDeEIsSUFBSSxLQUFLLEdBQTBCLElBQUksQ0FBQztRQUN4QyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRSxFQUFFO1lBQ3hDLEtBQUssR0FBRyxNQUFNLENBQUM7U0FDaEI7YUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGdCQUFnQixFQUFFLEVBQUU7WUFDaEQsS0FBSyxHQUFHLElBQUksQ0FBQztTQUNkO2FBQU07WUFDTCxLQUFLLEdBQUcsS0FBSyxDQUFDO1NBQ2Y7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxzQkFBc0I7UUFDcEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDOUIsQ0FBQzt1R0ExQ1UsaUJBQWlCOzJGQUFqQixpQkFBaUIsd0VBMURsQjs7Ozs7Ozs7Ozs7Ozs7Ozs7U0FpQkgsdWxCQWxCRyxJQUFJLDRGQUFXLGFBQWE7OzJGQTJEM0IsaUJBQWlCO2tCQTdEN0IsU0FBUztpQ0FDSSxJQUFJLFdBQ1AsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLGFBQWEsQ0FBQyxZQUM3Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7U0FpQkgiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgSUhlYWRlckFuZ3VsYXJDb21wIH0gZnJvbSAnYWctZ3JpZC1hbmd1bGFyJztcclxuaW1wb3J0IHsgSUhlYWRlclBhcmFtcyB9IGZyb20gJ2FnLWdyaWQtY29tbXVuaXR5JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW05nSWYsIE5nQ2xhc3MsIE1hdEljb25Nb2R1bGVdLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgPGRpdiBjbGFzcz1cImFnLWNlbGwtbGFiZWwtY29udGFpbmVyXCIgcm9sZT1cInByZXNlbnRhdGlvblwiPlxyXG4gICAgPGRpdiByZWY9XCJlTGFiZWxcIiBjbGFzcz1cImFnLWhlYWRlci1jZWxsLWxhYmVsXCIgcm9sZT1cInByZXNlbnRhdGlvblwiIChjbGljayk9XCJvblNvcnRSZXF1ZXN0ZWQoJGV2ZW50KVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhZy1oZWFkZXItY29udHJvbC1jb250YWluZXJcIj5cclxuICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiYXNjU29ydCA9PT0gJ2FjdGl2ZSdcIiByZWY9XCJlU29ydEFzY1wiIGNsYXNzPVwiYWctaGVhZGVyLWljb24gYWctaGVhZGVyLWxhYmVsLWljb24gYWctc29ydC1pY29uIGFnLXNvcnQtYXNjZW5kaW5nLWljb25cIj5cclxuICAgICAgICAgICAgICA8bWF0LWljb24gW3N2Z0ljb25dPVwiJ3NvcnQtaWNvbidcIj48L21hdC1pY29uPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZGVzY1NvcnQgPT09ICdhY3RpdmUnXCIgcmVmPVwiZVNvcnREZXNjXCIgY2xhc3M9XCJhZy1oZWFkZXItaWNvbiBhZy1oZWFkZXItbGFiZWwtaWNvbiBhZy1zb3J0LWljb24gYWctc29ydC1kZXNjZW5kaW5nLWljb25cIj5cclxuICAgICAgICAgICAgICA8bWF0LWljb24gW3N2Z0ljb25dPVwiJ3NvcnQtaWNvbidcIj48L21hdC1pY29uPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgIDxzcGFuIHJlZj1cImVUZXh0XCIgY2xhc3M9XCJhZy1oZWFkZXItY2VsbC10ZXh0XCI+e3twYXJhbXMuZGlzcGxheU5hbWV9fTwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+YCxcclxuICBzdHlsZXM6IFtcclxuICAgYFxyXG4gICAuYWctaGVhZGVyLWNvbnRyb2wtY29udGFpbmVyIHtcclxuICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICB9XHJcbiAgIC5hZy1oZWFkZXItY2VsbC10ZXh0IHtcclxuICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgfVxyXG4gIC5hZy1zb3J0LWljb24ge1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG4gIC50cnUtZGF0YS1ncmlkLXNlbGVjdC1hbGwtaWNvbiB7XHJcbiAgICB3aWR0aDogMTZweDtcclxuICAgIGZvbnQtc2l6ZTogMjhweDtcclxuICAgIGNvbG9yOiAjZGRkO1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAtMXB4O1xyXG4gICAgcmlnaHQ6IDRweDtcclxuICB9XHJcbiAgLmFnLXNvcnQtaWNvbiBtYXQtaWNvbiB7XHJcbiAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICB3aWR0aDogMTZweDtcclxuICAgIHBhZGRpbmctdG9wOiA0cHg7XHJcbiAgfVxyXG4gIDo6bmctZGVlcCAudHJ1LWRhdGEtZ3JpZC1zZWxlY3QtYWxsLWljb24gcGF0aCB7XHJcbiAgICBmaWxsOiBsaWdodGdyYXk7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAxMDA7XHJcbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xyXG4gIH1cclxuICA6Om5nLWRlZXAgLmFnLXNvcnQtaWNvbi5hZy1zb3J0LWFzY2VuZGluZy1pY29uIHN2ZyB7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG4gIH1cclxuICBgXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJ1RGF0YUdyaWRIZWFkZXIgaW1wbGVtZW50cyBJSGVhZGVyQW5ndWxhckNvbXAge1xyXG4gIHB1YmxpYyBwYXJhbXMhOiBJSGVhZGVyUGFyYW1zO1xyXG4gIHB1YmxpYyBhc2NTb3J0ID0gJ2luYWN0aXZlJztcclxuICBwdWJsaWMgZGVzY1NvcnQgPSAnaW5hY3RpdmUnO1xyXG4gIHB1YmxpYyBub1NvcnQgPSAnaW5hY3RpdmUnO1xyXG5cclxuICBhZ0luaXQocGFyYW1zOiBJSGVhZGVyUGFyYW1zKTogdm9pZCB7XHJcbiAgICB0aGlzLnBhcmFtcyA9IHBhcmFtcztcclxuICAgIHRoaXMucGFyYW1zLmNvbHVtbi5hZGRFdmVudExpc3RlbmVyKCdzb3J0Q2hhbmdlZCcsIHRoaXMub25Tb3J0Q2hhbmdlZC5iaW5kKHRoaXMpKTtcclxuICAgIHRoaXMub25Tb3J0Q2hhbmdlZCgpO1xyXG4gIH1cclxuXHJcbiAgcmVmcmVzaChwYXJhbXM6IElIZWFkZXJQYXJhbXMpIHtcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIG9uU29ydENoYW5nZWQoKSB7XHJcbiAgICB0aGlzLmFzY1NvcnQgPSB0aGlzLmRlc2NTb3J0ID0gdGhpcy5ub1NvcnQgPSAnaW5hY3RpdmUnO1xyXG4gICAgaWYgKHRoaXMucGFyYW1zLmNvbHVtbi5pc1NvcnRBc2NlbmRpbmcoKSkge1xyXG4gICAgICB0aGlzLmFzY1NvcnQgPSAnYWN0aXZlJztcclxuICAgIH0gZWxzZSBpZiAodGhpcy5wYXJhbXMuY29sdW1uLmlzU29ydERlc2NlbmRpbmcoKSkge1xyXG4gICAgICB0aGlzLmRlc2NTb3J0ID0gJ2FjdGl2ZSc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm5vU29ydCA9ICdhY3RpdmUnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25Tb3J0UmVxdWVzdGVkKGV2ZW50OiBhbnkpIHtcclxuICAgIHZhciBvcmRlcjogJ2FzYycgfCAnZGVzYycgfCBudWxsID0gbnVsbDtcclxuICAgIGlmICh0aGlzLnBhcmFtcy5jb2x1bW4uaXNTb3J0QXNjZW5kaW5nKCkpIHtcclxuICAgICAgb3JkZXIgPSAnZGVzYyc7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMucGFyYW1zLmNvbHVtbi5pc1NvcnREZXNjZW5kaW5nKCkpIHtcclxuICAgICAgb3JkZXIgPSBudWxsO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgb3JkZXIgPSAnYXNjJztcclxuICAgIH1cclxuICAgIFxyXG4gICAgdGhpcy5wYXJhbXMuc2V0U29ydChvcmRlciwgZXZlbnQuc2hpZnRLZXkpO1xyXG4gIH1cclxuXHJcbiAgb25TZWxlY3RBbGxJY29uQ2xpY2tlZCgpIHtcclxuICAgIHRoaXMucGFyYW1zLmFwaS5zZWxlY3RBbGwoKTtcclxuICB9XHJcbn1cclxuIl19
@@ -2737,7 +2737,17 @@ class TruDataGridHeader {
2737
2737
  this.noSort = 'active';
2738
2738
  }
2739
2739
  }
2740
- onSortRequested(order, event) {
2740
+ onSortRequested(event) {
2741
+ var order = null;
2742
+ if (this.params.column.isSortAscending()) {
2743
+ order = 'desc';
2744
+ }
2745
+ else if (this.params.column.isSortDescending()) {
2746
+ order = null;
2747
+ }
2748
+ else {
2749
+ order = 'asc';
2750
+ }
2741
2751
  this.params.setSort(order, event.shiftKey);
2742
2752
  }
2743
2753
  onSelectAllIconClicked() {
@@ -2746,33 +2756,43 @@ class TruDataGridHeader {
2746
2756
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruDataGridHeader, deps: [], target: i0.ɵɵFactoryTarget.Component });
2747
2757
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: TruDataGridHeader, isStandalone: true, selector: "ng-component", ngImport: i0, template: `
2748
2758
  <div class="ag-cell-label-container" role="presentation">
2749
- <div ref="eLabel" class="ag-header-cell-label" role="presentation">
2750
- <span *ngIf="ascSort === 'active'" ref="eSortAsc" class="ag-header-icon ag-header-label-icon ag-sort-icon ag-sort-ascending-icon" (click)="onSortRequested('desc', $event)">
2751
- <mat-icon [svgIcon]="'sort-icon'"></mat-icon>
2752
- </span>
2753
- <span *ngIf="descSort === 'active'" ref="eSortDesc" class="ag-header-icon ag-header-label-icon ag-sort-icon ag-sort-descending-icon" (click)="onSortRequested(null, $event)">
2754
- <mat-icon [svgIcon]="'sort-icon'"></mat-icon>
2755
- </span>
2756
- <span *ngIf="noSort === 'active'" ref="eSortNone" class="ag-header-icon ag-header-label-icon ag-sort-icon ag-sort-none-icon" (click)="onSortRequested('asc', $event)"></span>
2757
- <span ref="eText" class="ag-header-cell-text">{{params.displayName}}</span>
2759
+ <div ref="eLabel" class="ag-header-cell-label" role="presentation" (click)="onSortRequested($event)">
2760
+ <div class="ag-header-control-container">
2761
+ <div>
2762
+ <span *ngIf="ascSort === 'active'" ref="eSortAsc" class="ag-header-icon ag-header-label-icon ag-sort-icon ag-sort-ascending-icon">
2763
+ <mat-icon [svgIcon]="'sort-icon'"></mat-icon>
2764
+ </span>
2765
+ <span *ngIf="descSort === 'active'" ref="eSortDesc" class="ag-header-icon ag-header-label-icon ag-sort-icon ag-sort-descending-icon">
2766
+ <mat-icon [svgIcon]="'sort-icon'"></mat-icon>
2767
+ </span>
2768
+ </div>
2769
+ <div>
2770
+ <span ref="eText" class="ag-header-cell-text">{{params.displayName}}</span>
2771
+ </div>
2772
+ </div>
2758
2773
  </div>
2759
- </div>`, isInline: true, styles: [".ag-header-cell-text{position:relative;z-index:1;pointer-events:none}.ag-sort-icon{height:100%;width:100%}.tru-data-grid-select-all-icon{width:16px;font-size:28px;color:#ddd;float:right;position:absolute;top:-1px;right:4px}.ag-sort-icon mat-icon{height:20px;width:16px;padding-top:4px}::ng-deep .tru-data-grid-select-all-icon path{fill:#d3d3d3;position:relative;z-index:100;pointer-events:all}::ng-deep .ag-sort-icon.ag-sort-ascending-icon svg{transform:rotate(180deg)}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
2774
+ </div>`, isInline: true, styles: [".ag-header-control-container{display:flex}.ag-header-cell-text{position:relative;pointer-events:none;vertical-align:middle}.ag-sort-icon{height:100%;width:100%}.tru-data-grid-select-all-icon{width:16px;font-size:28px;color:#ddd;float:right;position:absolute;top:-1px;right:4px}.ag-sort-icon mat-icon{height:20px;width:16px;padding-top:4px}::ng-deep .tru-data-grid-select-all-icon path{fill:#d3d3d3;position:relative;z-index:100;pointer-events:all}::ng-deep .ag-sort-icon.ag-sort-ascending-icon svg{transform:rotate(180deg)}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
2760
2775
  }
2761
2776
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruDataGridHeader, decorators: [{
2762
2777
  type: Component,
2763
2778
  args: [{ standalone: true, imports: [NgIf, NgClass, MatIconModule], template: `
2764
2779
  <div class="ag-cell-label-container" role="presentation">
2765
- <div ref="eLabel" class="ag-header-cell-label" role="presentation">
2766
- <span *ngIf="ascSort === 'active'" ref="eSortAsc" class="ag-header-icon ag-header-label-icon ag-sort-icon ag-sort-ascending-icon" (click)="onSortRequested('desc', $event)">
2767
- <mat-icon [svgIcon]="'sort-icon'"></mat-icon>
2768
- </span>
2769
- <span *ngIf="descSort === 'active'" ref="eSortDesc" class="ag-header-icon ag-header-label-icon ag-sort-icon ag-sort-descending-icon" (click)="onSortRequested(null, $event)">
2770
- <mat-icon [svgIcon]="'sort-icon'"></mat-icon>
2771
- </span>
2772
- <span *ngIf="noSort === 'active'" ref="eSortNone" class="ag-header-icon ag-header-label-icon ag-sort-icon ag-sort-none-icon" (click)="onSortRequested('asc', $event)"></span>
2773
- <span ref="eText" class="ag-header-cell-text">{{params.displayName}}</span>
2780
+ <div ref="eLabel" class="ag-header-cell-label" role="presentation" (click)="onSortRequested($event)">
2781
+ <div class="ag-header-control-container">
2782
+ <div>
2783
+ <span *ngIf="ascSort === 'active'" ref="eSortAsc" class="ag-header-icon ag-header-label-icon ag-sort-icon ag-sort-ascending-icon">
2784
+ <mat-icon [svgIcon]="'sort-icon'"></mat-icon>
2785
+ </span>
2786
+ <span *ngIf="descSort === 'active'" ref="eSortDesc" class="ag-header-icon ag-header-label-icon ag-sort-icon ag-sort-descending-icon">
2787
+ <mat-icon [svgIcon]="'sort-icon'"></mat-icon>
2788
+ </span>
2789
+ </div>
2790
+ <div>
2791
+ <span ref="eText" class="ag-header-cell-text">{{params.displayName}}</span>
2792
+ </div>
2793
+ </div>
2774
2794
  </div>
2775
- </div>`, styles: [".ag-header-cell-text{position:relative;z-index:1;pointer-events:none}.ag-sort-icon{height:100%;width:100%}.tru-data-grid-select-all-icon{width:16px;font-size:28px;color:#ddd;float:right;position:absolute;top:-1px;right:4px}.ag-sort-icon mat-icon{height:20px;width:16px;padding-top:4px}::ng-deep .tru-data-grid-select-all-icon path{fill:#d3d3d3;position:relative;z-index:100;pointer-events:all}::ng-deep .ag-sort-icon.ag-sort-ascending-icon svg{transform:rotate(180deg)}\n"] }]
2795
+ </div>`, styles: [".ag-header-control-container{display:flex}.ag-header-cell-text{position:relative;pointer-events:none;vertical-align:middle}.ag-sort-icon{height:100%;width:100%}.tru-data-grid-select-all-icon{width:16px;font-size:28px;color:#ddd;float:right;position:absolute;top:-1px;right:4px}.ag-sort-icon mat-icon{height:20px;width:16px;padding-top:4px}::ng-deep .tru-data-grid-select-all-icon path{fill:#d3d3d3;position:relative;z-index:100;pointer-events:all}::ng-deep .ag-sort-icon.ag-sort-ascending-icon svg{transform:rotate(180deg)}\n"] }]
2776
2796
  }] });
2777
2797
 
2778
2798
  class TruDataGridRefHeader {