@progress/kendo-angular-grid 19.0.0-develop.17 → 19.0.0-develop.19

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 (69) hide show
  1. package/adaptiveness/adaptive-mode.d.ts +12 -0
  2. package/adaptiveness/adaptive-renderer.component.d.ts +84 -0
  3. package/column-menu/column-chooser.component.d.ts +4 -0
  4. package/column-menu/column-list.component.d.ts +9 -3
  5. package/column-menu/column-menu-item.component.d.ts +38 -2
  6. package/column-menu/column-menu-item.directive.d.ts +5 -2
  7. package/column-menu/column-menu.component.d.ts +4 -2
  8. package/common/adaptiveness.service.d.ts +50 -0
  9. package/common/single-popup.service.d.ts +3 -1
  10. package/directives.d.ts +1 -1
  11. package/editing-directives/external-editing.directive.d.ts +3 -1
  12. package/esm2022/adaptiveness/adaptive-mode.mjs +5 -0
  13. package/esm2022/adaptiveness/adaptive-renderer.component.mjs +1106 -0
  14. package/esm2022/column-menu/column-chooser.component.mjs +13 -11
  15. package/esm2022/column-menu/column-list.component.mjs +42 -8
  16. package/esm2022/column-menu/column-menu-autosize-all.component.mjs +1 -1
  17. package/esm2022/column-menu/column-menu-autosize.component.mjs +1 -1
  18. package/esm2022/column-menu/column-menu-chooser.component.mjs +1 -1
  19. package/esm2022/column-menu/column-menu-container.component.mjs +1 -1
  20. package/esm2022/column-menu/column-menu-filter.component.mjs +1 -1
  21. package/esm2022/column-menu/column-menu-item.component.mjs +106 -11
  22. package/esm2022/column-menu/column-menu-item.directive.mjs +14 -5
  23. package/esm2022/column-menu/column-menu-lock.component.mjs +1 -1
  24. package/esm2022/column-menu/column-menu-position.component.mjs +1 -1
  25. package/esm2022/column-menu/column-menu-sort.component.mjs +1 -1
  26. package/esm2022/column-menu/column-menu-stick.component.mjs +1 -1
  27. package/esm2022/column-menu/column-menu.component.mjs +68 -44
  28. package/esm2022/common/adaptiveness.service.mjs +72 -0
  29. package/esm2022/common/single-popup.service.mjs +9 -3
  30. package/esm2022/directives.mjs +1 -1
  31. package/esm2022/editing-directives/external-editing.directive.mjs +28 -14
  32. package/esm2022/filtering/menu/boolean-filter-menu.component.mjs +2 -2
  33. package/esm2022/filtering/menu/date-filter-menu-input.component.mjs +2 -0
  34. package/esm2022/filtering/menu/date-filter-menu.component.mjs +4 -0
  35. package/esm2022/filtering/menu/filter-menu-container.component.mjs +21 -10
  36. package/esm2022/filtering/menu/filter-menu-input-wrapper.component.mjs +24 -4
  37. package/esm2022/filtering/menu/filter-menu.component.mjs +44 -29
  38. package/esm2022/filtering/menu/numeric-filter-menu.component.mjs +4 -0
  39. package/esm2022/filtering/menu/string-filter-menu.component.mjs +4 -0
  40. package/esm2022/grid.component.mjs +143 -28
  41. package/esm2022/grid.module.mjs +1 -1
  42. package/esm2022/index.mjs +1 -1
  43. package/esm2022/localization/messages.mjs +62 -2
  44. package/esm2022/package-metadata.mjs +2 -2
  45. package/esm2022/{column-menu → rendering/toolbar/tools}/column-chooser-tool.directive.mjs +50 -9
  46. package/esm2022/rendering/toolbar/tools/filter-command-tool.directive.mjs +39 -26
  47. package/esm2022/rendering/toolbar/tools/filter-tool-wrapper.component.mjs +19 -7
  48. package/esm2022/rendering/toolbar/tools/filter-toolbar-tool.component.mjs +26 -4
  49. package/esm2022/rendering/toolbar/tools/sort-command-tool.directive.mjs +21 -8
  50. package/esm2022/rendering/toolbar/tools/sort-toolbar-tool.component.mjs +16 -3
  51. package/esm2022/utils.mjs +0 -13
  52. package/fesm2022/progress-kendo-angular-grid.mjs +2947 -1344
  53. package/filtering/menu/date-filter-menu-input.component.d.ts +1 -1
  54. package/filtering/menu/filter-menu-container.component.d.ts +14 -4
  55. package/filtering/menu/filter-menu-input-wrapper.component.d.ts +8 -3
  56. package/filtering/menu/filter-menu.component.d.ts +6 -3
  57. package/grid.component.d.ts +30 -3
  58. package/grid.module.d.ts +1 -1
  59. package/index.d.ts +1 -1
  60. package/localization/messages.d.ts +42 -2
  61. package/package.json +21 -20
  62. package/{column-menu → rendering/toolbar/tools}/column-chooser-tool.directive.d.ts +13 -3
  63. package/rendering/toolbar/tools/filter-command-tool.directive.d.ts +3 -1
  64. package/rendering/toolbar/tools/filter-tool-wrapper.component.d.ts +5 -5
  65. package/rendering/toolbar/tools/filter-toolbar-tool.component.d.ts +4 -1
  66. package/rendering/toolbar/tools/sort-command-tool.directive.d.ts +3 -1
  67. package/rendering/toolbar/tools/sort-toolbar-tool.component.d.ts +4 -0
  68. package/schematics/ngAdd/index.js +4 -4
  69. package/utils.d.ts +0 -4
