@progress/kendo-angular-grid 19.0.0-develop.9 → 19.0.1-develop.1

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 (133) hide show
  1. package/adaptiveness/adaptive-mode.d.ts +12 -0
  2. package/adaptiveness/adaptive-renderer.component.d.ts +89 -0
  3. package/codemods/template-transformer/index.js +94 -0
  4. package/codemods/utils.js +553 -0
  5. package/codemods/v19/grid-kendogridgroupbinding.js +51 -0
  6. package/column-menu/column-chooser.component.d.ts +4 -0
  7. package/column-menu/column-list.component.d.ts +10 -3
  8. package/column-menu/column-menu-item.component.d.ts +48 -3
  9. package/column-menu/column-menu-item.directive.d.ts +5 -2
  10. package/column-menu/column-menu.component.d.ts +4 -2
  11. package/columns/column-base.d.ts +5 -0
  12. package/columns/span-column.component.d.ts +2 -2
  13. package/common/adaptiveness.service.d.ts +50 -0
  14. package/common/single-popup.service.d.ts +3 -1
  15. package/common/toolbar-tool-base.directive.d.ts +26 -0
  16. package/directives.d.ts +13 -5
  17. package/editing/add-command-tool.directive.d.ts +7 -6
  18. package/editing/cancel-command-tool.directive.d.ts +38 -0
  19. package/editing/edit-command-tool.directive.d.ts +38 -0
  20. package/editing/edit.service.d.ts +1 -1
  21. package/editing/remove-command-tool.directive.d.ts +39 -0
  22. package/editing/save-command-tool.directive.d.ts +38 -0
  23. package/editing/toolbar-editing-tool-base.directive.d.ts +29 -0
  24. package/editing-directives/editing-directive-base.d.ts +4 -1
  25. package/editing-directives/external-editing.directive.d.ts +3 -1
  26. package/esm2022/adaptiveness/adaptive-mode.mjs +5 -0
  27. package/esm2022/adaptiveness/adaptive-renderer.component.mjs +1197 -0
  28. package/esm2022/column-menu/column-chooser.component.mjs +13 -11
  29. package/esm2022/column-menu/column-list.component.mjs +51 -8
  30. package/esm2022/column-menu/column-menu-autosize-all.component.mjs +1 -1
  31. package/esm2022/column-menu/column-menu-autosize.component.mjs +1 -1
  32. package/esm2022/column-menu/column-menu-chooser.component.mjs +1 -1
  33. package/esm2022/column-menu/column-menu-container.component.mjs +1 -1
  34. package/esm2022/column-menu/column-menu-filter.component.mjs +1 -1
  35. package/esm2022/column-menu/column-menu-item.component.mjs +123 -12
  36. package/esm2022/column-menu/column-menu-item.directive.mjs +14 -5
  37. package/esm2022/column-menu/column-menu-lock.component.mjs +1 -1
  38. package/esm2022/column-menu/column-menu-position.component.mjs +1 -1
  39. package/esm2022/column-menu/column-menu-sort.component.mjs +1 -1
  40. package/esm2022/column-menu/column-menu-stick.component.mjs +1 -1
  41. package/esm2022/column-menu/column-menu.component.mjs +68 -44
  42. package/esm2022/column-resizing/column-handle.directive.mjs +2 -2
  43. package/esm2022/columns/column-base.mjs +9 -0
  44. package/esm2022/columns/columns-container.mjs +1 -1
  45. package/esm2022/columns/span-column.component.mjs +9 -9
  46. package/esm2022/common/adaptiveness.service.mjs +72 -0
  47. package/esm2022/common/single-popup.service.mjs +9 -3
  48. package/esm2022/common/toolbar-tool-base.directive.mjs +81 -0
  49. package/esm2022/directives.mjs +21 -4
  50. package/esm2022/editing/add-command-tool.directive.mjs +12 -15
  51. package/esm2022/editing/cancel-command-tool.directive.mjs +64 -0
  52. package/esm2022/editing/edit-command-tool.directive.mjs +59 -0
  53. package/esm2022/editing/remove-command-tool.directive.mjs +60 -0
  54. package/esm2022/editing/remove-command.directive.mjs +1 -0
  55. package/esm2022/editing/save-command-tool.directive.mjs +64 -0
  56. package/esm2022/editing/toolbar-editing-tool-base.directive.mjs +94 -0
  57. package/esm2022/editing-directives/editing-directive-base.mjs +5 -2
  58. package/esm2022/editing-directives/external-editing.directive.mjs +28 -14
  59. package/esm2022/excel/excel-command-tool.directive.mjs +12 -17
  60. package/esm2022/filtering/filter-input.directive.mjs +14 -2
  61. package/esm2022/filtering/menu/boolean-filter-menu.component.mjs +4 -2
  62. package/esm2022/filtering/menu/date-filter-menu-input.component.mjs +4 -0
  63. package/esm2022/filtering/menu/date-filter-menu.component.mjs +6 -0
  64. package/esm2022/filtering/menu/filter-menu-container.component.mjs +24 -10
  65. package/esm2022/filtering/menu/filter-menu-input-wrapper.component.mjs +26 -4
  66. package/esm2022/filtering/menu/filter-menu.component.mjs +44 -29
  67. package/esm2022/filtering/menu/numeric-filter-menu-input.component.mjs +2 -0
  68. package/esm2022/filtering/menu/numeric-filter-menu.component.mjs +6 -0
  69. package/esm2022/filtering/menu/string-filter-menu-input.component.mjs +2 -0
  70. package/esm2022/filtering/menu/string-filter-menu.component.mjs +10 -1
  71. package/esm2022/grid.component.mjs +376 -82
  72. package/esm2022/grid.module.mjs +115 -101
  73. package/esm2022/index.mjs +11 -1
  74. package/esm2022/localization/messages.mjs +128 -2
  75. package/esm2022/navigation/toolbar-tool-name.mjs +17 -0
  76. package/esm2022/package-metadata.mjs +2 -2
  77. package/esm2022/pdf/pdf-command-tool.directive.mjs +12 -15
  78. package/esm2022/rendering/cell.component.mjs +3 -3
  79. package/esm2022/rendering/header/header.component.mjs +1 -1
  80. package/esm2022/rendering/list.component.mjs +1 -1
  81. package/esm2022/rendering/table-body.component.mjs +1 -1
  82. package/esm2022/rendering/toolbar/tools/column-chooser-tool.directive.mjs +210 -0
  83. package/esm2022/rendering/toolbar/tools/filter-command-tool.directive.mjs +69 -34
  84. package/esm2022/rendering/toolbar/tools/filter-tool-wrapper.component.mjs +29 -8
  85. package/esm2022/rendering/toolbar/tools/filter-toolbar-tool.component.mjs +78 -8
  86. package/esm2022/rendering/toolbar/tools/group-command-tool.directive.mjs +206 -0
  87. package/esm2022/rendering/toolbar/tools/group-toolbar-tool.component.mjs +425 -0
  88. package/esm2022/rendering/toolbar/tools/sort-command-tool.directive.mjs +54 -20
  89. package/esm2022/rendering/toolbar/tools/sort-toolbar-tool.component.mjs +24 -8
  90. package/esm2022/selection/selection.service.mjs +11 -0
  91. package/esm2022/state-management/grid-state.models.mjs +26 -0
  92. package/esm2022/state-management/redo-command-tool.mjs +66 -0
  93. package/esm2022/state-management/undo-command-tool.mjs +66 -0
  94. package/esm2022/state-management/undo-redo.directive.mjs +178 -0
  95. package/esm2022/state-management/undo-redo.service.mjs +22 -0
  96. package/esm2022/state-management/undo-redo.stack.mjs +232 -0
  97. package/esm2022/utils.mjs +13 -13
  98. package/excel/excel-command-tool.directive.d.ts +5 -5
  99. package/fesm2022/progress-kendo-angular-grid.mjs +7384 -3773
  100. package/filtering/filter-input.directive.d.ts +1 -0
  101. package/filtering/menu/date-filter-menu-input.component.d.ts +1 -1
  102. package/filtering/menu/filter-menu-container.component.d.ts +15 -4
  103. package/filtering/menu/filter-menu-input-wrapper.component.d.ts +8 -3
  104. package/filtering/menu/filter-menu.component.d.ts +6 -3
  105. package/filtering/menu/numeric-filter-menu-input.component.d.ts +1 -1
  106. package/filtering/menu/string-filter-menu-input.component.d.ts +1 -1
  107. package/filtering/menu/string-filter-menu.component.d.ts +1 -0
  108. package/grid.component.d.ts +86 -33
  109. package/grid.module.d.ts +108 -100
  110. package/index.d.ts +10 -1
  111. package/localization/messages.d.ts +86 -2
  112. package/navigation/toolbar-tool-name.d.ts +17 -0
  113. package/package.json +35 -20
  114. package/pdf/pdf-command-tool.directive.d.ts +6 -5
  115. package/rendering/cell.component.d.ts +1 -1
  116. package/{column-menu → rendering/toolbar/tools}/column-chooser-tool.directive.d.ts +18 -6
  117. package/rendering/toolbar/tools/filter-command-tool.directive.d.ts +10 -1
  118. package/rendering/toolbar/tools/filter-tool-wrapper.component.d.ts +6 -5
  119. package/rendering/toolbar/tools/filter-toolbar-tool.component.d.ts +11 -2
  120. package/rendering/toolbar/tools/group-command-tool.directive.d.ts +51 -0
  121. package/rendering/toolbar/tools/group-toolbar-tool.component.d.ts +61 -0
  122. package/rendering/toolbar/tools/sort-command-tool.directive.d.ts +10 -1
  123. package/rendering/toolbar/tools/sort-toolbar-tool.component.d.ts +5 -1
  124. package/schematics/ngAdd/index.js +4 -4
  125. package/selection/selection.service.d.ts +1 -0
  126. package/state-management/grid-state.models.d.ts +58 -0
  127. package/state-management/redo-command-tool.d.ts +38 -0
  128. package/state-management/undo-command-tool.d.ts +38 -0
  129. package/state-management/undo-redo.directive.d.ts +51 -0
  130. package/state-management/undo-redo.service.d.ts +19 -0
  131. package/state-management/undo-redo.stack.d.ts +104 -0
  132. package/utils.d.ts +11 -5
  133. package/esm2022/column-menu/column-chooser-tool.directive.mjs +0 -172
