@progress/kendo-angular-grid 21.1.1-develop.2 → 21.2.0-develop.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/codemods/utils.js +805 -394
- package/codemods/v20/grid-kendogridgroupbinding.js +8 -11
- package/esm2022/adaptiveness/adaptive-renderer.component.mjs +850 -756
- package/esm2022/aggregates/status-bar.component.mjs +13 -11
- package/esm2022/column-menu/column-chooser-content.component.mjs +133 -123
- package/esm2022/column-menu/column-list.component.mjs +64 -61
- package/esm2022/column-menu/column-menu-autosize-all.component.mjs +12 -11
- package/esm2022/column-menu/column-menu-autosize.component.mjs +12 -11
- package/esm2022/column-menu/column-menu-item.component.mjs +221 -85
- package/esm2022/column-menu/column-menu-position.component.mjs +46 -43
- package/esm2022/column-menu/column-menu.component.mjs +401 -315
- package/esm2022/databinding.directive.mjs +1 -0
- package/esm2022/editing/add-command.directive.mjs +27 -17
- package/esm2022/editing/cancel-command.directive.mjs +27 -17
- package/esm2022/editing/edit-command.directive.mjs +27 -17
- package/esm2022/editing/form/form-formfield.component.mjs +97 -70
- package/esm2022/editing/form/form.component.mjs +77 -61
- package/esm2022/editing/remove-command.directive.mjs +27 -17
- package/esm2022/editing/save-command.directive.mjs +27 -17
- package/esm2022/excel/excel-command.directive.mjs +27 -17
- package/esm2022/filtering/cell/filter-cell-operators.component.mjs +20 -17
- package/esm2022/filtering/cell/filter-cell.component.mjs +35 -33
- package/esm2022/filtering/filter-row.component.mjs +37 -29
- package/esm2022/filtering/menu/boolean-filter-menu.component.mjs +34 -31
- package/esm2022/filtering/menu/date-filter-menu-input.component.mjs +8 -7
- package/esm2022/filtering/menu/date-filter-menu.component.mjs +52 -49
- package/esm2022/filtering/menu/filter-menu-container.component.mjs +115 -92
- package/esm2022/filtering/menu/numeric-filter-menu.component.mjs +50 -47
- package/esm2022/filtering/menu/string-filter-menu.component.mjs +36 -33
- package/esm2022/filtering/multicheckbox-filter.component.mjs +54 -43
- package/esm2022/grid.component.mjs +1579 -1483
- package/esm2022/grouping/group-header.component.mjs +113 -89
- package/esm2022/grouping/group-panel.component.mjs +84 -77
- package/esm2022/index.mjs +1 -0
- package/esm2022/navigation/navigation.service.mjs +4 -4
- package/esm2022/package-metadata.mjs +2 -2
- package/esm2022/pdf/pdf-command.directive.mjs +27 -17
- package/esm2022/rendering/cell.component.mjs +411 -365
- package/esm2022/rendering/common/col-group.component.mjs +25 -15
- package/esm2022/rendering/common/loading.component.mjs +23 -19
- package/esm2022/rendering/details/detail-template.directive.mjs +6 -4
- package/esm2022/rendering/footer/footer.component.mjs +128 -112
- package/esm2022/rendering/header/header.component.mjs +414 -353
- package/esm2022/rendering/list.component.mjs +227 -204
- package/esm2022/rendering/table-body.component.mjs +553 -493
- package/esm2022/rendering/toolbar/toolbar.component.mjs +13 -11
- package/esm2022/rendering/toolbar/tools/ai-assistant/ai-assistant.component.mjs +86 -79
- package/esm2022/rendering/toolbar/tools/filter-toolbar-tool.component.mjs +54 -51
- package/esm2022/rendering/toolbar/tools/group-toolbar-tool.component.mjs +141 -118
- package/esm2022/rendering/toolbar/tools/sort-toolbar-tool.component.mjs +72 -65
- package/fesm2022/progress-kendo-angular-grid.mjs +6462 -5545
- package/filtering/menu/date-filter-menu-input.component.d.ts +1 -2
- package/filtering/menu/filter-menu-container.component.d.ts +2 -2
- package/index.d.ts +1 -0
- package/package.json +25 -26
- package/rendering/details/detail-template.directive.d.ts +6 -4
- package/schematics/ngAdd/index.js +7 -7
- package/codemods/template-transformer/index.js +0 -93
|
@@ -7,7 +7,6 @@ import { DetailTemplateDirective } from '../details/detail-template.directive';
|
|
|
7
7
|
import { ColumnBase } from "../../columns/column-base";
|
|
8
8
|
import { columnsToRender } from '../../columns/column-common';
|
|
9
9
|
import { isNullOrEmptyString, isTruthy } from '../../utils';
|
|
10
|
-
import { NgFor, NgIf } from '@angular/common';
|
|
11
10
|
import { ContextService } from '../../common/provider.service';
|
|
12
11
|
import { isPresent } from '@progress/kendo-angular-common';
|
|
13
12
|
import * as i0 from "@angular/core";
|
|
@@ -51,15 +50,21 @@ export class ColGroupComponent {
|
|
|
51
50
|
return this.sort.find(item => item.field === field) || { field };
|
|
52
51
|
}
|
|
53
52
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ColGroupComponent, deps: [{ token: i1.ContextService }], target: i0.ɵɵFactoryTarget.Component });
|
|
54
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
53
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ColGroupComponent, isStandalone: true, selector: "[kendoGridColGroup]", inputs: { columns: "columns", groups: "groups", detailTemplate: "detailTemplate", sort: "sort" }, ngImport: i0, template: `
|
|
55
54
|
<ng-container>
|
|
56
|
-
|
|
57
|
-
<col [class.k-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
55
|
+
@for (g of groups; track g) {
|
|
56
|
+
<col [class.k-group-col]="true" />
|
|
57
|
+
}
|
|
58
|
+
@if (detailTemplate?.templateRef && !isStacked) {
|
|
59
|
+
<col [class.k-hierarchy-col]="true"/>
|
|
60
|
+
}
|
|
61
|
+
@for (column of columnsToRender; track $index) {
|
|
62
|
+
<col
|
|
63
|
+
[style.width]="getColumnWidth(column)"
|
|
64
|
+
[class.k-sorted]="isSorted(getColumnComponent(column))"/>
|
|
65
|
+
}
|
|
61
66
|
</ng-container>
|
|
62
|
-
`, isInline: true
|
|
67
|
+
`, isInline: true });
|
|
63
68
|
}
|
|
64
69
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ColGroupComponent, decorators: [{
|
|
65
70
|
type: Component,
|
|
@@ -67,15 +72,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
67
72
|
selector: '[kendoGridColGroup]',
|
|
68
73
|
template: `
|
|
69
74
|
<ng-container>
|
|
70
|
-
|
|
71
|
-
<col [class.k-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
+
@for (g of groups; track g) {
|
|
76
|
+
<col [class.k-group-col]="true" />
|
|
77
|
+
}
|
|
78
|
+
@if (detailTemplate?.templateRef && !isStacked) {
|
|
79
|
+
<col [class.k-hierarchy-col]="true"/>
|
|
80
|
+
}
|
|
81
|
+
@for (column of columnsToRender; track $index) {
|
|
82
|
+
<col
|
|
83
|
+
[style.width]="getColumnWidth(column)"
|
|
84
|
+
[class.k-sorted]="isSorted(getColumnComponent(column))"/>
|
|
85
|
+
}
|
|
75
86
|
</ng-container>
|
|
76
87
|
`,
|
|
77
|
-
standalone: true
|
|
78
|
-
imports: [NgFor, NgIf]
|
|
88
|
+
standalone: true
|
|
79
89
|
}]
|
|
80
90
|
}], ctorParameters: () => [{ type: i1.ContextService }], propDecorators: { columns: [{
|
|
81
91
|
type: Input
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import { Component, HostBinding, Input } from '@angular/core';
|
|
6
6
|
import { ContextService } from '../../common/provider.service';
|
|
7
7
|
import { LoadingTemplateDirective } from '../loading-template.directive';
|
|
8
|
-
import {
|
|
8
|
+
import { NgTemplateOutlet } from '@angular/common';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
import * as i1 from "../../common/provider.service";
|
|
11
11
|
/**
|
|
@@ -22,31 +22,35 @@ export class LoadingComponent {
|
|
|
22
22
|
this.ctx = ctx;
|
|
23
23
|
}
|
|
24
24
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LoadingComponent, deps: [{ token: i1.ContextService }], target: i0.ɵɵFactoryTarget.Component });
|
|
25
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
25
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: LoadingComponent, isStandalone: true, selector: "[kendoGridLoading]", inputs: { loadingTemplate: "loadingTemplate" }, host: { properties: { "class.k-loading-mask": "this.hostClass" } }, ngImport: i0, template: `
|
|
26
|
+
@if (!loadingTemplate) {
|
|
27
|
+
<span class="k-loading-text">{{ loadingText }}</span>
|
|
28
|
+
<div class="k-loading-image"></div>
|
|
29
|
+
<div class="k-loading-color"></div>
|
|
30
|
+
}
|
|
31
|
+
@if (loadingTemplate) {
|
|
32
|
+
<ng-template [ngTemplateOutlet]="loadingTemplate?.templateRef">
|
|
33
|
+
</ng-template>
|
|
34
|
+
}
|
|
35
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
|
|
34
36
|
}
|
|
35
37
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LoadingComponent, decorators: [{
|
|
36
38
|
type: Component,
|
|
37
39
|
args: [{
|
|
38
40
|
selector: '[kendoGridLoading]',
|
|
39
41
|
template: `
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
42
|
+
@if (!loadingTemplate) {
|
|
43
|
+
<span class="k-loading-text">{{ loadingText }}</span>
|
|
44
|
+
<div class="k-loading-image"></div>
|
|
45
|
+
<div class="k-loading-color"></div>
|
|
46
|
+
}
|
|
47
|
+
@if (loadingTemplate) {
|
|
48
|
+
<ng-template [ngTemplateOutlet]="loadingTemplate?.templateRef">
|
|
49
|
+
</ng-template>
|
|
50
|
+
}
|
|
51
|
+
`,
|
|
48
52
|
standalone: true,
|
|
49
|
-
imports: [
|
|
53
|
+
imports: [NgTemplateOutlet]
|
|
50
54
|
}]
|
|
51
55
|
}], ctorParameters: () => [{ type: i1.ContextService }], propDecorators: { hostClass: [{
|
|
52
56
|
type: HostBinding,
|
|
@@ -14,10 +14,12 @@ import * as i0 from "@angular/core";
|
|
|
14
14
|
* <kendo-grid [data]="data" selectable="true" style="height: 160px">
|
|
15
15
|
* <kendo-grid-column field="ProductName"></kendo-grid-column>
|
|
16
16
|
* <ng-template kendoGridDetailTemplate let-dataItem>
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
17
|
+
* @if (dataItem.Category) {
|
|
18
|
+
* <div>
|
|
19
|
+
* <header>{{dataItem.Category?.CategoryName}}</header>
|
|
20
|
+
* <span>{{dataItem.Category?.Description}}</span>
|
|
21
|
+
* </div>
|
|
22
|
+
* }
|
|
21
23
|
* </ng-template>
|
|
22
24
|
* </kendo-grid>
|
|
23
25
|
* ```
|
|
@@ -10,7 +10,7 @@ import { isPresent } from '../../utils';
|
|
|
10
10
|
import { ColumnsContainer } from '../../columns/columns-container';
|
|
11
11
|
import { isColumnGroupComponent } from '../../columns/column-group.component';
|
|
12
12
|
import { LogicalCellDirective } from '../../navigation/logical-cell.directive';
|
|
13
|
-
import {
|
|
13
|
+
import { NgClass, NgStyle } from '@angular/common';
|
|
14
14
|
import { LogicalRowDirective } from '../../navigation/logical-row.directive';
|
|
15
15
|
import { TemplateContextDirective } from '@progress/kendo-angular-common';
|
|
16
16
|
import { ContextService } from '../../common/provider.service';
|
|
@@ -68,79 +68,87 @@ export class FooterComponent {
|
|
|
68
68
|
return this.ctx.grid?.isStacked;
|
|
69
69
|
}
|
|
70
70
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FooterComponent, deps: [{ token: i1.ColumnInfoService }, { token: i2.ContextService }], target: i0.ɵɵFactoryTarget.Component });
|
|
71
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
71
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: FooterComponent, isStandalone: true, selector: "[kendoGridFooter]", inputs: { columns: "columns", groups: "groups", detailTemplate: "detailTemplate", scrollable: "scrollable", lockedColumnsCount: "lockedColumnsCount", logicalRowIndex: "logicalRowIndex", totalColumns: "totalColumns", totalColumnsCount: "totalColumnsCount" }, host: { properties: { "class.k-grid-footer": "this.footerClass", "class.k-table-tfoot": "this.hostClass", "attr.role": "this.hostRole" } }, ngImport: i0, template: `
|
|
72
72
|
<ng-container>
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
class="k-table-td k-group-cell k-table-group-td"
|
|
85
|
-
role="presentation"
|
|
86
|
-
*ngFor="let g of groups">
|
|
87
|
-
</td>
|
|
88
|
-
</ng-container>
|
|
73
|
+
<tr
|
|
74
|
+
class="k-footer-template"
|
|
75
|
+
kendoGridLogicalRow
|
|
76
|
+
[logicalRowIndex]="logicalRowIndex"
|
|
77
|
+
[logicalSlaveRow]="lockedColumnsCount > 0 && !isStacked"
|
|
78
|
+
[logicalCellsCount]="columns.length"
|
|
79
|
+
[logicalSlaveCellsCount]="unlockedColumnsCount"
|
|
80
|
+
[totalColumns]="totalColumns"
|
|
81
|
+
>
|
|
82
|
+
@if (!isStacked) {
|
|
83
|
+
@for (g of groups; track g) {
|
|
89
84
|
<td
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
85
|
+
class="k-table-td k-group-cell k-table-group-td"
|
|
86
|
+
role="presentation"
|
|
87
|
+
>
|
|
93
88
|
</td>
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
@if (detailTemplate?.templateRef && !isStacked) {
|
|
92
|
+
<td
|
|
93
|
+
role="presentation"
|
|
94
|
+
class="k-table-td k-hierarchy-cell"
|
|
95
|
+
>
|
|
96
|
+
</td>
|
|
97
|
+
}
|
|
98
|
+
@if (!isStacked) {
|
|
99
|
+
@for (column of columnsToRender; track $index; let columnIndex = $index) {
|
|
100
|
+
@if (!isColumnGroupComponent(column)) {
|
|
101
|
+
<td
|
|
102
|
+
kendoGridLogicalCell
|
|
103
|
+
class="k-table-td"
|
|
104
|
+
[logicalRowIndex]="logicalRowIndex"
|
|
105
|
+
[logicalColIndex]="logicalColumnIndex(column)"
|
|
106
|
+
role="gridcell"
|
|
107
|
+
aria-selected="false"
|
|
108
|
+
[class.k-grid-footer-sticky]="column.sticky"
|
|
109
|
+
[ngClass]="column.footerClass"
|
|
110
|
+
[ngStyle]="column.sticky ? addStickyStyles(column) : column.footerStyle">
|
|
111
|
+
<ng-template
|
|
107
112
|
[templateContext]="{
|
|
108
113
|
templateRef: column.footerTemplateRef,
|
|
109
114
|
columnIndex: column.leafIndex,
|
|
110
115
|
column: column,
|
|
111
116
|
$implicit: column
|
|
112
117
|
}">
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
118
|
+
</ng-template>
|
|
119
|
+
</td>
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
117
123
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
124
|
+
@if (isStacked) {
|
|
125
|
+
<td kendoGridLogicalCell
|
|
126
|
+
class="k-table-td"
|
|
127
|
+
[logicalRowIndex]="logicalRowIndex"
|
|
128
|
+
[logicalColIndex]="detailTemplate ? 1 : 0"
|
|
129
|
+
role="gridcell"
|
|
130
|
+
aria-selected="false">
|
|
131
|
+
<div class="k-grid-column-template">
|
|
132
|
+
@for (column of columnsToRender; track $index) {
|
|
133
|
+
@if (column.footerTemplateRef) {
|
|
134
|
+
<div class="k-column-template-item">
|
|
135
|
+
<ng-template
|
|
129
136
|
[templateContext]="{
|
|
130
137
|
templateRef: column.footerTemplateRef,
|
|
131
138
|
columnIndex: column.leafIndex,
|
|
132
139
|
column: column,
|
|
133
140
|
$implicit: column
|
|
134
141
|
}">
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
+
</ng-template>
|
|
143
|
+
</div>
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
</div>
|
|
147
|
+
</td>
|
|
148
|
+
}
|
|
149
|
+
</tr>
|
|
142
150
|
</ng-container>
|
|
143
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: LogicalRowDirective, selector: "[kendoGridLogicalRow]", inputs: ["logicalRowIndex", "logicalSlaveRow", "logicalCellsCount", "logicalSlaveCellsCount", "dataRowIndex", "dataItem", "totalColumns"] }, { kind: "directive", type:
|
|
151
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: LogicalRowDirective, selector: "[kendoGridLogicalRow]", inputs: ["logicalRowIndex", "logicalSlaveRow", "logicalCellsCount", "logicalSlaveCellsCount", "dataRowIndex", "dataItem", "totalColumns"] }, { kind: "directive", type: LogicalCellDirective, selector: "[kendoGridLogicalCell]", inputs: ["logicalColIndex", "logicalRowIndex", "logicalSlaveCell", "colIndex", "colSpan", "rowSpan", "groupItem", "dataRowIndex", "dataItem", "detailExpandCell", "headerLabelText"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }] });
|
|
144
152
|
}
|
|
145
153
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FooterComponent, decorators: [{
|
|
146
154
|
type: Component,
|
|
@@ -148,79 +156,87 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
148
156
|
selector: '[kendoGridFooter]',
|
|
149
157
|
template: `
|
|
150
158
|
<ng-container>
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
class="k-table-td k-group-cell k-table-group-td"
|
|
163
|
-
role="presentation"
|
|
164
|
-
*ngFor="let g of groups">
|
|
165
|
-
</td>
|
|
166
|
-
</ng-container>
|
|
159
|
+
<tr
|
|
160
|
+
class="k-footer-template"
|
|
161
|
+
kendoGridLogicalRow
|
|
162
|
+
[logicalRowIndex]="logicalRowIndex"
|
|
163
|
+
[logicalSlaveRow]="lockedColumnsCount > 0 && !isStacked"
|
|
164
|
+
[logicalCellsCount]="columns.length"
|
|
165
|
+
[logicalSlaveCellsCount]="unlockedColumnsCount"
|
|
166
|
+
[totalColumns]="totalColumns"
|
|
167
|
+
>
|
|
168
|
+
@if (!isStacked) {
|
|
169
|
+
@for (g of groups; track g) {
|
|
167
170
|
<td
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
+
class="k-table-td k-group-cell k-table-group-td"
|
|
172
|
+
role="presentation"
|
|
173
|
+
>
|
|
171
174
|
</td>
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
@if (detailTemplate?.templateRef && !isStacked) {
|
|
178
|
+
<td
|
|
179
|
+
role="presentation"
|
|
180
|
+
class="k-table-td k-hierarchy-cell"
|
|
181
|
+
>
|
|
182
|
+
</td>
|
|
183
|
+
}
|
|
184
|
+
@if (!isStacked) {
|
|
185
|
+
@for (column of columnsToRender; track $index; let columnIndex = $index) {
|
|
186
|
+
@if (!isColumnGroupComponent(column)) {
|
|
187
|
+
<td
|
|
188
|
+
kendoGridLogicalCell
|
|
189
|
+
class="k-table-td"
|
|
190
|
+
[logicalRowIndex]="logicalRowIndex"
|
|
191
|
+
[logicalColIndex]="logicalColumnIndex(column)"
|
|
192
|
+
role="gridcell"
|
|
193
|
+
aria-selected="false"
|
|
194
|
+
[class.k-grid-footer-sticky]="column.sticky"
|
|
195
|
+
[ngClass]="column.footerClass"
|
|
196
|
+
[ngStyle]="column.sticky ? addStickyStyles(column) : column.footerStyle">
|
|
197
|
+
<ng-template
|
|
185
198
|
[templateContext]="{
|
|
186
199
|
templateRef: column.footerTemplateRef,
|
|
187
200
|
columnIndex: column.leafIndex,
|
|
188
201
|
column: column,
|
|
189
202
|
$implicit: column
|
|
190
203
|
}">
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
204
|
+
</ng-template>
|
|
205
|
+
</td>
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
}
|
|
195
209
|
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
210
|
+
@if (isStacked) {
|
|
211
|
+
<td kendoGridLogicalCell
|
|
212
|
+
class="k-table-td"
|
|
213
|
+
[logicalRowIndex]="logicalRowIndex"
|
|
214
|
+
[logicalColIndex]="detailTemplate ? 1 : 0"
|
|
215
|
+
role="gridcell"
|
|
216
|
+
aria-selected="false">
|
|
217
|
+
<div class="k-grid-column-template">
|
|
218
|
+
@for (column of columnsToRender; track $index) {
|
|
219
|
+
@if (column.footerTemplateRef) {
|
|
220
|
+
<div class="k-column-template-item">
|
|
221
|
+
<ng-template
|
|
207
222
|
[templateContext]="{
|
|
208
223
|
templateRef: column.footerTemplateRef,
|
|
209
224
|
columnIndex: column.leafIndex,
|
|
210
225
|
column: column,
|
|
211
226
|
$implicit: column
|
|
212
227
|
}">
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
228
|
+
</ng-template>
|
|
229
|
+
</div>
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
</div>
|
|
233
|
+
</td>
|
|
234
|
+
}
|
|
235
|
+
</tr>
|
|
220
236
|
</ng-container>
|
|
221
237
|
`,
|
|
222
238
|
standalone: true,
|
|
223
|
-
imports: [LogicalRowDirective,
|
|
239
|
+
imports: [LogicalRowDirective, LogicalCellDirective, NgClass, NgStyle, TemplateContextDirective]
|
|
224
240
|
}]
|
|
225
241
|
}], ctorParameters: () => [{ type: i1.ColumnInfoService }, { type: i2.ContextService }], propDecorators: { columns: [{
|
|
226
242
|
type: Input
|