@@ -70,6 +70,10 @@ export class ColumnChooserComponent {
70
70
  ngOnDestroy() {
71
71
  this.close();
72
72
  }
73
+ /**
74
+ * @hidden
75
+ */
76
+ messageFor = token => this.ctx.localization.get(token);
73
77
  /**
74
78
  * @hidden
75
79
  */
@@ -154,28 +158,27 @@ export class ColumnChooserComponent {
154
158
  type="button"
155
159
  (click)="toggle(anchor, template)"
156
160
  fillMode="flat"
157
- [attr.title]="ctx.localization.get('columns')"
161
+ [attr.title]="messageFor('columns')"
158
162
  icon="columns"
159
163
  [svgIcon]="columnsIcon"
160
164
  [attr.aria-haspopup]="'dialog'"
161
165
  [attr.aria-expanded]="!!(popupRef)"
162
166
  [attr.aria-controls]="!!(popupRef) ? popupId : undefined"></button>
163
167
  <ng-template #template>
164
- <span class='k-column-chooser-title'>{{ ctx.localization.get('columns') }}</span>
165
168
  <kendo-grid-columnlist
166
169
  #columnList
167
170
  [columns]="columns"
168
- [ariaLabel]="ctx.localization.get('columns')"
171
+ [ariaLabel]="messageFor('columns')"
169
172
  [isLast]="true"
170
- [applyText]="ctx.localization.get('columnsApply')"
171
- [resetText]="ctx.localization.get('columnsReset')"
173
+ [applyText]="messageFor('columnsApply')"
174
+ [resetText]="messageFor('columnsReset')"
172
175
  [autoSync]="autoSync"
173
176
  [allowHideAll]="allowHideAll"
174
177
  (apply)="onApply($event)"
175
178
  (columnChange)="onChange($event)">
176
179
  </kendo-grid-columnlist>
177
180
  </ng-template>
178
- `, isInline: true, dependencies: [{ kind: "component", type: ButtonComponent, 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: "component", type: ColumnListComponent, selector: "kendo-grid-columnlist", inputs: ["columns", "autoSync", "ariaLabel", "allowHideAll", "applyText", "resetText", "actionsClass", "isLast", "isExpanded", "service"], outputs: ["reset", "apply", "columnChange"] }] });
181
+ `, isInline: true, dependencies: [{ kind: "component", type: ButtonComponent, 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: "component", type: ColumnListComponent, selector: "kendo-grid-columnlist", inputs: ["columns", "showActions", "autoSync", "ariaLabel", "allowHideAll", "applyText", "resetText", "actionsClass", "isLast", "isExpanded", "service"], outputs: ["reset", "apply", "columnChange"] }] });
179
182
  }