@@ -0,0 +1,1197 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2025 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { Component, ViewChild, ViewContainerRef } from '@angular/core';
6
+ import { AdaptiveGridService } from '../common/adaptiveness.service';
7
+ import { ActionSheetComponent, ActionSheetContentTemplateDirective, ActionSheetFooterTemplateDirective, ActionSheetHeaderTemplateDirective, ActionSheetViewComponent } from '@progress/kendo-angular-navigation';
8
+ import { FilterMenuContainerComponent } from '../filtering/menu/filter-menu-container.component';
9
+ import { FilterToolbarToolComponent } from '../rendering/toolbar/tools/filter-toolbar-tool.component';
10
+ import { ButtonDirective } from '@progress/kendo-angular-buttons';
11
+ import { NgFor, NgIf, NgTemplateOutlet } from '@angular/common';
12
+ import { arrowRotateCcwIcon, cancelIcon, checkIcon, chevronLeftIcon, filterClearIcon, filterIcon, saveIcon, xIcon } from '@progress/kendo-svg-icons';
13
+ import { FilterService } from '../filtering/filter.service';
14
+ import { ColumnMenuContainerComponent } from '../column-menu/column-menu-container.component';
15
+ import { ColumnMenuFilterComponent } from '../column-menu/column-menu-filter.component';
16
+ import { ColumnMenuSortComponent } from '../column-menu/column-menu-sort.component';
17
+ import { ColumnMenuLockComponent } from '../column-menu/column-menu-lock.component';
18
+ import { ColumnMenuStickComponent } from '../column-menu/column-menu-stick.component';
19
+ import { ColumnMenuPositionComponent } from '../column-menu/column-menu-position.component';
20
+ import { ColumnMenuChooserComponent } from '../column-menu/column-menu-chooser.component';
21
+ import { ColumnMenuAutoSizeColumnComponent } from '../column-menu/column-menu-autosize.component';
22
+ import { ColumnMenuAutoSizeAllColumnsComponent } from '../column-menu/column-menu-autosize-all.component';
23
+ import { ColumnMenuItemComponent } from '../column-menu/column-menu-item.component';
24
+ import { ColumnMenuItemDirective } from '../column-menu/column-menu-item.directive';
25
+ import { hasFilter, hasSort, hasLock, hasStick, hasColumnChooser, hasAutoSizeColumn, hasPosition, hasAutoSizeAllColumns } from '../column-menu/utils';
26
+ import { ColumnMenuService } from '../column-menu/column-menu.service';
27
+ import { ColumnListComponent } from '../column-menu/column-list.component';
28
+ import { ContextService } from '../common/provider.service';
29
+ import { replaceMessagePlaceholder } from '../utils';
30
+ import { AdaptiveService } from '@progress/kendo-angular-utils';
31
+ import { SortService } from '../common/sort.service';
32
+ import { ColumnInfoService } from '../common/column-info.service';
33
+ import { normalize } from '../columns/sort-settings';
34
+ import { directions } from '../rendering/toolbar/tools/sort-toolbar-tool.component';
35
+ import { EventsOutsideAngularDirective } from '@progress/kendo-angular-common';
36
+ import { FormComponent } from '../editing/form';
37
+ import { GroupToolbarToolComponent } from '../rendering/toolbar/tools/group-toolbar-tool.component';
38
+ import * as i0 from "@angular/core";
39
+ import * as i1 from "../column-menu/column-menu.service";
40
+ import * as i2 from "../common/adaptiveness.service";
41
+ import * as i3 from "../filtering/filter.service";
42
+ import * as i4 from "../common/provider.service";
43
+ import * as i5 from "@progress/kendo-angular-utils";
44
+ import * as i6 from "../common/sort.service";
45
+ import * as i7 from "../common/column-info.service";
46
+ /**
47
+ * @hidden
48
+ */
49
+ export class AdaptiveRendererComponent {
50
+ service;
51
+ adaptiveGridService;
52
+ filterService;
53
+ ctx;
54
+ adaptiveService;
55
+ sortService;
56
+ columnInfoService;
57
+ xIcon = xIcon;
58
+ checkIcon = checkIcon;
59
+ filterIcon = filterIcon;
60
+ arrowRotateCcwIcon = arrowRotateCcwIcon;
61
+ chevronLeft = chevronLeftIcon;
62
+ filterClearIcon = filterClearIcon;
63
+ cancelIcon = cancelIcon;
64
+ saveIcon = saveIcon;
65
+ columns;
66
+ actionsClass = 'k-actions';
67
+ externalEditingSettings;
68
+ get hasSort() {
69
+ return hasSort(this.ctx.grid.columnMenu, this.adaptiveGridService.column);
70
+ }
71
+ get hasColumnChooser() {
72
+ return hasColumnChooser(this.ctx.grid.columnMenu);
73
+ }
74
+ get hasFilter() {
75
+ return hasFilter(this.ctx.grid.columnMenu, this.adaptiveGridService.column);
76
+ }
77
+ get hasAutoSizeColumn() {
78
+ return hasAutoSizeColumn(this.ctx.grid.columnMenu);
79
+ }
80
+ get hasAutoSizeAllColumns() {
81
+ return hasAutoSizeAllColumns(this.ctx.grid.columnMenu);
82
+ }
83
+ get hasLock() {
84
+ return hasLock(this.ctx.grid.columnMenu, this.adaptiveGridService.column);
85
+ }
86
+ get hasStick() {
87
+ return hasStick(this.ctx.grid.columnMenu, this.adaptiveGridService.column);
88
+ }
89
+ get hasPosition() {
90
+ return hasPosition(this.ctx.grid.columnMenu, this.adaptiveGridService.column);
91
+ }
92
+ getColumnComponent(column) {
93
+ return column;
94
+ }
95
+ get hasTitle() {
96
+ const hasTitle = this.adaptiveGridService.viewType === 'columnMenu' ||
97
+ this.adaptiveGridService.viewType === 'filterToolbarTool' ||
98
+ this.adaptiveGridService.viewType === 'columnChooserToolbarTool' ||
99
+ this.adaptiveGridService.viewType === 'filterMenu' ||
100
+ this.adaptiveGridService.viewType === 'sortToolbarTool' ||
101
+ this.adaptiveGridService.viewType === 'groupToolbarTool' ||
102
+ this.adaptiveGridService.viewType === 'externalEditing';
103
+ return hasTitle;
104
+ }
105
+ get hasSubtitle() {
106
+ const hasSubtitle = (this.adaptiveGridService.viewType === 'columnMenu' && this.adaptiveGridService.secondaryView === 'columnChooser') ||
107
+ this.adaptiveGridService.viewType === 'columnChooserToolbarTool';
108
+ return hasSubtitle;
109
+ }
110
+ get actionSheetTitle() {
111
+ if (this.adaptiveGridService.viewType === 'columnMenu') {
112
+ if (this.adaptiveGridService.secondaryView === 'columnChooser') {
113
+ return this.messageFor('columns');
114
+ }
115
+ if (this.adaptiveGridService.secondaryView === 'columnPosition') {
116
+ return this.messageFor('setColumnPosition');
117
+ }
118
+ if (this.adaptiveGridService.secondaryView === 'columnFilter') {
119
+ return this.adaptiveGridService.column.title || this.adaptiveGridService.column.field;
120
+ }
121
+ return this.columnMenuTitle;
122
+ }
123
+ if (this.adaptiveGridService.viewType === 'filterToolbarTool') {
124
+ if (this.adaptiveGridService.secondaryView === 'columnFilter') {
125
+ return this.adaptiveGridService.column.title || this.adaptiveGridService.column.field;
126
+ }
127
+ return this.messageFor('adaptiveFilterTitle');
128
+ }
129
+ if (this.adaptiveGridService.viewType === 'filterMenu') {
130
+ return this.adaptiveGridService.column.title || this.adaptiveGridService.column.field;
131
+ }
132
+ if (this.adaptiveGridService.viewType === 'columnChooserToolbarTool') {
133
+ return this.messageFor('columns');
134
+ }
135
+ if (this.adaptiveGridService.viewType === 'sortToolbarTool') {
136
+ return this.messageFor('adaptiveSortTitle');
137
+ }
138
+ if (this.adaptiveGridService.viewType === 'groupToolbarTool') {
139
+ return this.messageFor('adaptiveGroupTitle');
140
+ }
141
+ if (this.adaptiveGridService.viewType === 'externalEditing') {
142
+ return this.messageFor(this.externalEditingSettings.event.isNew ? 'externalEditingAddTitle' : 'externalEditingTitle');
143
+ }
144
+ }
145
+ get adaptiveFilterTitle() {
146
+ const columnTitle = this.adaptiveGridService.column.title || this.adaptiveGridService.column.field;
147
+ return `${this.messageFor('adaptiveFilterTitle')} ${columnTitle}`;
148
+ }
149
+ get columnMenuTitle() {
150
+ const columnName = this.adaptiveGridService.column.title || this.adaptiveGridService.column.field;
151
+ return columnName;
152
+ }
153
+ get filterLabel() {
154
+ const localizationMsg = this.messageFor('filterMenuTitle') || '';
155
+ const columnName = this.adaptiveGridService.column.title || this.adaptiveGridService.column.field;
156
+ return replaceMessagePlaceholder(localizationMsg, 'columnName', columnName);
157
+ }
158
+ get hasXCloseIcon() {
159
+ return this.adaptiveGridService.viewType !== 'sortToolbarTool' && this.adaptiveGridService.viewType !== 'groupToolbarTool';
160
+ }
161
+ get hasCheckCloseIcon() {
162
+ return this.adaptiveGridService.viewType === 'sortToolbarTool' || this.adaptiveGridService.viewType === 'groupToolbarTool';
163
+ }
164
+ columnList;
165
+ filterToolbarToolTemplate;
166
+ filterMenuContainer;
167
+ actionSheet;
168
+ set groupToolbarTool(value) {
169
+ value && (value.ctx = this.ctx);
170
+ }
171
+ adaptiveSizeChangeSubscription;
172
+ constructor(service, adaptiveGridService, filterService, ctx, adaptiveService, sortService, columnInfoService) {
173
+ this.service = service;
174
+ this.adaptiveGridService = adaptiveGridService;
175
+ this.filterService = filterService;
176
+ this.ctx = ctx;
177
+ this.adaptiveService = adaptiveService;
178
+ this.sortService = sortService;
179
+ this.columnInfoService = columnInfoService;
180
+ this.adaptiveSizeChangeSubscription = this.adaptiveService.sizeChanges.subscribe(() => {
181
+ if (this.ctx.grid.isOpen) {
182
+ if (this.actionSheet.expanded) {
183
+ this.actionSheet.toggle(false);
184
+ }
185
+ else {
186
+ this.adaptiveGridService.popupRef.close();
187
+ this.adaptiveGridService.popupRef = null;
188
+ }
189
+ }
190
+ });
191
+ }
192
+ ngOnInit() {
193
+ this.columns = this.columnInfoService.leafNamedColumns.filter(column => column?.sortable);
194
+ }
195
+ ngOnDestroy() {
196
+ if (this.adaptiveSizeChangeSubscription) {
197
+ this.adaptiveSizeChangeSubscription.unsubscribe();
198
+ }
199
+ }
200
+ messageFor = token => this.ctx.localization.get(token);
201
+ close() {
202
+ this.actionSheet.toggle(false);
203
+ this.adaptiveGridService.reset();
204
+ }
205
+ prevView() {
206
+ this.adaptiveGridService.secondaryView = null;
207
+ this.adaptiveGridService.filterMenuContainerComponentRef?.destroy();
208
+ this.actionSheet.prevView();
209
+ }
210
+ clearFilters() {
211
+ const emptyFilter = { logic: 'and', filters: [] };
212
+ this.filterService.filter(emptyFilter);
213
+ this.actionSheet.toggle(false);
214
+ }
215
+ navigateToColumnsView() {
216
+ this.adaptiveGridService.secondaryView = 'columnChooser';
217
+ this.actionSheet.nextView();
218
+ }
219
+ navigateToFilterView() {
220
+ this.adaptiveGridService.secondaryView = 'columnFilter';
221
+ this.actionSheet.nextView();
222
+ }
223
+ navigateToPositionView() {
224
+ this.adaptiveGridService.secondaryView = 'columnPosition';
225
+ this.actionSheet.nextView();
226
+ }
227
+ applyChanges() {
228
+ this.columnList.applyChanges();
229
+ this.actionSheet.toggle(false);
230
+ }
231
+ sortBy(column) {
232
+ this.toggleSort(this.getColumnComponent(column));
233
+ }
234
+ toggleSort(column) {
235
+ const field = column?.field;
236
+ if (!field) {
237
+ return;
238
+ }
239
+ const descriptor = this.getDescriptor(column);
240
+ this.sortService.sort(descriptor);
241
+ }
242
+ getDescriptor(column) {
243
+ const { allowUnsort, mode, initialDirection } = normalize(this.ctx.grid.sortable, column.sortable);
244
+ const field = column?.field;
245
+ if (!field) {
246
+ return;
247
+ }
248
+ const descriptorT = this.ctx.grid.sort.find(item => item.field === field) || { field };
249
+ const [first, second] = directions(initialDirection);
250
+ let dir = first;
251
+ if (descriptorT.dir === first) {
252
+ dir = second;
253
+ }
254
+ else if (descriptorT.dir === second && allowUnsort) {
255
+ dir = undefined;
256
+ }
257
+ const descriptor = { field, dir };
258
+ if (mode === 'single') {
259
+ return [descriptor];
260
+ }
261
+ return [...this.ctx.grid.sort.filter(desc => desc.field !== field), descriptor];
262
+ }
263
+ clearSorting() {
264
+ if (this.ctx.grid.sort.length > 0) {
265
+ this.sortService.sort([]);
266
+ }
267
+ this.actionSheet.toggle(false);
268
+ }
269
+ clearGrouping() {
270
+ if (this.ctx.grid.group.length > 0) {
271
+ this.ctx.grid.group = [];
272
+ this.ctx.grid.groupChange.emit(this.ctx.grid.group);
273
+ }
274
+ this.actionSheet.toggle(false);
275
+ }
276
+ onAnimationEnd() {
277
+ this.adaptiveGridService.notifyAnimationEnd();
278
+ }
279
+ cancelChanges() {
280
+ this.columnList.cancelChanges();
281
+ }
282
+ onTab(event) {
283
+ this.columnList.onTab(event);
284
+ }
285
+ saveEditing() {
286
+ const { event, formGroup, externalEditingDirective } = this.externalEditingSettings;
287
+ externalEditingDirective.saveHandler({ ...event, formGroup });
288
+ this.actionSheet.toggle(false);
289
+ }
290
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AdaptiveRendererComponent, deps: [{ token: i1.ColumnMenuService }, { token: i2.AdaptiveGridService }, { token: i3.FilterService }, { token: i4.ContextService }, { token: i5.AdaptiveService }, { token: i6.SortService }, { token: i7.ColumnInfoService }], target: i0.ɵɵFactoryTarget.Component });
291
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AdaptiveRendererComponent, isStandalone: true, selector: "kendo-grid-adaptive-renderer", viewQueries: [{ propertyName: "columnList", first: true, predicate: ["columnList"], descendants: true }, { propertyName: "filterToolbarToolTemplate", first: true, predicate: ["filterToolbarToolTemplate"], descendants: true, read: ViewContainerRef }, { propertyName: "filterMenuContainer", first: true, predicate: ["filterMenuContainer"], descendants: true }, { propertyName: "actionSheet", first: true, predicate: ActionSheetComponent, descendants: true }, { propertyName: "groupToolbarTool", first: true, predicate: GroupToolbarToolComponent, descendants: true }], ngImport: i0, template: `
292
+ <kendo-actionsheet
293
+ [cssClass]="{
294
+ 'k-adaptive-actionsheet': true,
295
+ 'k-actionsheet-fullscreen': adaptiveService.size === 'small',
296
+ 'k-actionsheet-bottom': adaptiveService.size === 'medium'
297
+ }"
298
+ [cssStyle]="{
299
+ height: adaptiveService.size === 'small' ? '100vh' : '60vh'
300
+ }"
301
+ [overlayClickClose]="true"
302
+ (collapse)="adaptiveGridService.reset()">
303
+
304
+ <!-- sortToolbarTool view -->
305
+ <kendo-actionsheet-view *ngIf="adaptiveGridService.viewType === 'sortToolbarTool'">
306
+ <ng-template kendoActionSheetHeaderTemplate>
307
+ <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
308
+ </ng-container>
309
+ </ng-template>
310
+ <ng-template kendoActionSheetContentTemplate>
311
+ <div class="k-column-menu k-column-menu-lg">
312
+ <div class="k-columnmenu-item-wrapper">
313
+ <kendo-grid-columnmenu-item *ngFor="let column of columns"
314
+ [column]="getColumnComponent(column)"
315
+ [text]="column.title || getColumnComponent(column).field"
316
+ (itemClick)="sortBy(column)">
317
+ </kendo-grid-columnmenu-item>
318
+ </div>
319
+ </div>
320
+ </ng-template>
321
+ <ng-template kendoActionSheetFooterTemplate>
322
+ <button
323
+ kendoButton
324
+ size="large"
325
+ fillMode="solid"
326
+ icon="x"
327
+ [svgIcon]="xIcon"
328
+ (click)="clearSorting()">
329
+ {{messageFor('sortClearButton')}}
330
+ </button>
331
+ <button
332
+ kendoButton
333
+ size="large"
334
+ fillMode="solid"
335
+ icon="check"
336
+ [svgIcon]="checkIcon"
337
+ themeColor="primary"
338
+ (click)="actionSheet.toggle(false)">
339
+ {{messageFor('sortDoneButton')}}
340
+ </button>
341
+ </ng-template>
342
+ </kendo-actionsheet-view>
343
+
344
+ <!-- columnChooserToolbarTool view -->
345
+ <kendo-actionsheet-view *ngIf="adaptiveGridService.viewType === 'columnChooserToolbarTool'">
346
+ <ng-template kendoActionSheetHeaderTemplate>
347
+ <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
348
+ </ng-container>
349
+ </ng-template>
350
+ <ng-template kendoActionSheetContentTemplate>
351
+ <kendo-grid-columnlist
352
+ #columnList
353
+ [columns]="adaptiveGridService.columns"
354
+ [ariaLabel]="messageFor('columns')"
355
+ [isLast]="true"
356
+ [showActions]="false"
357
+ [applyText]="messageFor('columnsApply')"
358
+ [resetText]="messageFor('columnsReset')"
359
+ [autoSync]="false"
360
+ [actionsClass]="actionsClass"
361
+ [allowHideAll]="false"
362
+ >
363
+ </kendo-grid-columnlist>
364
+ </ng-template>
365
+ <ng-template kendoActionSheetFooterTemplate>
366
+ <ng-container [ngTemplateOutlet]="actionSheetFooterTemplate">
367
+ </ng-container>
368
+ </ng-template>
369
+ </kendo-actionsheet-view>
370
+
371
+ <!-- filterToolbarTool first view -->
372
+ <kendo-actionsheet-view *ngIf="adaptiveGridService.viewType === 'filterToolbarTool'"
373
+ [kendoEventsOutsideAngular]="{transitionend: onAnimationEnd}"
374
+ [scope]="this">
375
+ <ng-template kendoActionSheetHeaderTemplate>
376
+ <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
377
+ </ng-container>
378
+ </ng-template>
379
+ <ng-template kendoActionSheetContentTemplate>
380
+ <div class="k-column-menu k-column-menu-lg">
381
+ <kendo-filter-toolbar-tool></kendo-filter-toolbar-tool>
382
+ </div>
383
+ </ng-template>
384
+ <ng-template kendoActionSheetFooterTemplate>
385
+ <button kendoButton
386
+ icon="filter-clear"
387
+ [svgIcon]="filterClearIcon"
388
+ size="large"
389
+ (click)="clearFilters()">
390
+ {{messageFor('filterClearAllButton')}}
391
+ </button>
392
+ </ng-template>
393
+ </kendo-actionsheet-view>
394
+
395
+ <!-- filterToolbarTool second view -->
396
+ <kendo-actionsheet-view *ngIf="adaptiveGridService.viewType === 'filterToolbarTool'">
397
+ <ng-template kendoActionSheetHeaderTemplate>
398
+ <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
399
+ </ng-container>
400
+ </ng-template>
401
+ <ng-template kendoActionSheetContentTemplate>
402
+ <ng-container #filterToolbarToolTemplate></ng-container>
403
+ </ng-template>
404
+ <ng-template kendoActionSheetFooterTemplate>
405
+ <ng-container [ngTemplateOutlet]="filterFooterButtons">
406
+ </ng-container>
407
+ </ng-template>
408
+ </kendo-actionsheet-view>
409
+
410
+ <!-- filterMenu view -->
411
+ <kendo-actionsheet-view *ngIf="adaptiveGridService.viewType === 'filterMenu'">
412
+ <ng-template kendoActionSheetHeaderTemplate >
413
+ <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
414
+ </ng-container>
415
+ </ng-template>
416
+ <ng-template kendoActionSheetContentTemplate>
417
+ <kendo-grid-filter-menu-container
418
+ #filterMenuContainer
419
+ [column]="adaptiveGridService.column"
420
+ [filter]="ctx.grid.filter"
421
+ (close)="close()"
422
+ (keydown.enter)="$event.stopImmediatePropagation()">
423
+ </kendo-grid-filter-menu-container>
424
+ </ng-template>
425
+ <ng-template kendoActionSheetFooterTemplate>
426
+ <ng-container [ngTemplateOutlet]="filterFooterButtons">
427
+ </ng-container>
428
+ </ng-template>
429
+ </kendo-actionsheet-view>
430
+
431
+ <!-- columnMenu first view -->
432
+ <kendo-actionsheet-view *ngIf="adaptiveGridService.viewType === 'columnMenu'"
433
+ [kendoEventsOutsideAngular]="{transitionend: onAnimationEnd}"
434
+ [scope]="this">
435
+ <ng-template kendoActionSheetHeaderTemplate>
436
+ <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
437
+ </ng-container>
438
+ </ng-template>
439
+ <ng-template kendoActionSheetContentTemplate>
440
+ <div class="k-column-menu k-column-menu-lg">
441
+ <kendo-grid-columnmenu-container>
442
+ <kendo-grid-columnmenu-sort #sortItem [kendoGridColumnMenuItem]="sortItem" *ngIf="hasSort" [service]="adaptiveGridService.columnMenuService">
443
+ </kendo-grid-columnmenu-sort>
444
+ <kendo-grid-columnmenu-lock #lockItem *ngIf="hasLock && !hasPosition" [kendoGridColumnMenuItem]="lockItem" [service]="adaptiveGridService.columnMenuService">
445
+ </kendo-grid-columnmenu-lock>
446
+ <kendo-grid-columnmenu-stick #stickItem *ngIf="hasStick && !hasPosition" [kendoGridColumnMenuItem]="stickItem" [service]="adaptiveGridService.columnMenuService">
447
+ </kendo-grid-columnmenu-stick>
448
+ <kendo-grid-columnmenu-position
449
+ #positionItem
450
+ *ngIf="hasPosition"
451
+ [showLock]="hasLock"
452
+ [showStick]="hasStick"
453
+ [kendoGridColumnMenuItem]="positionItem"
454
+ [service]="adaptiveGridService.columnMenuService"
455
+ [expanded]="false"
456
+ (collapse)="navigateToPositionView()">
457
+ </kendo-grid-columnmenu-position>
458
+ <span [style.borderColor]="'rgba(0, 0, 0, 0.08)'" *ngIf="hasLock || hasStick || adaptiveGridService.column.sortable" class="k-separator"></span>
459
+ <kendo-grid-columnmenu-chooser
460
+ #chooserItem
461
+ *ngIf="hasColumnChooser"
462
+ [kendoGridColumnMenuItem]="chooserItem"
463
+ [service]="adaptiveGridService.columnMenuService"
464
+ [expanded]="false"
465
+ (collapse)="navigateToColumnsView()">
466
+ </kendo-grid-columnmenu-chooser>
467
+ <kendo-grid-columnmenu-autosize-column
468
+ #autoSizeColumnItem
469
+ *ngIf="hasAutoSizeColumn"
470
+ [service]="adaptiveGridService.columnMenuService"
471
+ [kendoGridColumnMenuItem]="autoSizeColumnItem"
472
+ [column]="adaptiveGridService.column"
473
+ >
474
+ </kendo-grid-columnmenu-autosize-column>
475
+
476
+ <kendo-grid-columnmenu-autosize-all-columns
477
+ #autoSizeAllColumnsItem
478
+ *ngIf="hasAutoSizeAllColumns"
479
+ [service]="adaptiveGridService.columnMenuService"
480
+ [kendoGridColumnMenuItem]="autoSizeAllColumnsItem"
481
+ >
482
+ </kendo-grid-columnmenu-autosize-all-columns>
483
+ <span [style.borderColor]="'rgba(0, 0, 0, 0.08)'" *ngIf="adaptiveGridService.column.filterable" class="k-separator"></span>
484
+ <kendo-grid-columnmenu-filter
485
+ #filterItem
486
+ *ngIf="hasFilter"
487
+ [kendoGridColumnMenuItem]="filterItem"
488
+ [service]="adaptiveGridService.columnMenuService"
489
+ [expanded]="false"
490
+ (collapse)="navigateToFilterView()">
491
+ </kendo-grid-columnmenu-filter>
492
+ </kendo-grid-columnmenu-container>
493
+ </div>
494
+ </ng-template>
495
+ </kendo-actionsheet-view>
496
+
497
+ <!-- columnMenu second view -->
498
+ <kendo-actionsheet-view *ngIf="adaptiveGridService.viewType === 'columnMenu'">
499
+ <ng-template kendoActionSheetHeaderTemplate>
500
+ <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
501
+ </ng-container>
502
+ </ng-template>
503
+
504
+ <ng-template kendoActionSheetContentTemplate>
505
+ <kendo-grid-columnlist
506
+ *ngIf="adaptiveGridService.secondaryView === 'columnChooser'"
507
+ #columnList
508
+ [columns]="adaptiveGridService.columns"
509
+ [ariaLabel]="messageFor('columns')"
510
+ [isLast]="true"
511
+ [showActions]="false"
512
+ [applyText]="messageFor('columnsApply')"
513
+ [resetText]="messageFor('columnsReset')"
514
+ [autoSync]="false"
515
+ [actionsClass]="actionsClass"
516
+ [allowHideAll]="false"
517
+ >
518
+ </kendo-grid-columnlist>
519
+ <kendo-grid-filter-menu-container
520
+ *ngIf="adaptiveGridService.secondaryView === 'columnFilter'"
521
+ [column]="adaptiveGridService.column"
522
+ [filter]="ctx.grid.filter"
523
+ (close)="close()"
524
+ [kendoEventsOutsideAngular]="{'keydown.escape': close}"
525
+ [scope]="this">
526
+ </kendo-grid-filter-menu-container>
527
+ <kendo-grid-columnmenu-lock
528
+ *ngIf="adaptiveGridService.secondaryView === 'columnPosition' && hasLock"
529
+ [service]="adaptiveGridService.columnMenuService">
530
+ </kendo-grid-columnmenu-lock>
531
+ <kendo-grid-columnmenu-stick
532
+ *ngIf="adaptiveGridService.secondaryView === 'columnPosition' && hasStick"
533
+ [service]="adaptiveGridService.columnMenuService">
534
+ </kendo-grid-columnmenu-stick>
535
+ </ng-template>
536
+ <ng-template *ngIf="adaptiveGridService.secondaryView === 'columnChooser'" kendoActionSheetFooterTemplate>
537
+ <ng-container [ngTemplateOutlet]="actionSheetFooterTemplate">
538
+ </ng-container>
539
+ </ng-template>
540
+
541
+ <ng-template *ngIf="adaptiveGridService.secondaryView === 'columnFilter'" kendoActionSheetFooterTemplate>
542
+ <ng-container [ngTemplateOutlet]="filterFooterButtons">
543
+ </ng-container>
544
+ </ng-template>
545
+ </kendo-actionsheet-view>
546
+
547
+ <!-- external editing view -->
548
+ <kendo-actionsheet-view *ngIf="adaptiveGridService.viewType === 'externalEditing'">
549
+ <ng-template kendoActionSheetHeaderTemplate>
550
+ <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
551
+ </ng-container>
552
+ </ng-template>
553
+
554
+ <ng-template kendoActionSheetContentTemplate>
555
+ <kendo-grid-external-form
556
+ [controls]="externalEditingSettings.formControls"
557
+ [formGroup]="externalEditingSettings.formGroup"
558
+ [formSettings]="externalEditingSettings.formSettings"
559
+ [actionButtons]="false">
560
+ </kendo-grid-external-form>
561
+ </ng-template>
562
+
563
+ <ng-template kendoActionSheetFooterTemplate>
564
+ <button kendoButton
565
+ size="large"
566
+ icon="cancel"
567
+ [svgIcon]="cancelIcon"
568
+ (click)="actionSheet.toggle(false)">
569
+ {{messageFor('externalEditingCancelText')}}
570
+ </button>
571
+ <button kendoButton
572
+ themeColor="primary"
573
+ size="large"
574
+ icon="save"
575
+ [svgIcon]="saveIcon"
576
+ (click)="saveEditing()"
577
+ [disabled]="!externalEditingSettings.formGroup.valid">
578
+ {{messageFor('externalEditingSaveText')}}
579
+ </button>
580
+ </ng-template>
581
+ </kendo-actionsheet-view>
582
+
583
+ <!-- groupToolbarTool view -->
584
+ <kendo-actionsheet-view *ngIf="adaptiveGridService.viewType === 'groupToolbarTool'">
585
+ <ng-template kendoActionSheetHeaderTemplate>
586
+ <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
587
+ </ng-container>
588
+ </ng-template>
589
+ <ng-template kendoActionSheetContentTemplate>
590
+ <kendo-group-toolbar-tool [adaptive]="true"></kendo-group-toolbar-tool>
591
+ </ng-template>
592
+ <ng-template kendoActionSheetFooterTemplate>
593
+ <button
594
+ kendoButton
595
+ size="large"
596
+ fillMode="solid"
597
+ icon="x"
598
+ [svgIcon]="xIcon"
599
+ (click)="clearGrouping()">
600
+ {{messageFor('groupClearButton')}}
601
+ </button>
602
+ <button
603
+ kendoButton
604
+ size="large"
605
+ fillMode="solid"
606
+ icon="check"
607
+ [svgIcon]="checkIcon"
608
+ themeColor="primary"
609
+ (click)="actionSheet.toggle(false)">
610
+ {{messageFor('groupDoneButton')}}
611
+ </button>
612
+ </ng-template>
613
+ </kendo-actionsheet-view>
614
+ </kendo-actionsheet>
615
+
616
+ <ng-template #actionSheetHeaderTemplate>
617
+ <div class="k-actionsheet-titlebar-group">
618
+ <div *ngIf="adaptiveGridService.secondaryView" class="k-actionsheet-actions">
619
+ <button
620
+ kendoButton
621
+ icon="chevron-left"
622
+ [svgIcon]="chevronLeft"
623
+ fillMode="flat"
624
+ size="large"
625
+ [title]="messageFor('adaptiveBackButtonTitle')"
626
+ (click)="prevView()">
627
+ </button>
628
+ </div>
629
+ <div class="k-actionsheet-title">
630
+ <div *ngIf="hasTitle" class="k-text-center">
631
+ {{actionSheetTitle}}
632
+ </div>
633
+ <div *ngIf="hasSubtitle"
634
+ class="k-actionsheet-subtitle k-text-center">
635
+ {{messageFor('columnsSubtitle')}}
636
+ </div>
637
+ </div>
638
+ <div *ngIf="hasXCloseIcon" class="k-actionsheet-actions">
639
+ <button
640
+ kendoButton
641
+ icon="x"
642
+ [svgIcon]="xIcon"
643
+ fillMode="flat"
644
+ size="large"
645
+ [title]="messageFor('adaptiveCloseButtonTitle')"
646
+ (click)="close()">
647
+ </button>
648
+ </div>
649
+ <div *ngIf="hasCheckCloseIcon" class="k-actionsheet-actions">
650
+ <button
651
+ kendoButton
652
+ icon="check"
653
+ [svgIcon]="checkIcon"
654
+ fillMode="flat"
655
+ size="large"
656
+ themeColor="primary"
657
+ [title]="messageFor('adaptiveCloseButtonTitle')"
658
+ (click)="actionSheet.toggle(false)">
659
+ </button>
660
+ </div>
661
+ </div>
662
+ </ng-template>
663
+
664
+ <ng-template #actionSheetFooterTemplate>
665
+ <button
666
+ #resetButton
667
+ kendoButton
668
+ size="large"
669
+ fillMode="solid"
670
+ [svgIcon]="arrowRotateCcwIcon"
671
+ icon="arrow-rotate-ccw"
672
+ type="button"
673
+ [kendoEventsOutsideAngular]="{click: cancelChanges,
674
+ 'keydown.enter': cancelChanges,
675
+ 'keydown.space': cancelChanges,
676
+ 'keydown.tab': onTab
677
+ }"
678
+ [scope]="this">
679
+ {{ messageFor('columnsReset') }}
680
+ </button>
681
+ <button
682
+ #applyButton
683
+ kendoButton
684
+ type="button"
685
+ [svgIcon]="checkIcon"
686
+ icon="check"
687
+ size="large"
688
+ fillMode="solid"
689
+ themeColor="primary"
690
+ [kendoEventsOutsideAngular]="{click: applyChanges,
691
+ 'keydown.enter': applyChanges,
692
+ 'keydown.space': applyChanges
693
+ }"
694
+ [scope]="this">
695
+ {{ messageFor('columnsApply') }}
696
+ </button>
697
+ </ng-template>
698
+
699
+ <ng-template #filterFooterButtons>
700
+ <button
701
+ kendoButton
702
+ size="large"
703
+ fillMode="solid"
704
+ (click)="adaptiveGridService.resetFilter()">
705
+ {{messageFor('filterClearButton')}}
706
+ </button>
707
+ <button
708
+ kendoButton
709
+ size="large"
710
+ fillMode="solid"
711
+ themeColor="primary"
712
+ [disabled]="adaptiveGridService.filterMenuContainer.disabled"
713
+ (click)="adaptiveGridService.submitFilter()">
714
+ {{messageFor('filterFilterButton')}}
715
+ </button>
716
+ </ng-template>
717
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["actions", "actionsLayout", "overlayClickClose", "title", "subtitle", "items", "cssClass", "cssStyle", "animation", "expanded", "titleId", "initialFocus"], outputs: ["expandedChange", "action", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { kind: "component", type: ActionSheetViewComponent, selector: "kendo-actionsheet-view", inputs: ["title", "subtitle", "titleId"] }, { kind: "component", type: FilterToolbarToolComponent, selector: "kendo-filter-toolbar-tool", outputs: ["close"] }, { kind: "component", type: GroupToolbarToolComponent, selector: "kendo-group-toolbar-tool", inputs: ["adaptive"], outputs: ["close", "groupClear"] }, { kind: "component", type: ButtonDirective, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "directive", type: ActionSheetHeaderTemplateDirective, selector: "[kendoActionSheetHeaderTemplate]" }, { kind: "directive", type: ActionSheetContentTemplateDirective, selector: "[kendoActionSheetContentTemplate]" }, { kind: "directive", type: ActionSheetFooterTemplateDirective, selector: "[kendoActionSheetFooterTemplate]" }, { kind: "component", type: ColumnMenuContainerComponent, selector: "kendo-grid-columnmenu-container" }, { kind: "component", type: ColumnMenuFilterComponent, selector: "kendo-grid-columnmenu-filter", inputs: ["expanded", "isLast"], outputs: ["expand", "collapse"] }, { kind: "component", type: ColumnMenuSortComponent, selector: "kendo-grid-columnmenu-sort" }, { kind: "component", type: ColumnMenuLockComponent, selector: "kendo-grid-columnmenu-lock" }, { kind: "component", type: ColumnMenuStickComponent, selector: "kendo-grid-columnmenu-stick" }, { kind: "component", type: ColumnMenuPositionComponent, selector: "kendo-grid-columnmenu-position", inputs: ["expanded", "showLock", "showStick", "isLast"], outputs: ["expand", "collapse"] }, { kind: "component", type: ColumnMenuChooserComponent, selector: "kendo-grid-columnmenu-chooser", inputs: ["expanded", "isLast"], outputs: ["expand", "collapse"] }, { kind: "component", type: ColumnMenuAutoSizeColumnComponent, selector: "kendo-grid-columnmenu-autosize-column", inputs: ["column"] }, { kind: "component", type: ColumnMenuAutoSizeAllColumnsComponent, selector: "kendo-grid-columnmenu-autosize-all-columns" }, { kind: "component", type: ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "indicatorIcon", "text", "selected", "disabled", "expanded", "focused", "service", "column"], outputs: ["itemClick", "expand", "collapse"] }, { kind: "directive", type: ColumnMenuItemDirective, selector: "[kendoGridColumnMenuItem]", inputs: ["kendoGridColumnMenuItem"] }, { kind: "component", type: ColumnListComponent, selector: "kendo-grid-columnlist", inputs: ["columns", "showActions", "autoSync", "ariaLabel", "allowHideAll", "applyText", "resetText", "actionsClass", "isLast", "isExpanded", "service"], outputs: ["reset", "apply", "columnChange"] }, { kind: "component", type: FilterMenuContainerComponent, selector: "kendo-grid-filter-menu-container", inputs: ["column", "isLast", "isExpanded", "menuTabbingService", "filter", "actionsClass"], outputs: ["close"] }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "component", type: FormComponent, selector: "kendo-grid-external-form", inputs: ["controls", "formSettings", "formGroup", "actionButtons"], outputs: ["formSubmit"] }] });
718
+ }
719
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AdaptiveRendererComponent, decorators: [{
720
+ type: Component,
721
+ args: [{
722
+ selector: 'kendo-grid-adaptive-renderer',
723
+ template: `
724
+ <kendo-actionsheet
725
+ [cssClass]="{
726
+ 'k-adaptive-actionsheet': true,
727
+ 'k-actionsheet-fullscreen': adaptiveService.size === 'small',
728
+ 'k-actionsheet-bottom': adaptiveService.size === 'medium'
729
+ }"
730
+ [cssStyle]="{
731
+ height: adaptiveService.size === 'small' ? '100vh' : '60vh'
732
+ }"
733
+ [overlayClickClose]="true"
734
+ (collapse)="adaptiveGridService.reset()">
735
+
736
+ <!-- sortToolbarTool view -->
737
+ <kendo-actionsheet-view *ngIf="adaptiveGridService.viewType === 'sortToolbarTool'">
738
+ <ng-template kendoActionSheetHeaderTemplate>
739
+ <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
740
+ </ng-container>
741
+ </ng-template>
742
+ <ng-template kendoActionSheetContentTemplate>
743
+ <div class="k-column-menu k-column-menu-lg">
744
+ <div class="k-columnmenu-item-wrapper">
745
+ <kendo-grid-columnmenu-item *ngFor="let column of columns"
746
+ [column]="getColumnComponent(column)"
747
+ [text]="column.title || getColumnComponent(column).field"
748
+ (itemClick)="sortBy(column)">
749
+ </kendo-grid-columnmenu-item>
750
+ </div>
751
+ </div>
752
+ </ng-template>
753
+ <ng-template kendoActionSheetFooterTemplate>
754
+ <button
755
+ kendoButton
756
+ size="large"
757
+ fillMode="solid"
758
+ icon="x"
759
+ [svgIcon]="xIcon"
760
+ (click)="clearSorting()">
761
+ {{messageFor('sortClearButton')}}
762
+ </button>
763
+ <button
764
+ kendoButton
765
+ size="large"
766
+ fillMode="solid"
767
+ icon="check"
768
+ [svgIcon]="checkIcon"
769
+ themeColor="primary"
770
+ (click)="actionSheet.toggle(false)">
771
+ {{messageFor('sortDoneButton')}}
772
+ </button>
773
+ </ng-template>
774
+ </kendo-actionsheet-view>
775
+
776
+ <!-- columnChooserToolbarTool view -->
777
+ <kendo-actionsheet-view *ngIf="adaptiveGridService.viewType === 'columnChooserToolbarTool'">
778
+ <ng-template kendoActionSheetHeaderTemplate>
779
+ <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
780
+ </ng-container>
781
+ </ng-template>
782
+ <ng-template kendoActionSheetContentTemplate>
783
+ <kendo-grid-columnlist
784
+ #columnList
785
+ [columns]="adaptiveGridService.columns"
786
+ [ariaLabel]="messageFor('columns')"
787
+ [isLast]="true"
788
+ [showActions]="false"
789
+ [applyText]="messageFor('columnsApply')"
790
+ [resetText]="messageFor('columnsReset')"
791
+ [autoSync]="false"
792
+ [actionsClass]="actionsClass"
793
+ [allowHideAll]="false"
794
+ >
795
+ </kendo-grid-columnlist>
796
+ </ng-template>
797
+ <ng-template kendoActionSheetFooterTemplate>
798
+ <ng-container [ngTemplateOutlet]="actionSheetFooterTemplate">
799
+ </ng-container>
800
+ </ng-template>
801
+ </kendo-actionsheet-view>
802
+
803
+ <!-- filterToolbarTool first view -->
804
+ <kendo-actionsheet-view *ngIf="adaptiveGridService.viewType === 'filterToolbarTool'"
805
+ [kendoEventsOutsideAngular]="{transitionend: onAnimationEnd}"
806
+ [scope]="this">
807
+ <ng-template kendoActionSheetHeaderTemplate>
808
+ <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
809
+ </ng-container>
810
+ </ng-template>
811
+ <ng-template kendoActionSheetContentTemplate>
812
+ <div class="k-column-menu k-column-menu-lg">
813
+ <kendo-filter-toolbar-tool></kendo-filter-toolbar-tool>
814
+ </div>
815
+ </ng-template>
816
+ <ng-template kendoActionSheetFooterTemplate>
817
+ <button kendoButton
818
+ icon="filter-clear"
819
+ [svgIcon]="filterClearIcon"
820
+ size="large"
821
+ (click)="clearFilters()">
822
+ {{messageFor('filterClearAllButton')}}
823
+ </button>
824
+ </ng-template>
825
+ </kendo-actionsheet-view>
826
+
827
+ <!-- filterToolbarTool second view -->
828
+ <kendo-actionsheet-view *ngIf="adaptiveGridService.viewType === 'filterToolbarTool'">
829
+ <ng-template kendoActionSheetHeaderTemplate>
830
+ <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
831
+ </ng-container>
832
+ </ng-template>
833
+ <ng-template kendoActionSheetContentTemplate>
834
+ <ng-container #filterToolbarToolTemplate></ng-container>
835
+ </ng-template>
836
+ <ng-template kendoActionSheetFooterTemplate>
837
+ <ng-container [ngTemplateOutlet]="filterFooterButtons">
838
+ </ng-container>
839
+ </ng-template>
840
+ </kendo-actionsheet-view>
841
+
842
+ <!-- filterMenu view -->
843
+ <kendo-actionsheet-view *ngIf="adaptiveGridService.viewType === 'filterMenu'">
844
+ <ng-template kendoActionSheetHeaderTemplate >
845
+ <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
846
+ </ng-container>
847
+ </ng-template>
848
+ <ng-template kendoActionSheetContentTemplate>
849
+ <kendo-grid-filter-menu-container
850
+ #filterMenuContainer
851
+ [column]="adaptiveGridService.column"
852
+ [filter]="ctx.grid.filter"
853
+ (close)="close()"
854
+ (keydown.enter)="$event.stopImmediatePropagation()">
855
+ </kendo-grid-filter-menu-container>
856
+ </ng-template>
857
+ <ng-template kendoActionSheetFooterTemplate>
858
+ <ng-container [ngTemplateOutlet]="filterFooterButtons">
859
+ </ng-container>
860
+ </ng-template>
861
+ </kendo-actionsheet-view>
862
+
863
+ <!-- columnMenu first view -->
864
+ <kendo-actionsheet-view *ngIf="adaptiveGridService.viewType === 'columnMenu'"
865
+ [kendoEventsOutsideAngular]="{transitionend: onAnimationEnd}"
866
+ [scope]="this">
867
+ <ng-template kendoActionSheetHeaderTemplate>
868
+ <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
869
+ </ng-container>
870
+ </ng-template>
871
+ <ng-template kendoActionSheetContentTemplate>
872
+ <div class="k-column-menu k-column-menu-lg">
873
+ <kendo-grid-columnmenu-container>
874
+ <kendo-grid-columnmenu-sort #sortItem [kendoGridColumnMenuItem]="sortItem" *ngIf="hasSort" [service]="adaptiveGridService.columnMenuService">
875
+ </kendo-grid-columnmenu-sort>
876
+ <kendo-grid-columnmenu-lock #lockItem *ngIf="hasLock && !hasPosition" [kendoGridColumnMenuItem]="lockItem" [service]="adaptiveGridService.columnMenuService">
877
+ </kendo-grid-columnmenu-lock>
878
+ <kendo-grid-columnmenu-stick #stickItem *ngIf="hasStick && !hasPosition" [kendoGridColumnMenuItem]="stickItem" [service]="adaptiveGridService.columnMenuService">
879
+ </kendo-grid-columnmenu-stick>
880
+ <kendo-grid-columnmenu-position
881
+ #positionItem
882
+ *ngIf="hasPosition"
883
+ [showLock]="hasLock"
884
+ [showStick]="hasStick"
885
+ [kendoGridColumnMenuItem]="positionItem"
886
+ [service]="adaptiveGridService.columnMenuService"
887
+ [expanded]="false"
888
+ (collapse)="navigateToPositionView()">
889
+ </kendo-grid-columnmenu-position>
890
+ <span [style.borderColor]="'rgba(0, 0, 0, 0.08)'" *ngIf="hasLock || hasStick || adaptiveGridService.column.sortable" class="k-separator"></span>
891
+ <kendo-grid-columnmenu-chooser
892
+ #chooserItem
893
+ *ngIf="hasColumnChooser"
894
+ [kendoGridColumnMenuItem]="chooserItem"
895
+ [service]="adaptiveGridService.columnMenuService"
896
+ [expanded]="false"
897
+ (collapse)="navigateToColumnsView()">
898
+ </kendo-grid-columnmenu-chooser>
899
+ <kendo-grid-columnmenu-autosize-column
900
+ #autoSizeColumnItem
901
+ *ngIf="hasAutoSizeColumn"
902
+ [service]="adaptiveGridService.columnMenuService"
903
+ [kendoGridColumnMenuItem]="autoSizeColumnItem"
904
+ [column]="adaptiveGridService.column"
905
+ >
906
+ </kendo-grid-columnmenu-autosize-column>
907
+
908
+ <kendo-grid-columnmenu-autosize-all-columns
909
+ #autoSizeAllColumnsItem
910
+ *ngIf="hasAutoSizeAllColumns"
911
+ [service]="adaptiveGridService.columnMenuService"
912
+ [kendoGridColumnMenuItem]="autoSizeAllColumnsItem"
913
+ >
914
+ </kendo-grid-columnmenu-autosize-all-columns>
915
+ <span [style.borderColor]="'rgba(0, 0, 0, 0.08)'" *ngIf="adaptiveGridService.column.filterable" class="k-separator"></span>
916
+ <kendo-grid-columnmenu-filter
917
+ #filterItem
918
+ *ngIf="hasFilter"
919
+ [kendoGridColumnMenuItem]="filterItem"
920
+ [service]="adaptiveGridService.columnMenuService"
921
+ [expanded]="false"
922
+ (collapse)="navigateToFilterView()">
923
+ </kendo-grid-columnmenu-filter>
924
+ </kendo-grid-columnmenu-container>
925
+ </div>
926
+ </ng-template>
927
+ </kendo-actionsheet-view>
928
+
929
+ <!-- columnMenu second view -->
930
+ <kendo-actionsheet-view *ngIf="adaptiveGridService.viewType === 'columnMenu'">
931
+ <ng-template kendoActionSheetHeaderTemplate>
932
+ <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
933
+ </ng-container>
934
+ </ng-template>
935
+
936
+ <ng-template kendoActionSheetContentTemplate>
937
+ <kendo-grid-columnlist
938
+ *ngIf="adaptiveGridService.secondaryView === 'columnChooser'"
939
+ #columnList
940
+ [columns]="adaptiveGridService.columns"
941
+ [ariaLabel]="messageFor('columns')"
942
+ [isLast]="true"
943
+ [showActions]="false"
944
+ [applyText]="messageFor('columnsApply')"
945
+ [resetText]="messageFor('columnsReset')"
946
+ [autoSync]="false"
947
+ [actionsClass]="actionsClass"
948
+ [allowHideAll]="false"
949
+ >
950
+ </kendo-grid-columnlist>
951
+ <kendo-grid-filter-menu-container
952
+ *ngIf="adaptiveGridService.secondaryView === 'columnFilter'"
953
+ [column]="adaptiveGridService.column"
954
+ [filter]="ctx.grid.filter"
955
+ (close)="close()"
956
+ [kendoEventsOutsideAngular]="{'keydown.escape': close}"
957
+ [scope]="this">
958
+ </kendo-grid-filter-menu-container>
959
+ <kendo-grid-columnmenu-lock
960
+ *ngIf="adaptiveGridService.secondaryView === 'columnPosition' && hasLock"
961
+ [service]="adaptiveGridService.columnMenuService">
962
+ </kendo-grid-columnmenu-lock>
963
+ <kendo-grid-columnmenu-stick
964
+ *ngIf="adaptiveGridService.secondaryView === 'columnPosition' && hasStick"
965
+ [service]="adaptiveGridService.columnMenuService">
966
+ </kendo-grid-columnmenu-stick>
967
+ </ng-template>
968
+ <ng-template *ngIf="adaptiveGridService.secondaryView === 'columnChooser'" kendoActionSheetFooterTemplate>
969
+ <ng-container [ngTemplateOutlet]="actionSheetFooterTemplate">
970
+ </ng-container>
971
+ </ng-template>
972
+
973
+ <ng-template *ngIf="adaptiveGridService.secondaryView === 'columnFilter'" kendoActionSheetFooterTemplate>
974
+ <ng-container [ngTemplateOutlet]="filterFooterButtons">
975
+ </ng-container>
976
+ </ng-template>
977
+ </kendo-actionsheet-view>
978
+
979
+ <!-- external editing view -->
980
+ <kendo-actionsheet-view *ngIf="adaptiveGridService.viewType === 'externalEditing'">
981
+ <ng-template kendoActionSheetHeaderTemplate>
982
+ <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
983
+ </ng-container>
984
+ </ng-template>
985
+
986
+ <ng-template kendoActionSheetContentTemplate>
987
+ <kendo-grid-external-form
988
+ [controls]="externalEditingSettings.formControls"
989
+ [formGroup]="externalEditingSettings.formGroup"
990
+ [formSettings]="externalEditingSettings.formSettings"
991
+ [actionButtons]="false">
992
+ </kendo-grid-external-form>
993
+ </ng-template>
994
+
995
+ <ng-template kendoActionSheetFooterTemplate>
996
+ <button kendoButton
997
+ size="large"
998
+ icon="cancel"
999
+ [svgIcon]="cancelIcon"
1000
+ (click)="actionSheet.toggle(false)">
1001
+ {{messageFor('externalEditingCancelText')}}
1002
+ </button>
1003
+ <button kendoButton
1004
+ themeColor="primary"
1005
+ size="large"
1006
+ icon="save"
1007
+ [svgIcon]="saveIcon"
1008
+ (click)="saveEditing()"
1009
+ [disabled]="!externalEditingSettings.formGroup.valid">
1010
+ {{messageFor('externalEditingSaveText')}}
1011
+ </button>
1012
+ </ng-template>
1013
+ </kendo-actionsheet-view>
1014
+
1015
+ <!-- groupToolbarTool view -->
1016
+ <kendo-actionsheet-view *ngIf="adaptiveGridService.viewType === 'groupToolbarTool'">
1017
+ <ng-template kendoActionSheetHeaderTemplate>
1018
+ <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
1019
+ </ng-container>
1020
+ </ng-template>
1021
+ <ng-template kendoActionSheetContentTemplate>
1022
+ <kendo-group-toolbar-tool [adaptive]="true"></kendo-group-toolbar-tool>
1023
+ </ng-template>
1024
+ <ng-template kendoActionSheetFooterTemplate>
1025
+ <button
1026
+ kendoButton
1027
+ size="large"
1028
+ fillMode="solid"
1029
+ icon="x"
1030
+ [svgIcon]="xIcon"
1031
+ (click)="clearGrouping()">
1032
+ {{messageFor('groupClearButton')}}
1033
+ </button>
1034
+ <button
1035
+ kendoButton
1036
+ size="large"
1037
+ fillMode="solid"
1038
+ icon="check"
1039
+ [svgIcon]="checkIcon"
1040
+ themeColor="primary"
1041
+ (click)="actionSheet.toggle(false)">
1042
+ {{messageFor('groupDoneButton')}}
1043
+ </button>
1044
+ </ng-template>
1045
+ </kendo-actionsheet-view>
1046
+ </kendo-actionsheet>
1047
+
1048
+ <ng-template #actionSheetHeaderTemplate>
1049
+ <div class="k-actionsheet-titlebar-group">
1050
+ <div *ngIf="adaptiveGridService.secondaryView" class="k-actionsheet-actions">
1051
+ <button
1052
+ kendoButton
1053
+ icon="chevron-left"
1054
+ [svgIcon]="chevronLeft"
1055
+ fillMode="flat"
1056
+ size="large"
1057
+ [title]="messageFor('adaptiveBackButtonTitle')"
1058
+ (click)="prevView()">
1059
+ </button>
1060
+ </div>
1061
+ <div class="k-actionsheet-title">
1062
+ <div *ngIf="hasTitle" class="k-text-center">
1063
+ {{actionSheetTitle}}
1064
+ </div>
1065
+ <div *ngIf="hasSubtitle"
1066
+ class="k-actionsheet-subtitle k-text-center">
1067
+ {{messageFor('columnsSubtitle')}}
1068
+ </div>
1069
+ </div>
1070
+ <div *ngIf="hasXCloseIcon" class="k-actionsheet-actions">
1071
+ <button
1072
+ kendoButton
1073
+ icon="x"
1074
+ [svgIcon]="xIcon"
1075
+ fillMode="flat"
1076
+ size="large"
1077
+ [title]="messageFor('adaptiveCloseButtonTitle')"
1078
+ (click)="close()">
1079
+ </button>
1080
+ </div>
1081
+ <div *ngIf="hasCheckCloseIcon" class="k-actionsheet-actions">
1082
+ <button
1083
+ kendoButton
1084
+ icon="check"
1085
+ [svgIcon]="checkIcon"
1086
+ fillMode="flat"
1087
+ size="large"
1088
+ themeColor="primary"
1089
+ [title]="messageFor('adaptiveCloseButtonTitle')"
1090
+ (click)="actionSheet.toggle(false)">
1091
+ </button>
1092
+ </div>
1093
+ </div>
1094
+ </ng-template>
1095
+
1096
+ <ng-template #actionSheetFooterTemplate>
1097
+ <button
1098
+ #resetButton
1099
+ kendoButton
1100
+ size="large"
1101
+ fillMode="solid"
1102
+ [svgIcon]="arrowRotateCcwIcon"
1103
+ icon="arrow-rotate-ccw"
1104
+ type="button"
1105
+ [kendoEventsOutsideAngular]="{click: cancelChanges,
1106
+ 'keydown.enter': cancelChanges,
1107
+ 'keydown.space': cancelChanges,
1108
+ 'keydown.tab': onTab
1109
+ }"
1110
+ [scope]="this">
1111
+ {{ messageFor('columnsReset') }}
1112
+ </button>
1113
+ <button
1114
+ #applyButton
1115
+ kendoButton
1116
+ type="button"
1117
+ [svgIcon]="checkIcon"
1118
+ icon="check"
1119
+ size="large"
1120
+ fillMode="solid"
1121
+ themeColor="primary"
1122
+ [kendoEventsOutsideAngular]="{click: applyChanges,
1123
+ 'keydown.enter': applyChanges,
1124
+ 'keydown.space': applyChanges
1125
+ }"
1126
+ [scope]="this">
1127
+ {{ messageFor('columnsApply') }}
1128
+ </button>
1129
+ </ng-template>
1130
+
1131
+ <ng-template #filterFooterButtons>
1132
+ <button
1133
+ kendoButton
1134
+ size="large"
1135
+ fillMode="solid"
1136
+ (click)="adaptiveGridService.resetFilter()">
1137
+ {{messageFor('filterClearButton')}}
1138
+ </button>
1139
+ <button
1140
+ kendoButton
1141
+ size="large"
1142
+ fillMode="solid"
1143
+ themeColor="primary"
1144
+ [disabled]="adaptiveGridService.filterMenuContainer.disabled"
1145
+ (click)="adaptiveGridService.submitFilter()">
1146
+ {{messageFor('filterFilterButton')}}
1147
+ </button>
1148
+ </ng-template>
1149
+ `,
1150
+ standalone: true,
1151
+ imports: [
1152
+ NgIf,
1153
+ NgFor,
1154
+ NgTemplateOutlet,
1155
+ ActionSheetComponent,
1156
+ ActionSheetViewComponent,
1157
+ FilterToolbarToolComponent,
1158
+ GroupToolbarToolComponent,
1159
+ ButtonDirective,
1160
+ ActionSheetHeaderTemplateDirective,
1161
+ ActionSheetContentTemplateDirective,
1162
+ ActionSheetFooterTemplateDirective,
1163
+ ButtonDirective,
1164
+ ColumnMenuContainerComponent,
1165
+ ColumnMenuFilterComponent,
1166
+ ColumnMenuSortComponent,
1167
+ ColumnMenuLockComponent,
1168
+ ColumnMenuStickComponent,
1169
+ ColumnMenuPositionComponent,
1170
+ ColumnMenuChooserComponent,
1171
+ ColumnMenuAutoSizeColumnComponent,
1172
+ ColumnMenuAutoSizeAllColumnsComponent,
1173
+ ColumnMenuItemComponent,
1174
+ ColumnMenuItemDirective,
1175
+ ColumnListComponent,
1176
+ FilterMenuContainerComponent,
1177
+ ColumnMenuLockComponent,
1178
+ EventsOutsideAngularDirective,
1179
+ FormComponent
1180
+ ]
1181
+ }]
1182
+ }], ctorParameters: function () { return [{ type: i1.ColumnMenuService }, { type: i2.AdaptiveGridService }, { type: i3.FilterService }, { type: i4.ContextService }, { type: i5.AdaptiveService }, { type: i6.SortService }, { type: i7.ColumnInfoService }]; }, propDecorators: { columnList: [{
1183
+ type: ViewChild,
1184
+ args: ['columnList', { static: false }]
1185
+ }], filterToolbarToolTemplate: [{
1186
+ type: ViewChild,
1187
+ args: ['filterToolbarToolTemplate', { read: ViewContainerRef, static: false }]
1188
+ }], filterMenuContainer: [{
1189
+ type: ViewChild,
1190
+ args: ['filterMenuContainer']
1191
+ }], actionSheet: [{
1192
+ type: ViewChild,
1193
+ args: [ActionSheetComponent]
1194
+ }], groupToolbarTool: [{
1195
+ type: ViewChild,
1196
+ args: [GroupToolbarToolComponent]
1197
+ }] } });