180
183
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnChooserComponent, decorators: [{
181
184
  type: Component,
@@ -187,21 +190,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
187
190
  type="button"
188
191
  (click)="toggle(anchor, template)"
189
192
  fillMode="flat"
190
- [attr.title]="ctx.localization.get('columns')"
193
+ [attr.title]="messageFor('columns')"
191
194
  icon="columns"
192
195
  [svgIcon]="columnsIcon"
193
196
  [attr.aria-haspopup]="'dialog'"
194
197
  [attr.aria-expanded]="!!(popupRef)"
195
198
  [attr.aria-controls]="!!(popupRef) ? popupId : undefined"></button>
196
199
  <ng-template #template>
197
- <span class='k-column-chooser-title'>{{ ctx.localization.get('columns') }}</span>
198
200
  <kendo-grid-columnlist
199
201
  #columnList
200
202
  [columns]="columns"
201
- [ariaLabel]="ctx.localization.get('columns')"
203
+ [ariaLabel]="messageFor('columns')"
202
204
  [isLast]="true"
203
- [applyText]="ctx.localization.get('columnsApply')"
204
- [resetText]="ctx.localization.get('columnsReset')"
205
+ [applyText]="messageFor('columnsApply')"
206
+ [resetText]="messageFor('columnsReset')"
205
207
  [autoSync]="autoSync"
206
208
  [allowHideAll]="allowHideAll"
207
209
  (apply)="onApply($event)"
@@ -2,7 +2,7 @@
2
2
  * Copyright © 2025 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- import { Component, HostBinding, Input, ElementRef, NgZone, Renderer2, Output, EventEmitter, ViewChild, ViewChildren, QueryList } from '@angular/core';
5
+ import { Component, HostBinding, Input, ElementRef, NgZone, Renderer2, Output, EventEmitter, ViewChild, ViewChildren, QueryList, Optional } from '@angular/core';
6
6
  import { ColumnMenuService } from './column-menu.service';
7
7
  import { ColumnListKeyboardNavigation } from './column-list-kb-nav.service';
8
8
  import { ColumnMenuChooserItemCheckedDirective } from './column-chooser-item-checked.directive';
@@ -13,8 +13,12 @@ import { CheckBoxComponent } from '@progress/kendo-angular-inputs';
13
13
  import { take } from 'rxjs/operators';
14
14
  import { arrowRotateCcwIcon, checkIcon } from '@progress/kendo-svg-icons';
15
15
  import { ButtonDirective } from '@progress/kendo-angular-buttons';
16
+ import { ContextService } from '../common/provider.service';
17
+ import { AdaptiveGridService } from '../common/adaptiveness.service';
16
18
  import * as i0 from "@angular/core";
17
19
  import * as i1 from "./column-list-kb-nav.service";
20
+ import * as i2 from "../common/adaptiveness.service";
21
+ import * as i3 from "../common/provider.service";
18
22
  /**
19
23
  * @hidden
20
24
  */
@@ -23,9 +27,12 @@ export class ColumnListComponent {
23
27
  ngZone;
24
28
  renderer;
25
29
  listNavigationService;
30
+ adaptiveGridService;
31
+ ctx;
26
32
  checkIcon = checkIcon;
27
33
  arrowRotateCcwIcon = arrowRotateCcwIcon;
28
34
  className = true;
35
+ listSize = true;
29
36
  reset = new EventEmitter();
30
37
  apply = new EventEmitter();
31
38
  columnChange = new EventEmitter();
@@ -37,6 +44,7 @@ export class ColumnListComponent {
37
44
  get columns() {
38
45
  return this._columns;
39
46
  }
47
+ showActions = true;
40
48
  autoSync = true;
41
49
  ariaLabel;
42
50
  allowHideAll = false;
@@ -58,11 +66,13 @@ export class ColumnListComponent {
58
66
  _columns;
59
67
  allColumns;
60
68
  domSubscriptions = new Subscription();
61
- constructor(element, ngZone, renderer, listNavigationService) {
69
+ constructor(element, ngZone, renderer, listNavigationService, adaptiveGridService, ctx) {
62
70
  this.element = element;
63
71
  this.ngZone = ngZone;
64
72
  this.renderer = renderer;
65
73
  this.listNavigationService = listNavigationService;
74
+ this.adaptiveGridService = adaptiveGridService;
75
+ this.ctx = ctx;
66
76
  }
67
77
  ngOnInit() {
68
78
  if (!this.element) {
@@ -81,9 +91,16 @@ export class ColumnListComponent {
81
91
  ngAfterViewInit() {
82
92
  this.ngZone.onStable.pipe(take(1)).subscribe(() => {
83
93
  this.listNavigationService.items = this.options.toArray();
84
- this.listNavigationService.toggle(0, true);
94
+ if (!this.ctx) {
95
+ this.listNavigationService.toggle(0, true);
96
+ }
85
97
  this.updateDisabled();
86
98
  });
99
+ if (this.ctx?.grid?.isActionSheetExpanded) {
100
+ this.domSubscriptions.add(this.adaptiveGridService.animationEnd.subscribe(() => {
101
+ this.listNavigationService.toggle(0, true);
102
+ }));
103
+ }
87
104
  }
88
105
  ngOnChanges(changes) {
89
106
  if (!this.service) {
@@ -251,8 +268,8 @@ export class ColumnListComponent {
251
268
  }
252
269
  }
253
270
  };
254
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnListComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i1.ColumnListKeyboardNavigation }], target: i0.ɵɵFactoryTarget.Component });
255
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ColumnListComponent, isStandalone: true, selector: "kendo-grid-columnlist", inputs: { columns: "columns", autoSync: "autoSync", ariaLabel: "ariaLabel", allowHideAll: "allowHideAll", applyText: "applyText", resetText: "resetText", actionsClass: "actionsClass", isLast: "isLast", isExpanded: "isExpanded", service: "service" }, outputs: { reset: "reset", apply: "apply", columnChange: "columnChange" }, host: { properties: { "class.k-column-list-wrapper": "this.className" } }, providers: [ColumnListKeyboardNavigation], viewQueries: [{ propertyName: "resetButton", first: true, predicate: ["resetButton"], descendants: true }, { propertyName: "applyButton", first: true, predicate: ["applyButton"], descendants: true }, { propertyName: "options", predicate: ColumnMenuChooserItemCheckedDirective, descendants: true }, { propertyName: "checkboxes", predicate: CheckBoxComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
271
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnListComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i1.ColumnListKeyboardNavigation }, { token: i2.AdaptiveGridService, optional: true }, { token: i3.ContextService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
272
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ColumnListComponent, isStandalone: true, selector: "kendo-grid-columnlist", inputs: { columns: "columns", showActions: "showActions", autoSync: "autoSync", ariaLabel: "ariaLabel", allowHideAll: "allowHideAll", applyText: "applyText", resetText: "resetText", actionsClass: "actionsClass", isLast: "isLast", isExpanded: "isExpanded", service: "service" }, outputs: { reset: "reset", apply: "apply", columnChange: "columnChange" }, host: { properties: { "class.k-column-list-wrapper": "this.className", "class.k-column-list-md": "this.listSize" } }, providers: [ColumnListKeyboardNavigation], viewQueries: [{ propertyName: "resetButton", first: true, predicate: ["resetButton"], descendants: true }, { propertyName: "applyButton", first: true, predicate: ["applyButton"], descendants: true }, { propertyName: "options", predicate: ColumnMenuChooserItemCheckedDirective, descendants: true }, { propertyName: "checkboxes", predicate: CheckBoxComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
256
273
  <div
257
274
  class="k-column-list"
258
275
  role="listbox"
@@ -272,11 +289,13 @@ export class ColumnListComponent {
272
289
  <span class="k-checkbox-label">{{ column.displayTitle }}</span>
273
290
  </label>
274
291
  </div>
275
- <div [ngClass]="actionsClass" *ngIf="!autoSync">
292
+ <div [ngClass]="actionsClass" *ngIf="!autoSync && showActions">
276
293
  <button
277
294
  #applyButton
278
295
  kendoButton
279
296
  type="button"
297
+ icon="check"
298
+ [svgIcon]="checkIcon"
280
299
  themeColor="primary"
281
300
  (click)="applyChanges()"
282
301
  (keydown.enter)="$event.preventDefault(); $event.stopPropagation(); applyChanges();"
@@ -285,6 +304,8 @@ export class ColumnListComponent {
285
304
  #resetButton
286
305
  kendoButton
287
306
  type="button"
307
+ icon="reset"
308
+ [svgIcon]="arrowRotateCcwIcon"
288
309
  (keydown.tab)="onTab($event)"
289
310
  (click)="cancelChanges()"
290
311
  (keydown.enter)="$event.preventDefault(); $event.stopPropagation(); cancelChanges();"
@@ -317,11 +338,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
317
338
  <span class="k-checkbox-label">{{ column.displayTitle }}</span>
318
339
  </label>
319
340
  </div>
320
- <div [ngClass]="actionsClass" *ngIf="!autoSync">
341
+ <div [ngClass]="actionsClass" *ngIf="!autoSync && showActions">
321
342
  <button
322
343
  #applyButton
323
344
  kendoButton
324
345
  type="button"
346
+ icon="check"
347
+ [svgIcon]="checkIcon"
325
348
  themeColor="primary"
326
349
  (click)="applyChanges()"
327
350
  (keydown.enter)="$event.preventDefault(); $event.stopPropagation(); applyChanges();"
@@ -330,6 +353,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
330
353
  #resetButton
331
354
  kendoButton
332
355
  type="button"
356
+ icon="reset"
357
+ [svgIcon]="arrowRotateCcwIcon"
333
358
  (keydown.tab)="onTab($event)"
334
359
  (click)="cancelChanges()"
335
360
  (keydown.enter)="$event.preventDefault(); $event.stopPropagation(); cancelChanges();"
@@ -339,9 +364,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
339
364
  standalone: true,
340
365
  imports: [NgFor, ColumnMenuChooserItemCheckedDirective, NgIf, NgClass, CheckBoxComponent, ButtonDirective]
341
366
  }]
342
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i1.ColumnListKeyboardNavigation }]; }, propDecorators: { className: [{
367
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i1.ColumnListKeyboardNavigation }, { type: i2.AdaptiveGridService, decorators: [{
368
+ type: Optional
369
+ }] }, { type: i3.ContextService, decorators: [{
370
+ type: Optional
371
+ }] }]; }, propDecorators: { className: [{
343
372
  type: HostBinding,
344
373
  args: ["class.k-column-list-wrapper"]
374
+ }], listSize: [{
375
+ type: HostBinding,
376
+ args: ["class.k-column-list-md"]
345
377
  }], reset: [{
346
378
  type: Output
347
379
  }], apply: [{
@@ -350,6 +382,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
350
382
  type: Output
351
383
  }], columns: [{
352
384
  type: Input
385
+ }], showActions: [{
386
+ type: Input
353
387
  }], autoSync: [{
354
388
  type: Input
355
389
  }], ariaLabel: [{
@@ -58,7 +58,7 @@ export class ColumnMenuAutoSizeAllColumnsComponent extends ColumnMenuItemBase {
58
58
  [svgIcon]="displayInlineFlexIcon"
59
59
  (itemClick)="autoSizeAllColumns()"
60
60
  ></kendo-grid-columnmenu-item>
61
- `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "disabled", "expanded", "service"], outputs: ["itemClick", "expand", "collapse"] }] });
61
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "disabled", "expanded", "service", "column"], outputs: ["itemClick", "expand", "collapse"] }] });
62
62
  }
63
63
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnMenuAutoSizeAllColumnsComponent, decorators: [{
64
64
  type: Component,
@@ -64,7 +64,7 @@ export class ColumnMenuAutoSizeColumnComponent extends ColumnMenuItemBase {
64
64
  [svgIcon]="maxWidthIcon"
65
65
  (itemClick)="autoSizeColumn()"
66
66
  ></kendo-grid-columnmenu-item>
67
- `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "disabled", "expanded", "service"], outputs: ["itemClick", "expand", "collapse"] }] });
67
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "disabled", "expanded", "service", "column"], outputs: ["itemClick", "expand", "collapse"] }] });
68
68
  }
69
69
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnMenuAutoSizeColumnComponent, decorators: [{
70
70
  type: Component,
@@ -118,7 +118,7 @@ export class ColumnMenuChooserComponent extends ColumnMenuItemBase {
118
118
  </kendo-grid-columnlist>
119
119
  </ng-template>
120
120
  </kendo-grid-columnmenu-item>
121
- `, isInline: true, dependencies: [{ kind: "component", type: ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "disabled", "expanded", "service"], outputs: ["itemClick", "expand", "collapse"] }, { kind: "directive", type: ColumnMenuItemContentTemplateDirective, selector: "[kendoGridColumnMenuItemContentTemplate]" }, { kind: "component", type: ColumnListComponent, selector: "kendo-grid-columnlist", inputs: ["columns", "autoSync", "ariaLabel", "allowHideAll", "applyText", "resetText", "actionsClass", "isLast", "isExpanded", "service"], outputs: ["reset", "apply", "columnChange"] }] });
121
+ `, isInline: true, dependencies: [{ kind: "component", type: ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "disabled", "expanded", "service", "column"], outputs: ["itemClick", "expand", "collapse"] }, { kind: "directive", type: ColumnMenuItemContentTemplateDirective, selector: "[kendoGridColumnMenuItemContentTemplate]" }, { kind: "component", type: ColumnListComponent, selector: "kendo-grid-columnlist", inputs: ["columns", "showActions", "autoSync", "ariaLabel", "allowHideAll", "applyText", "resetText", "actionsClass", "isLast", "isExpanded", "service"], outputs: ["reset", "apply", "columnChange"] }] });
122
122
  }
123
123
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnMenuChooserComponent, decorators: [{
124
124
  type: Component,
@@ -33,7 +33,7 @@ export class ColumnMenuContainerComponent {
33
33
  else {
34
34
  return;
35
35
  }
36
- this.ngZone.onStable.pipe(take(1)).subscribe(() => this.service.menuTabbingService.firstFocusable.focus());
36
+ this.ngZone.onStable.pipe(take(1)).subscribe(() => this.service.menuTabbingService.firstFocusable?.focus());
37
37
  }
38
38
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnMenuContainerComponent, deps: [{ token: i1.ColumnMenuService }, { token: NgZone }], target: i0.ɵɵFactoryTarget.Component });
39
39
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ColumnMenuContainerComponent, isStandalone: true, selector: "kendo-grid-columnmenu-container", queries: [{ propertyName: "columnMenuItems", predicate: ColumnMenuItemDirective, descendants: true }], ngImport: i0, template: `
@@ -97,7 +97,7 @@ export class ColumnMenuFilterComponent extends ColumnMenuItemBase {
97
97
  </kendo-grid-filter-menu-container>
98
98
  </ng-template>
99
99
  </kendo-grid-columnmenu-item>
100
- `, isInline: true, dependencies: [{ kind: "component", type: ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "disabled", "expanded", "service"], outputs: ["itemClick", "expand", "collapse"] }, { kind: "directive", type: ColumnMenuItemContentTemplateDirective, selector: "[kendoGridColumnMenuItemContentTemplate]" }, { kind: "component", type: FilterMenuContainerComponent, selector: "kendo-grid-filter-menu-container", inputs: ["column", "isLast", "isExpanded", "menuTabbingService", "filter", "actionsClass"], outputs: ["close"] }] });
100
+ `, isInline: true, dependencies: [{ kind: "component", type: ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "disabled", "expanded", "service", "column"], outputs: ["itemClick", "expand", "collapse"] }, { kind: "directive", type: ColumnMenuItemContentTemplateDirective, selector: "[kendoGridColumnMenuItemContentTemplate]" }, { kind: "component", type: FilterMenuContainerComponent, selector: "kendo-grid-filter-menu-container", inputs: ["column", "isLast", "isExpanded", "menuTabbingService", "filter", "actionsClass"], outputs: ["close"] }] });
101
101
  }
102
102
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnMenuFilterComponent, decorators: [{
103
103
  type: Component,
@@ -5,13 +5,21 @@
5
5
  import { Component, Input, Output, EventEmitter, ContentChild, NgZone } from '@angular/core';
6
6
  import { trigger, transition, style, animate, state } from '@angular/animations';
7
7
  import { ColumnMenuItemContentTemplateDirective } from './column-menu-item-content-template.directive';
8
- import { chevronDownIcon, chevronUpIcon } from '@progress/kendo-svg-icons';
8
+ import { chevronDownIcon, chevronRightIcon, chevronUpIcon, filterIcon, sortAscSmallIcon, sortDescSmallIcon } from '@progress/kendo-svg-icons';
9
9
  import { guid } from '@progress/kendo-angular-common';
10
10
  import { ColumnMenuService } from './column-menu.service';
11
11
  import { NgIf, NgTemplateOutlet } from '@angular/common';
12
12
  import { IconWrapperComponent } from '@progress/kendo-angular-icons';
13
13
  import { take } from 'rxjs/operators';
14
+ import { ContextService } from '../common/provider.service';
15
+ import { filtersByField } from '../filtering/base-filter-cell.component';
16
+ import { AdaptiveGridService } from '../common/adaptiveness.service';
17
+ import { ColumnComponent } from '../columns/column.component';
18
+ import { normalize } from '../columns/sort-settings';
19
+ import { isPresent } from '../utils';
14
20
  import * as i0 from "@angular/core";
21
+ import * as i1 from "../common/provider.service";
22
+ import * as i2 from "../common/adaptiveness.service";
15
23
  /**
16
24
  * Represents an item that can be placed inside a
17
25
  * [ColumnMenuTemplate]({% slug api_grid_columnmenutemplatedirective %}) directive.
@@ -27,6 +35,16 @@ import * as i0 from "@angular/core";
27
35
  */
28
36
  export class ColumnMenuItemComponent {
29
37
  ngZone;
38
+ ctx;
39
+ adaptiveGridService;
40
+ /**
41
+ * @hidden
42
+ */
43
+ sortAscSmallIcon = sortAscSmallIcon;
44
+ /**
45
+ * @hidden
46
+ */
47
+ sortDescSmallIcon = sortDescSmallIcon;
30
48
  /**
31
49
  * Fires when the item is clicked.
32
50
  */
@@ -69,19 +87,39 @@ export class ColumnMenuItemComponent {
69
87
  * Required to include the item in the column menu keyboard navigation sequence.
70
88
  */
71
89
  service;
90
+ /**
91
+ * @hidden
92
+ */
93
+ column;
72
94
  contentTemplate;
73
95
  contentState = 'collapsed';
74
96
  contentId;
75
97
  chevronUpIcon = chevronUpIcon;
76
98
  chevronDownIcon = chevronDownIcon;
99
+ chevronRightIcon = chevronRightIcon;
100
+ filterIcon = filterIcon;
101
+ /**
102
+ * @hidden
103
+ */
104
+ get hasFilters() {
105
+ return filtersByField(this.ctx.grid.filter, this.column.field).length > 0;
106
+ }
77
107
  get expandedIcon() {
108
+ if (this.ctx.grid.isActionSheetExpanded) {
109
+ return 'arrow-chevron-right';
110
+ }
78
111
  return this.expanded ? 'arrow-chevron-up' : 'arrow-chevron-down';
79
112
  }
80
113
  get expandedSvgIcon() {
114
+ if (this.ctx.grid.isActionSheetExpanded) {
115
+ return this.chevronRightIcon;
116
+ }
81
117
  return this.expanded ? this.chevronUpIcon : this.chevronDownIcon;
82
118
  }
83
- constructor(ngZone) {
119
+ constructor(ngZone, ctx, adaptiveGridService) {
84
120
  this.ngZone = ngZone;
121
+ this.ctx = ctx;
122
+ this.adaptiveGridService = adaptiveGridService;
85
123
  }
86
124
  ngAfterViewInit() {
87
125
  this.ngZone.onStable.pipe(take(1)).subscribe(() => {
@@ -93,14 +131,41 @@ export class ColumnMenuItemComponent {
93
131
  this.updateContentState();
94
132
  }
95
133
  }
134
+ /**
135
+ * @hidden
136
+ */
137
+ sortDescriptor(field) {
138
+ return this.ctx.grid.sort.find(item => item.field === field) || { field };
139
+ }
140
+ /**
141
+ * @hidden
142
+ */
143
+ showSortNumbering(column) {
144
+ const { showIndexes } = normalize(this.ctx.grid.sortable);
145
+ return showIndexes
146
+ && this.ctx.grid.sort
147
+ && this.ctx.grid.sort.filter(({ dir }) => isPresent(dir)).length > 1
148
+ && this.sortOrder(column.field) > 0;
149
+ }
150
+ /**
151
+ * @hidden
152
+ */
153
+ sortOrder(field) {
154
+ return this.ctx.grid.sort
155
+ .filter(({ dir }) => isPresent(dir))
156
+ .findIndex(x => x.field === field)
157
+ + 1;
158
+ }
96
159
  /**
97
160
  * @hidden
98
161
  */
99
162
  onClick(e) {
100
163
  this.itemClick.emit(e);
101
164
  if (this.contentTemplate) {
102
- this.expanded = !this.expanded;
103
- this.updateContentState();
165
+ if (!this.ctx.grid.isActionSheetExpanded) {
166
+ this.expanded = !this.expanded;
167
+ this.updateContentState();
168
+ }
104
169
  if (this.expanded) {
105
170
  this.expand.emit();
106
171
  }
@@ -112,8 +177,8 @@ export class ColumnMenuItemComponent {
112
177
  updateContentState() {
113
178
  this.contentState = this.expanded ? 'expanded' : 'collapsed';
114
179
  }
115
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnMenuItemComponent, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
116
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ColumnMenuItemComponent, isStandalone: true, selector: "kendo-grid-columnmenu-item", inputs: { icon: "icon", svgIcon: "svgIcon", text: "text", selected: "selected", disabled: "disabled", expanded: "expanded", service: "service" }, outputs: { itemClick: "itemClick", expand: "expand", collapse: "collapse" }, queries: [{ propertyName: "contentTemplate", first: true, predicate: ColumnMenuItemContentTemplateDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
180
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnMenuItemComponent, deps: [{ token: i0.NgZone }, { token: i1.ContextService }, { token: i2.AdaptiveGridService }], target: i0.ɵɵFactoryTarget.Component });
181
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ColumnMenuItemComponent, isStandalone: true, selector: "kendo-grid-columnmenu-item", inputs: { icon: "icon", svgIcon: "svgIcon", text: "text", selected: "selected", disabled: "disabled", expanded: "expanded", service: "service", column: "column" }, outputs: { itemClick: "itemClick", expand: "expand", collapse: "collapse" }, queries: [{ propertyName: "contentTemplate", first: true, predicate: ColumnMenuItemContentTemplateDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
117
182
  <div *ngIf="contentTemplate; else content" class="k-expander">
118
183
  <ng-container [ngTemplateOutlet]="content"></ng-container>
119
184
  </div>
@@ -133,8 +198,22 @@ export class ColumnMenuItemComponent {
133
198
  [name]="icon"
134
199
  [svgIcon]="svgIcon"></kendo-icon-wrapper>
135
200
  {{ text }}
136
- <span *ngIf="contentTemplate" class="k-spacer"></span>
137
- <span *ngIf="contentTemplate" class="k-expander-indicator">
201
+ <span *ngIf="ctx.grid.isActionSheetExpanded && adaptiveGridService.viewType === 'sortToolbarTool' && sortDescriptor(column.field).dir"
202
+ class="k-columnmenu-indicators">
203
+ <kendo-icon-wrapper
204
+ [name]="sortDescriptor(column.field).dir === 'asc' ? 'sort-asc-small' : 'sort-desc-small'"
205
+ [svgIcon]="sortDescriptor(column.field).dir === 'asc' ? sortAscSmallIcon : sortDescSmallIcon">
206
+ </kendo-icon-wrapper>
207
+ <span *ngIf="showSortNumbering(column)" class="k-sort-index">{{sortOrder(column.field)}}</span>
208
+ </span>
209
+ <kendo-icon-wrapper
210
+ *ngIf="ctx.grid.isActionSheetExpanded && adaptiveGridService.viewType === 'filterToolbarTool' && hasFilters"
211
+ class="k-columnmenu-indicators"
212
+ name="filter"
213
+ [svgIcon]="filterIcon">
214
+ </kendo-icon-wrapper>
215
+ <span *ngIf="contentTemplate && adaptiveGridService.viewType !== 'sortToolbarTool'" class="k-spacer"></span>
216
+ <span *ngIf="contentTemplate && adaptiveGridService.viewType !== 'sortToolbarTool'" class="k-expander-indicator">
138
217
  <kendo-icon-wrapper
139
218
  [name]="expandedIcon"
140
219
  [svgIcon]="expandedSvgIcon">
@@ -217,8 +296,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
217
296
  [name]="icon"
218
297
  [svgIcon]="svgIcon"></kendo-icon-wrapper>
219
298
  {{ text }}
220
- <span *ngIf="contentTemplate" class="k-spacer"></span>
221
- <span *ngIf="contentTemplate" class="k-expander-indicator">
299
+ <span *ngIf="ctx.grid.isActionSheetExpanded && adaptiveGridService.viewType === 'sortToolbarTool' && sortDescriptor(column.field).dir"
300
+ class="k-columnmenu-indicators">
301
+ <kendo-icon-wrapper
302
+ [name]="sortDescriptor(column.field).dir === 'asc' ? 'sort-asc-small' : 'sort-desc-small'"
303
+ [svgIcon]="sortDescriptor(column.field).dir === 'asc' ? sortAscSmallIcon : sortDescSmallIcon">
304
+ </kendo-icon-wrapper>
305
+ <span *ngIf="showSortNumbering(column)" class="k-sort-index">{{sortOrder(column.field)}}</span>
306
+ </span>
307
+ <kendo-icon-wrapper
308
+ *ngIf="ctx.grid.isActionSheetExpanded && adaptiveGridService.viewType === 'filterToolbarTool' && hasFilters"
309
+ class="k-columnmenu-indicators"
310
+ name="filter"
311
+ [svgIcon]="filterIcon">
312
+ </kendo-icon-wrapper>
313
+ <span *ngIf="contentTemplate && adaptiveGridService.viewType !== 'sortToolbarTool'" class="k-spacer"></span>
314
+ <span *ngIf="contentTemplate && adaptiveGridService.viewType !== 'sortToolbarTool'" class="k-expander-indicator">
222
315
  <kendo-icon-wrapper
223
316
  [name]="expandedIcon"
224
317
  [svgIcon]="expandedSvgIcon">
@@ -234,7 +327,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
234
327
  standalone: true,
235
328
  imports: [IconWrapperComponent, NgIf, NgTemplateOutlet]
236
329
  }]
237
- }], ctorParameters: function () { return [{ type: i0.NgZone }]; }, propDecorators: { itemClick: [{
330
+ }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1.ContextService }, { type: i2.AdaptiveGridService }]; }, propDecorators: { itemClick: [{
238
331
  type: Output
239
332
  }], expand: [{
240
333
  type: Output
@@ -254,6 +347,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
254
347
  type: Input
255
348
  }], service: [{
256
349
  type: Input
350
+ }], column: [{
351
+ type: Input
257
352
  }], contentTemplate: [{
258
353
  type: ContentChild,
259
354
  args: [ColumnMenuItemContentTemplateDirective]
@@ -2,17 +2,21 @@
2
2
  * Copyright © 2025 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- import { Directive, ElementRef, Input, NgZone, Renderer2 } from '@angular/core';
5
+ import { ChangeDetectorRef, Directive, ElementRef, Input, NgZone, Renderer2 } from '@angular/core';
6
6
  import { Subscription } from 'rxjs';
7
7
  import { Keys } from '@progress/kendo-angular-common';
8
8
  import { ColumnMenuPositionComponent } from './column-menu-position.component';
9
9
  import { ColumnMenuChooserComponent } from './column-menu-chooser.component';
10
10
  import { ColumnMenuFilterComponent } from './column-menu-filter.component';
11
+ import { ContextService } from '../common/provider.service';
11
12
  import * as i0 from "@angular/core";
13
+ import * as i1 from "../common/provider.service";
12
14
  export class ColumnMenuItemDirective {
13
15
  hostElement;
14
16
  renderer;
15
17
  ngZone;
18
+ cdr;
19
+ ctx;
16
20
  /**
17
21
  * The reference to the Grid column menu item. Required to include the item in the built-in keyboard navigation.
18
22
  */
@@ -55,6 +59,9 @@ export class ColumnMenuItemDirective {
55
59
  });
56
60
  if (this.isExpandableItem()) {
57
61
  this.menuItemComponent.isLast = true;
62
+ if (this.ctx.grid.isActionSheetExpanded) {
63
+ this.cdr.detectChanges();
64
+ }
58
65
  }
59
66
  }
60
67
  this._isLast = value;
@@ -69,10 +76,12 @@ export class ColumnMenuItemDirective {
69
76
  _isLast = false;
70
77
  columnMenuItems;
71
78
  subs = new Subscription();
72
- constructor(hostElement, renderer, ngZone) {
79
+ constructor(hostElement, renderer, ngZone, cdr, ctx) {
73
80
  this.hostElement = hostElement;
74
81
  this.renderer = renderer;
75
82
  this.ngZone = ngZone;
83
+ this.cdr = cdr;
84
+ this.ctx = ctx;
76
85
  }
77
86
  ngAfterViewInit() {
78
87
  this.columnMenuItems = this.hostElement.nativeElement.querySelectorAll('.k-columnmenu-item');
@@ -80,7 +89,7 @@ export class ColumnMenuItemDirective {
80
89
  if (this.menuItemComponent instanceof ColumnMenuFilterComponent) {
81
90
  this.menuItemComponent.service.menuTabbingService.isColumnMenu = true;
82
91
  }
83
- this.menuItemComponent.service?.columnMenuContainer.templateMenuItems.push(this);
92
+ this.menuItemComponent.service?.columnMenuContainer?.templateMenuItems.push(this);
84
93
  }
85
94
  ngOnDestroy() {
86
95
  if (this.subs) {
@@ -112,7 +121,7 @@ export class ColumnMenuItemDirective {
112
121
  this.menuItemComponent instanceof ColumnMenuChooserComponent ||
113
122
  this.menuItemComponent instanceof ColumnMenuPositionComponent;
114
123
  }
115
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnMenuItemDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
124
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnMenuItemDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i1.ContextService }], target: i0.ɵɵFactoryTarget.Directive });
116
125
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ColumnMenuItemDirective, isStandalone: true, selector: "[kendoGridColumnMenuItem]", inputs: { menuItemComponent: ["kendoGridColumnMenuItem", "menuItemComponent"] }, ngImport: i0 });
117
126
  }
118
127
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnMenuItemDirective, decorators: [{
@@ -121,7 +130,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
121
130
  selector: '[kendoGridColumnMenuItem]',
122
131
  standalone: true
123
132
  }]
124
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.NgZone }]; }, propDecorators: { menuItemComponent: [{
133
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i1.ContextService }]; }, propDecorators: { menuItemComponent: [{
125
134
  type: Input,
126
135
  args: ['kendoGridColumnMenuItem']
127
136
  }] } });
@@ -89,7 +89,7 @@ export class ColumnMenuLockComponent extends ColumnMenuItemBase {
89
89
  (itemClick)="toggleColumn()"
90
90
  [disabled]="disabled">
91
91
  </kendo-grid-columnmenu-item>
92
- `, isInline: true, dependencies: [{ kind: "component", type: ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "disabled", "expanded", "service"], outputs: ["itemClick", "expand", "collapse"] }] });
92
+ `, isInline: true, dependencies: [{ kind: "component", type: ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "disabled", "expanded", "service", "column"], outputs: ["itemClick", "expand", "collapse"] }] });
93
93
  }
94
94
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnMenuLockComponent, decorators: [{
95
95
  type: Component,
@@ -138,7 +138,7 @@ export class ColumnMenuPositionComponent extends ColumnMenuItemBase {
138
138
  </kendo-grid-columnmenu-stick>
139
139
  </ng-template>
140
140
  </kendo-grid-columnmenu-item>
141
- `, isInline: true, dependencies: [{ kind: "component", type: ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "disabled", "expanded", "service"], outputs: ["itemClick", "expand", "collapse"] }, { kind: "directive", type: ColumnMenuItemContentTemplateDirective, selector: "[kendoGridColumnMenuItemContentTemplate]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ColumnMenuLockComponent, selector: "kendo-grid-columnmenu-lock" }, { kind: "component", type: ColumnMenuStickComponent, selector: "kendo-grid-columnmenu-stick" }] });
141
+ `, isInline: true, dependencies: [{ kind: "component", type: ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "disabled", "expanded", "service", "column"], outputs: ["itemClick", "expand", "collapse"] }, { kind: "directive", type: ColumnMenuItemContentTemplateDirective, selector: "[kendoGridColumnMenuItemContentTemplate]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ColumnMenuLockComponent, selector: "kendo-grid-columnmenu-lock" }, { kind: "component", type: ColumnMenuStickComponent, selector: "kendo-grid-columnmenu-stick" }] });
142
142
  }
143
143
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnMenuPositionComponent, decorators: [{
144
144
  type: Component,
@@ -91,7 +91,7 @@ export class ColumnMenuSortComponent extends ColumnMenuItemBase {
91
91
  (itemClick)="toggleSort('desc')"
92
92
  [selected]="sortedDesc">
93
93
  </kendo-grid-columnmenu-item>
94
- `, isInline: true, dependencies: [{ kind: "component", type: ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "disabled", "expanded", "service"], outputs: ["itemClick", "expand", "collapse"] }] });
94
+ `, isInline: true, dependencies: [{ kind: "component", type: ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "disabled", "expanded", "service", "column"], outputs: ["itemClick", "expand", "collapse"] }] });
95
95
  }
96
96
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnMenuSortComponent, decorators: [{
97
97
  type: Component,
@@ -91,7 +91,7 @@ export class ColumnMenuStickComponent extends ColumnMenuItemBase {
91
91
  (itemClick)="toggleColumn()"
92
92
  [disabled]="disabled">
93
93
  </kendo-grid-columnmenu-item>
94
- `, isInline: true, dependencies: [{ kind: "component", type: ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "disabled", "expanded", "service"], outputs: ["itemClick", "expand", "collapse"] }] });
94
+ `, isInline: true, dependencies: [{ kind: "component", type: ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "disabled", "expanded", "service", "column"], outputs: ["itemClick", "expand", "collapse"] }] });
95
95
  }
96
96
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnMenuStickComponent, decorators: [{
97
97
  type: Component,