@progress/kendo-angular-grid 13.0.0-develop.2 → 13.0.0-develop.21

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 (75) hide show
  1. package/aggregates/aggregate-types.d.ts +58 -0
  2. package/aggregates/status-bar-template.directive.d.ts +19 -0
  3. package/aggregates/status-bar.component.d.ts +53 -0
  4. package/column-menu/column-chooser.component.d.ts +1 -1
  5. package/column-menu/column-menu-autosize-all.component.d.ts +3 -4
  6. package/column-menu/column-menu-chooser.component.d.ts +3 -4
  7. package/column-menu/column-menu-filter.component.d.ts +3 -4
  8. package/column-menu/column-menu-lock.component.d.ts +3 -4
  9. package/column-menu/column-menu-position.component.d.ts +3 -4
  10. package/column-menu/column-menu-sort.component.d.ts +4 -2
  11. package/esm2020/aggregates/aggregate-types.mjs +6 -0
  12. package/esm2020/aggregates/status-bar-template.directive.mjs +26 -0
  13. package/esm2020/aggregates/status-bar.component.mjs +236 -0
  14. package/esm2020/column-menu/column-chooser.component.mjs +1 -1
  15. package/esm2020/column-menu/column-list.component.mjs +3 -3
  16. package/esm2020/column-menu/column-menu-autosize-all.component.mjs +3 -4
  17. package/esm2020/column-menu/column-menu-chooser.component.mjs +4 -5
  18. package/esm2020/column-menu/column-menu-filter.component.mjs +4 -5
  19. package/esm2020/column-menu/column-menu-item.component.mjs +1 -1
  20. package/esm2020/column-menu/column-menu-lock.component.mjs +3 -4
  21. package/esm2020/column-menu/column-menu-position.component.mjs +3 -4
  22. package/esm2020/column-menu/column-menu-sort.component.mjs +4 -2
  23. package/esm2020/column-menu/column-menu.component.mjs +1 -1
  24. package/esm2020/editing/add-command.directive.mjs +1 -1
  25. package/esm2020/editing/cancel-command.directive.mjs +1 -1
  26. package/esm2020/editing/edit-command.directive.mjs +1 -1
  27. package/esm2020/editing/remove-command.directive.mjs +1 -1
  28. package/esm2020/editing/save-command.directive.mjs +1 -1
  29. package/esm2020/excel/excel-command.directive.mjs +1 -1
  30. package/esm2020/filtering/cell/boolean-filter-cell.component.mjs +1 -1
  31. package/esm2020/filtering/cell/filter-cell-operators.component.mjs +15 -1
  32. package/esm2020/filtering/cell/filter-cell-wrapper.component.mjs +3 -1
  33. package/esm2020/filtering/cell/string-filter-cell.component.mjs +1 -1
  34. package/esm2020/filtering/filter-input.directive.mjs +5 -1
  35. package/esm2020/filtering/menu/filter-menu-container.component.mjs +11 -11
  36. package/esm2020/filtering/menu/filter-menu.component.mjs +1 -1
  37. package/esm2020/grid.component.mjs +574 -540
  38. package/esm2020/grid.module.mjs +10 -2
  39. package/esm2020/grouping/group-header.component.mjs +25 -8
  40. package/esm2020/grouping/group-panel.component.mjs +2 -2
  41. package/esm2020/index.mjs +1 -0
  42. package/esm2020/localization/messages.mjs +5 -1
  43. package/esm2020/package-metadata.mjs +2 -2
  44. package/esm2020/pager/pager-element.component.mjs +17 -0
  45. package/esm2020/pager/pager-next-buttons.component.mjs +8 -11
  46. package/esm2020/pager/pager-page-sizes.component.mjs +1 -1
  47. package/esm2020/pager/pager-prev-buttons.component.mjs +8 -11
  48. package/esm2020/pdf/pdf-command.directive.mjs +1 -1
  49. package/esm2020/rendering/cell.component.mjs +1 -1
  50. package/esm2020/rendering/header/header.component.mjs +1 -1
  51. package/esm2020/rendering/list.component.mjs +12 -14
  52. package/esm2020/rendering/table-body.component.mjs +1 -1
  53. package/esm2020/selection/cell-selection.service.mjs +20 -1
  54. package/esm2020/selection/selection-checkbox.directive.mjs +2 -0
  55. package/esm2020/selection/selection-default.mjs +14 -1
  56. package/esm2020/selection/selection.service.mjs +31 -5
  57. package/fesm2015/progress-kendo-angular-grid.mjs +1026 -646
  58. package/fesm2020/progress-kendo-angular-grid.mjs +1027 -646
  59. package/filtering/cell/filter-cell-operators.component.d.ts +10 -1
  60. package/grid.component.d.ts +10 -1
  61. package/grid.module.d.ts +100 -98
  62. package/grouping/group-header.component.d.ts +6 -3
  63. package/grouping/group-panel.component.d.ts +0 -1
  64. package/index.d.ts +2 -0
  65. package/localization/messages.d.ts +25 -1
  66. package/package.json +16 -16
  67. package/pager/pager-element.component.d.ts +9 -0
  68. package/pager/pager-next-buttons.component.d.ts +0 -3
  69. package/pager/pager-prev-buttons.component.d.ts +0 -3
  70. package/schematics/ngAdd/index.js +3 -3
  71. package/scrolling/scroll-request.service.d.ts +6 -0
  72. package/selection/cell-selection.service.d.ts +3 -0
  73. package/selection/selection-default.d.ts +17 -2
  74. package/selection/selection.service.d.ts +8 -2
  75. package/selection/types.d.ts +27 -0
@@ -22,7 +22,7 @@ import * as i1$3 from '@angular/platform-browser';
22
22
  import * as i3 from '@progress/kendo-angular-icons';
23
23
  import { IconsModule } from '@progress/kendo-angular-icons';
24
24
  import { plusIcon, cancelIcon, lockIcon, unlockIcon, insertMiddleIcon, caretAltLeftIcon, caretAltToLeftIcon, caretAltRightIcon, caretAltToRightIcon, sortDescSmallIcon, sortAscSmallIcon, filterIcon, stickIcon, unstickIcon, setColumnPositionIcon, columnsIcon, maxWidthIcon, displayInlineFlexIcon, moreHorizontalIcon, moreVerticalIcon, filterClearIcon, reorderIcon, caretAltDownIcon, minusIcon } from '@progress/kendo-svg-icons';
25
- import * as i40 from '@progress/kendo-angular-utils';
25
+ import * as i41 from '@progress/kendo-angular-utils';
26
26
  import { DragTargetContainerDirective, DropTargetContainerDirective, DragAndDropModule as DragAndDropModule$1 } from '@progress/kendo-angular-utils';
27
27
  import * as i4$1 from '@progress/kendo-angular-buttons';
28
28
  import { ButtonModule, ChipModule, Button } from '@progress/kendo-angular-buttons';
@@ -2069,16 +2069,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2069
2069
  * @hidden
2070
2070
  */
2071
2071
  class SelectionService {
2072
- constructor(domEvents, localDataChangesService, navigationService) {
2072
+ constructor(domEvents, localDataChangesService, navigationService, ctxService) {
2073
2073
  this.domEvents = domEvents;
2074
2074
  this.localDataChangesService = localDataChangesService;
2075
2075
  this.navigationService = navigationService;
2076
+ this.ctxService = ctxService;
2076
2077
  this.changes = new EventEmitter();
2077
- this.lastSelectionStartIndex = 0;
2078
+ this.aggregateChanges = new EventEmitter();
2078
2079
  this.currentSelection = [];
2079
2080
  this.selectAllChecked = false;
2080
2081
  this.active = false;
2081
2082
  this.dragging = false;
2083
+ this.lastSelectionData = {};
2082
2084
  this.addSubscriptions();
2083
2085
  }
2084
2086
  get enableMarquee() {
@@ -2097,6 +2099,10 @@ class SelectionService {
2097
2099
  }
2098
2100
  init(settings) {
2099
2101
  this.settings = settings;
2102
+ if (!isPresent(this.lastSelectionStartIndex)) {
2103
+ this.lastSelectionStartIndex = this.ctxService?.grid.selectionDirective?.rangeSelectionStartRow?.index || 0;
2104
+ this.lastSelectionData = this.ctxService?.grid.selectionDirective?.rangeSelectionStartRow?.dataItem || {};
2105
+ }
2100
2106
  this.currentSelection = [];
2101
2107
  if (settings.selectable && settings.selectable.enabled !== false) {
2102
2108
  const iterator = this.getIterator();
@@ -2157,12 +2163,21 @@ class SelectionService {
2157
2163
  }
2158
2164
  ev.ctrlKey = ctrlKey;
2159
2165
  ev.shiftKey = event.shiftKey;
2166
+ if (this.options.cellAggregates) {
2167
+ this.aggregateChanges.emit(ev);
2168
+ ev.cellAggregates = this.aggregates;
2169
+ }
2170
+ if (ev.shiftKey) {
2171
+ ev.rangeStartRow = { dataItem: this.lastSelectionData, index: this.lastSelectionStartIndex };
2172
+ ev.rangeEndRow = { dataItem: item.data, index: item.index };
2173
+ }
2160
2174
  this.changes.emit(ev);
2161
2175
  }
2162
2176
  toggle(item) {
2163
2177
  const selectedRows = [];
2164
2178
  const deselectedRows = [];
2165
2179
  this.lastSelectionStartIndex = item.index;
2180
+ this.lastSelectionData = item.data;
2166
2181
  const rowArgs = { dataItem: item.data, index: item.index };
2167
2182
  if (this.isSelected(item.index)) {
2168
2183
  deselectedRows.push(rowArgs);
@@ -2201,6 +2216,7 @@ class SelectionService {
2201
2216
  const deselectedRows = [];
2202
2217
  const selectedRows = [];
2203
2218
  this.lastSelectionStartIndex = item.index;
2219
+ this.lastSelectionData = item.data;
2204
2220
  if (!this.isSelected(item.index)) {
2205
2221
  selectedRows.push({ dataItem: item.data, index: item.index });
2206
2222
  }
@@ -2311,9 +2327,15 @@ class SelectionService {
2311
2327
  }
2312
2328
  next = iterator.next();
2313
2329
  }
2330
+ let cellAggregates;
2331
+ if (this.options.cellAggregates) {
2332
+ this.aggregateChanges.emit({ selectedRows, deselectedRows });
2333
+ cellAggregates = this.aggregates;
2334
+ }
2314
2335
  return {
2315
2336
  deselectedRows: deselectedRows,
2316
- selectedRows: selectedRows
2337
+ selectedRows: selectedRows,
2338
+ cellAggregates
2317
2339
  };
2318
2340
  }
2319
2341
  get selectAllState() {
@@ -2326,6 +2348,7 @@ class SelectionService {
2326
2348
  }
2327
2349
  get options() {
2328
2350
  const defaultOptions = {
2351
+ cellAggregates: false,
2329
2352
  checkboxOnly: false,
2330
2353
  enabled: true,
2331
2354
  mode: "multiple"
@@ -2335,6 +2358,7 @@ class SelectionService {
2335
2358
  }
2336
2359
  if (typeof this.settings.selectable === 'boolean') {
2337
2360
  return {
2361
+ cellAggregates: false,
2338
2362
  checkboxOnly: false,
2339
2363
  enabled: this.settings.selectable,
2340
2364
  mode: "multiple"
@@ -2407,11 +2431,11 @@ class SelectionService {
2407
2431
  }
2408
2432
  }
2409
2433
  }
2410
- SelectionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SelectionService, deps: [{ token: DomEventsService }, { token: LocalDataChangesService }, { token: NavigationService }], target: i0.ɵɵFactoryTarget.Injectable });
2434
+ SelectionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SelectionService, deps: [{ token: DomEventsService }, { token: LocalDataChangesService }, { token: NavigationService }, { token: ContextService }], target: i0.ɵɵFactoryTarget.Injectable });
2411
2435
  SelectionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SelectionService });
2412
2436
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SelectionService, decorators: [{
2413
2437
  type: Injectable
2414
- }], ctorParameters: function () { return [{ type: DomEventsService }, { type: LocalDataChangesService }, { type: NavigationService }]; } });
2438
+ }], ctorParameters: function () { return [{ type: DomEventsService }, { type: LocalDataChangesService }, { type: NavigationService }, { type: ContextService }]; } });
2415
2439
 
2416
2440
  /**
2417
2441
  * @hidden
@@ -2422,6 +2446,7 @@ class CellSelectionService {
2422
2446
  this.localDataChangesService = localDataChangesService;
2423
2447
  this.navigationService = navigationService;
2424
2448
  this.changes = new EventEmitter();
2449
+ this.aggregateChanges = new EventEmitter();
2425
2450
  this.mouseUpEvent = new EventEmitter();
2426
2451
  this.currentSelection = [];
2427
2452
  this.active = false;
@@ -2507,6 +2532,16 @@ class CellSelectionService {
2507
2532
  }
2508
2533
  ev.ctrlKey = ctrlKey;
2509
2534
  ev.shiftKey = event.shiftKey;
2535
+ if (this.options.cellAggregates) {
2536
+ this.aggregateChanges.emit(ev);
2537
+ ev.cellAggregates = this.aggregates;
2538
+ }
2539
+ if (ev.shiftKey) {
2540
+ ev.rangeStartCell = this.lastSelectionItem;
2541
+ ev.rangeEndCell = {
2542
+ ...this.settings.cellSelected({ dataItem: item.data, index: item.index }, item.column, item.column.leafIndex).item
2543
+ };
2544
+ }
2510
2545
  this.changes.emit(ev);
2511
2546
  }
2512
2547
  toggle(item) {
@@ -2610,13 +2645,20 @@ class CellSelectionService {
2610
2645
  }
2611
2646
  next = iterator.next();
2612
2647
  }
2648
+ let cellAggregates;
2649
+ if (this.options.cellAggregates) {
2650
+ this.aggregateChanges.emit({ selectedCells, deselectedCells });
2651
+ cellAggregates = this.aggregates;
2652
+ }
2613
2653
  return {
2614
2654
  deselectedCells,
2615
- selectedCells
2655
+ selectedCells,
2656
+ cellAggregates
2616
2657
  };
2617
2658
  }
2618
2659
  get options() {
2619
2660
  const defaultOptions = {
2661
+ cellAggregates: false,
2620
2662
  checkboxOnly: false,
2621
2663
  enabled: true,
2622
2664
  mode: "multiple"
@@ -2626,6 +2668,7 @@ class CellSelectionService {
2626
2668
  }
2627
2669
  if (typeof this.settings.selectable === 'boolean') {
2628
2670
  return {
2671
+ cellAggregates: false,
2629
2672
  checkboxOnly: false,
2630
2673
  enabled: this.settings.selectable,
2631
2674
  mode: "multiple"
@@ -2899,8 +2942,8 @@ const packageMetadata = {
2899
2942
  name: '@progress/kendo-angular-grid',
2900
2943
  productName: 'Kendo UI for Angular',
2901
2944
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
2902
- publishDate: 1684846761,
2903
- version: '13.0.0-develop.2',
2945
+ publishDate: 1685973015,
2946
+ version: '13.0.0-develop.21',
2904
2947
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
2905
2948
  };
2906
2949
 
@@ -4518,6 +4561,12 @@ class Selection {
4518
4561
  * @default []
4519
4562
  */
4520
4563
  this.selectedKeys = [];
4564
+ /**
4565
+ * Defines the initial shift-click range selection starting column index when cell selection is enabled.
4566
+ *
4567
+ * @default 0
4568
+ */
4569
+ this.rangeSelectionStartColumnIndex = 0;
4521
4570
  /**
4522
4571
  * Fires when the `selectedKeys` collection has been updated.
4523
4572
  */
@@ -4565,6 +4614,9 @@ class Selection {
4565
4614
  this.rowSelectionState.clear();
4566
4615
  this.cellSelectionState.clear();
4567
4616
  }
4617
+ /**
4618
+ * @hidden
4619
+ */
4568
4620
  getItemKey(row) {
4569
4621
  if (this.selectionKey) {
4570
4622
  if (typeof this.selectionKey === "string") {
@@ -4643,7 +4695,7 @@ class Selection {
4643
4695
  }
4644
4696
  }
4645
4697
  Selection.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: Selection, deps: [{ token: ContextService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
4646
- Selection.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: Selection, selector: "kendo-grid-selection-base", inputs: { selectedKeys: "selectedKeys", selectionKey: ["kendoGridSelectBy", "selectionKey"], columnKey: "columnKey" }, outputs: { selectedKeysChange: "selectedKeysChange" }, usesOnChanges: true, ngImport: i0 });
4698
+ Selection.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: Selection, selector: "kendo-grid-selection-base", inputs: { selectedKeys: "selectedKeys", rangeSelectionStartRow: "rangeSelectionStartRow", rangeSelectionStartColumnIndex: "rangeSelectionStartColumnIndex", selectionKey: ["kendoGridSelectBy", "selectionKey"], columnKey: "columnKey" }, outputs: { selectedKeysChange: "selectedKeysChange" }, usesOnChanges: true, ngImport: i0 });
4647
4699
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: Selection, decorators: [{
4648
4700
  type: Directive,
4649
4701
  args: [{
@@ -4652,6 +4704,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
4652
4704
  }]
4653
4705
  }], ctorParameters: function () { return [{ type: ContextService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { selectedKeys: [{
4654
4706
  type: Input
4707
+ }], rangeSelectionStartRow: [{
4708
+ type: Input
4709
+ }], rangeSelectionStartColumnIndex: [{
4710
+ type: Input
4655
4711
  }], selectionKey: [{
4656
4712
  type: Input,
4657
4713
  args: ["kendoGridSelectBy"]
@@ -6450,6 +6506,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
6450
6506
  type: Output
6451
6507
  }] } });
6452
6508
 
6509
+ /**
6510
+ * Represents the status bar template of the Grid. Allows you to visualize the aggregates using custom rendering inside the template.
6511
+ * The template context has the following field:
6512
+ * - `aggregates`—The [SelectionAggregates]({% slug api_grid_selectionaggregates %}) object that contains all calculated aggregates.
6513
+ * Use the Angular [ngFor](link:site.data.urls.angular['ngfor']) structural directive combined with the [KeyValuePipe](https://angular.io/api/common/KeyValuePipe)
6514
+ * to loop through the aggregates as key-value pairs.
6515
+ */
6516
+ class StatusBarTemplateDirective {
6517
+ constructor(templateRef) {
6518
+ this.templateRef = templateRef;
6519
+ }
6520
+ }
6521
+ StatusBarTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StatusBarTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
6522
+ StatusBarTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: StatusBarTemplateDirective, selector: "[kendoGridStatusBarTemplate]", ngImport: i0 });
6523
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StatusBarTemplateDirective, decorators: [{
6524
+ type: Directive,
6525
+ args: [{
6526
+ selector: '[kendoGridStatusBarTemplate]'
6527
+ }]
6528
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
6529
+
6453
6530
  /**
6454
6531
  * @hidden
6455
6532
  */
@@ -6674,6 +6751,10 @@ class PagerElementComponent {
6674
6751
  this.total = this.pagerContext.total;
6675
6752
  this.skip = this.pagerContext.skip;
6676
6753
  this.pageSize = this.pagerContext.pageSize;
6754
+ this.caretAltLeftIcon = caretAltLeftIcon;
6755
+ this.caretAltToLeftIcon = caretAltToLeftIcon;
6756
+ this.caretAltRightIcon = caretAltRightIcon;
6757
+ this.caretAltToRightIcon = caretAltToRightIcon;
6677
6758
  /**
6678
6759
  * Sets the pager element sizing option.
6679
6760
  * @default `medium`
@@ -6736,6 +6817,18 @@ class PagerElementComponent {
6736
6817
  this.subscriptions.unsubscribe();
6737
6818
  }
6738
6819
  }
6820
+ get prevArrowIcons() {
6821
+ return !this.ctx.localization.rtl ? ['caret-alt-to-left', 'caret-alt-left'] : ['caret-alt-to-right', 'caret-alt-right'];
6822
+ }
6823
+ get prevArrowSVGIcons() {
6824
+ return !this.ctx.localization.rtl ? [this.caretAltToLeftIcon, this.caretAltLeftIcon] : [this.caretAltToRightIcon, this.caretAltRightIcon];
6825
+ }
6826
+ get nextArrowIcons() {
6827
+ return !this.ctx.localization.rtl ? ['caret-alt-right', 'caret-alt-to-right'] : ['caret-alt-left', 'caret-alt-to-left'];
6828
+ }
6829
+ get nextArrowSVGIcons() {
6830
+ return !this.ctx.localization.rtl ? [this.caretAltRightIcon, this.caretAltToRightIcon] : [this.caretAltLeftIcon, this.caretAltToLeftIcon];
6831
+ }
6739
6832
  }
6740
6833
  PagerElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerElementComponent, deps: [{ token: ContextService }, { token: PagerContextService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
6741
6834
  PagerElementComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: PagerElementComponent, inputs: { size: "size" }, ngImport: i0 });
@@ -6753,8 +6846,6 @@ class PagerPrevButtonsComponent extends PagerElementComponent {
6753
6846
  constructor(ctx, pagerContext, cd, navigationService) {
6754
6847
  super(ctx, pagerContext, cd);
6755
6848
  this.navigationService = navigationService;
6756
- this.caretAltLeftIcon = caretAltLeftIcon;
6757
- this.caretAltToLeftIcon = caretAltToLeftIcon;
6758
6849
  }
6759
6850
  /**
6760
6851
  * @hidden
@@ -6783,8 +6874,8 @@ PagerPrevButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
6783
6874
  [attr.aria-label]="textFor('pagerFirstPage')"
6784
6875
  (click)="currentPage !== 1 ? changePage(0) : false"
6785
6876
  role="button"
6786
- icon="caret-alt-to-left"
6787
- [svgIcon]="caretAltToLeftIcon"
6877
+ [icon]="prevArrowIcons[0]"
6878
+ [svgIcon]="prevArrowSVGIcons[0]"
6788
6879
  class="k-pager-nav k-pager-first"
6789
6880
  [disabled]="disabled"
6790
6881
  fillMode="flat"
@@ -6797,8 +6888,8 @@ PagerPrevButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
6797
6888
  type="button"
6798
6889
  class="k-pager-nav"
6799
6890
  [disabled]="disabled"
6800
- icon="caret-alt-left"
6801
- [svgIcon]="caretAltLeftIcon"
6891
+ [icon]="prevArrowIcons[1]"
6892
+ [svgIcon]="prevArrowSVGIcons[1]"
6802
6893
  fillMode="flat"
6803
6894
  rounded="none"
6804
6895
  [size]="size"
@@ -6821,8 +6912,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
6821
6912
  [attr.aria-label]="textFor('pagerFirstPage')"
6822
6913
  (click)="currentPage !== 1 ? changePage(0) : false"
6823
6914
  role="button"
6824
- icon="caret-alt-to-left"
6825
- [svgIcon]="caretAltToLeftIcon"
6915
+ [icon]="prevArrowIcons[0]"
6916
+ [svgIcon]="prevArrowSVGIcons[0]"
6826
6917
  class="k-pager-nav k-pager-first"
6827
6918
  [disabled]="disabled"
6828
6919
  fillMode="flat"
@@ -6835,8 +6926,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
6835
6926
  type="button"
6836
6927
  class="k-pager-nav"
6837
6928
  [disabled]="disabled"
6838
- icon="caret-alt-left"
6839
- [svgIcon]="caretAltLeftIcon"
6929
+ [icon]="prevArrowIcons[1]"
6930
+ [svgIcon]="prevArrowSVGIcons[1]"
6840
6931
  fillMode="flat"
6841
6932
  rounded="none"
6842
6933
  [size]="size"
@@ -7235,8 +7326,6 @@ class PagerNextButtonsComponent extends PagerElementComponent {
7235
7326
  constructor(ctx, pagerContext, cd, navigationService) {
7236
7327
  super(ctx, pagerContext, cd);
7237
7328
  this.navigationService = navigationService;
7238
- this.caretAltRightIcon = caretAltRightIcon;
7239
- this.caretAltToRightIcon = caretAltToRightIcon;
7240
7329
  }
7241
7330
  /**
7242
7331
  * @hidden
@@ -7262,8 +7351,8 @@ PagerNextButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
7262
7351
  [kendoGridFocusable]="!disabled"
7263
7352
  type="button"
7264
7353
  [size]="size"
7265
- icon="caret-alt-right"
7266
- [svgIcon]="caretAltRightIcon"
7354
+ [icon]="nextArrowIcons[0]"
7355
+ [svgIcon]="nextArrowSVGIcons[0]"
7267
7356
  fillMode="flat"
7268
7357
  rounded="none"
7269
7358
  class="k-pager-nav"
@@ -7277,8 +7366,8 @@ PagerNextButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
7277
7366
  [kendoGridFocusable]="!disabled"
7278
7367
  type="button"
7279
7368
  [size]="size"
7280
- icon="caret-alt-to-right"
7281
- [svgIcon]="caretAltToRightIcon"
7369
+ [icon]="nextArrowIcons[1]"
7370
+ [svgIcon]="nextArrowSVGIcons[1]"
7282
7371
  fillMode="flat"
7283
7372
  rounded="none"
7284
7373
  class="k-pager-nav k-pager-last"
@@ -7299,8 +7388,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
7299
7388
  [kendoGridFocusable]="!disabled"
7300
7389
  type="button"
7301
7390
  [size]="size"
7302
- icon="caret-alt-right"
7303
- [svgIcon]="caretAltRightIcon"
7391
+ [icon]="nextArrowIcons[0]"
7392
+ [svgIcon]="nextArrowSVGIcons[0]"
7304
7393
  fillMode="flat"
7305
7394
  rounded="none"
7306
7395
  class="k-pager-nav"
@@ -7314,8 +7403,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
7314
7403
  [kendoGridFocusable]="!disabled"
7315
7404
  type="button"
7316
7405
  [size]="size"
7317
- icon="caret-alt-to-right"
7318
- [svgIcon]="caretAltToRightIcon"
7406
+ [icon]="nextArrowIcons[1]"
7407
+ [svgIcon]="nextArrowSVGIcons[1]"
7319
7408
  fillMode="flat"
7320
7409
  rounded="none"
7321
7410
  class="k-pager-nav k-pager-last"
@@ -7515,7 +7604,7 @@ PagerPageSizesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
7515
7604
  [value]="pageSize"
7516
7605
  (valueChange)="pageSizeChange($event)"></kendo-dropdownlist>
7517
7606
  <kendo-label [for]="dropdownlist" [text]="textFor('pagerItemsPerPage')"></kendo-label>
7518
- `, isInline: true, components: [{ type: i1$4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { type: i5.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional"], exportAs: ["kendoLabel"] }], directives: [{ type: PagerDropDownListDirective, selector: "[kendoGridPagerDropDown]" }, { type: FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
7607
+ `, isInline: true, components: [{ type: i1$4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { type: i5.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }], directives: [{ type: PagerDropDownListDirective, selector: "[kendoGridPagerDropDown]" }, { type: FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
7519
7608
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerPageSizesComponent, decorators: [{
7520
7609
  type: Component,
7521
7610
  args: [{
@@ -8272,7 +8361,7 @@ GroupPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
8272
8361
  [label]="groupTitles[index]"
8273
8362
  [removable]="true"
8274
8363
  [icon]="getDirectionIcon(group)"
8275
- [svgIcon]=""
8364
+ [svgIcon]="getDirectionSvgIcon(group)"
8276
8365
  (contentClick)="directionChange(group)"
8277
8366
  (remove)="remove(group)"
8278
8367
  >
@@ -8324,7 +8413,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
8324
8413
  [label]="groupTitles[index]"
8325
8414
  [removable]="true"
8326
8415
  [icon]="getDirectionIcon(group)"
8327
- [svgIcon]=""
8416
+ [svgIcon]="getDirectionSvgIcon(group)"
8328
8417
  (contentClick)="directionChange(group)"
8329
8418
  (remove)="remove(group)"
8330
8419
  >
@@ -8970,7 +9059,11 @@ class FilterInputDirective {
8970
9059
  this.renderer.setAttribute(focusableElement, 'aria-label', ariaValue);
8971
9060
  }
8972
9061
  else {
8973
- this.renderer.setAttribute(this.element.nativeElement, 'aria-label', ariaValue);
9062
+ const inputElement = this.element.nativeElement.querySelector('.k-input-inner');
9063
+ const elementToSetLabel = inputElement ? inputElement : this.element.nativeElement;
9064
+ if (ariaValue) {
9065
+ this.renderer.setAttribute(elementToSetLabel, 'aria-label', ariaValue);
9066
+ }
8974
9067
  }
8975
9068
  }
8976
9069
  }
@@ -10667,7 +10760,7 @@ class FilterMenuContainerComponent {
10667
10760
  /**
10668
10761
  * @hidden
10669
10762
  */
10670
- this.actionsClass = 'k-actions';
10763
+ this.actionsClass = 'k-actions k-actions-stretched k-actions-horizontal';
10671
10764
  this._templateContext = {};
10672
10765
  this.menuTabbingService = menuTabbingService;
10673
10766
  }
@@ -10789,16 +10882,16 @@ FilterMenuContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
10789
10882
  </ng-container>
10790
10883
  </ng-container>
10791
10884
  <div [ngClass]="actionsClass">
10792
- <button
10793
- #resetButton
10794
- type="reset"
10795
- class="k-button k-button-solid-base k-button-solid k-button-md k-rounded-md k-button-rectangle"
10796
- (keydown.tab)="onTab($event, 'reset')">{{clearText}}</button>
10797
10885
  <button #filterButton
10798
10886
  type="submit"
10799
10887
  class="k-button k-button-solid-primary k-button-solid k-button-md k-rounded-md k-button-rectangle"
10800
10888
  [disabled]="disabled"
10801
10889
  (keydown.tab)="onTab($event, 'filter')">{{filterText}}</button>
10890
+ <button
10891
+ #resetButton
10892
+ type="reset"
10893
+ class="k-button k-button-solid-base k-button-solid k-button-md k-rounded-md k-button-rectangle"
10894
+ (keydown.tab)="onTab($event, 'reset')">{{clearText}}</button>
10802
10895
  </div>
10803
10896
  </div>
10804
10897
  </form>
@@ -10835,16 +10928,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
10835
10928
  </ng-container>
10836
10929
  </ng-container>
10837
10930
  <div [ngClass]="actionsClass">
10838
- <button
10839
- #resetButton
10840
- type="reset"
10841
- class="k-button k-button-solid-base k-button-solid k-button-md k-rounded-md k-button-rectangle"
10842
- (keydown.tab)="onTab($event, 'reset')">{{clearText}}</button>
10843
10931
  <button #filterButton
10844
10932
  type="submit"
10845
10933
  class="k-button k-button-solid-primary k-button-solid k-button-md k-rounded-md k-button-rectangle"
10846
10934
  [disabled]="disabled"
10847
10935
  (keydown.tab)="onTab($event, 'filter')">{{filterText}}</button>
10936
+ <button
10937
+ #resetButton
10938
+ type="reset"
10939
+ class="k-button k-button-solid-base k-button-solid k-button-md k-rounded-md k-button-rectangle"
10940
+ (keydown.tab)="onTab($event, 'reset')">{{clearText}}</button>
10848
10941
  </div>
10849
10942
  </div>
10850
10943
  </form>
@@ -10943,7 +11036,7 @@ FilterMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
10943
11036
  >
10944
11037
  </kendo-grid-filter-menu-container>
10945
11038
  </ng-template>
10946
- `, isInline: true, components: [{ type: i3.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }, { type: FilterMenuContainerComponent, selector: "kendo-grid-filter-menu-container", inputs: ["column", "isLast", "isExpanded", "menuTabbingService", "filter", "actionsClass"], outputs: ["close"] }] });
11039
+ `, isInline: true, components: [{ type: i3.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { type: FilterMenuContainerComponent, selector: "kendo-grid-filter-menu-container", inputs: ["column", "isLast", "isExpanded", "menuTabbingService", "filter", "actionsClass"], outputs: ["close"] }] });
10947
11040
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FilterMenuComponent, decorators: [{
10948
11041
  type: Component,
10949
11042
  args: [{
@@ -11181,7 +11274,7 @@ ColumnMenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
11181
11274
  <ng-container [ngTemplateOutlet]="contentTemplate.templateRef">
11182
11275
  </ng-container>
11183
11276
  <div>
11184
- `, isInline: true, components: [{ type: i3.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], animations: [
11277
+ `, isInline: true, components: [{ type: i3.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], animations: [
11185
11278
  trigger('state', [
11186
11279
  state('collapsed', style({ display: 'none' })),
11187
11280
  state('expanded', style({ display: 'block' })),
@@ -11276,11 +11369,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
11276
11369
 
11277
11370
  /**
11278
11371
  * Represents the column-menu item for locking and unlocking columns in the Grid. [See example](slug:columnmenu_grid#toc-lock-and-unlock-items).
11279
- * The component can be placed inside a [ColumnMenuTemplate]({% slug api_grid_columnmenutemplatedirective %}) directive.
11280
- * [See example](slug:columnmenu_grid#toc-customizing-the-content).
11281
11372
  *
11282
- * You have to set the [ColumnMenuService]({% slug api_grid_columnmenuservice %}) that is passed by
11283
- * the template to the service input of the `kendo-grid-columnmenu-lock` component.
11373
+ * The component can be placed inside a [ColumnMenuTemplate]({% slug api_grid_columnmenutemplatedirective %}) directive.
11374
+ * To register the component as a known column menu item, set the [ColumnMenuService]({% slug api_grid_columnmenuservice %}) that is passed by
11375
+ * the template to the service input of the `kendo-grid-columnmenu-lock` component. [See example](slug:columnmenu_grid#toc-customizing-the-content).
11284
11376
  *
11285
11377
  * @example
11286
11378
  * ```html
@@ -11465,11 +11557,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
11465
11557
 
11466
11558
  /**
11467
11559
  * Represents the column-menu item which combines the lock and sticky column functionalities.
11468
- * [See example](slug:columnmenu_grid#toc-set-column-position-item).
11469
- * The component can be placed inside a [ColumnMenuTemplate]({% slug api_grid_columnmenutemplatedirective %}) directive.
11470
11560
  *
11471
- * You have to set the [ColumnMenuService]({% slug api_grid_columnmenuservice %}) that is passed by
11472
- * the template to the service input of the `kendo-grid-columnmenu-filter` component.
11561
+ * The component can be placed inside a [ColumnMenuTemplate]({% slug api_grid_columnmenutemplatedirective %}) directive.
11562
+ * To register the component as a known column menu item, set the [ColumnMenuService]({% slug api_grid_columnmenuservice %}) that is passed by
11563
+ * the template to the service input of the `kendo-grid-columnmenu-position` component. [See example](slug:columnmenu_grid#toc-set-column-position-item).
11473
11564
  *
11474
11565
  * @example
11475
11566
  * ```html
@@ -11636,7 +11727,7 @@ class ColumnListComponent {
11636
11727
  this.columnChange = new EventEmitter();
11637
11728
  this.autoSync = true;
11638
11729
  this.allowHideAll = false;
11639
- this.actionsClass = 'k-actions';
11730
+ this.actionsClass = 'k-actions k-actions-stretched k-actions-horizontal';
11640
11731
  this.unlockedCount = 0;
11641
11732
  }
11642
11733
  get className() {
@@ -11775,8 +11866,8 @@ ColumnListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
11775
11866
  </label>
11776
11867
  </div>
11777
11868
  <div [ngClass]="actionsClass" *ngIf="!autoSync">
11778
- <button type="button" class="k-button k-button-solid-base k-button-solid k-button-md k-rounded-md k-button-rectangle" (click)="cancelChanges()">{{ resetText }}</button>
11779
11869
  <button #applyButton type="button" (keydown.tab)="onTab($event)" class="k-button k-button-solid-primary k-button-solid k-button-md k-rounded-md k-button-rectangle" (click)="applyChanges()">{{ applyText }}</button>
11870
+ <button type="button" class="k-button k-button-solid-base k-button-solid k-button-md k-rounded-md k-button-rectangle" (click)="cancelChanges()">{{ resetText }}</button>
11780
11871
  </div>
11781
11872
  `, isInline: true, directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
11782
11873
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnListComponent, decorators: [{
@@ -11790,8 +11881,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
11790
11881
  </label>
11791
11882
  </div>
11792
11883
  <div [ngClass]="actionsClass" *ngIf="!autoSync">
11793
- <button type="button" class="k-button k-button-solid-base k-button-solid k-button-md k-rounded-md k-button-rectangle" (click)="cancelChanges()">{{ resetText }}</button>
11794
11884
  <button #applyButton type="button" (keydown.tab)="onTab($event)" class="k-button k-button-solid-primary k-button-solid k-button-md k-rounded-md k-button-rectangle" (click)="applyChanges()">{{ applyText }}</button>
11885
+ <button type="button" class="k-button k-button-solid-base k-button-solid k-button-md k-rounded-md k-button-rectangle" (click)="cancelChanges()">{{ resetText }}</button>
11795
11886
  </div>
11796
11887
  `
11797
11888
  }]
@@ -11829,11 +11920,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
11829
11920
 
11830
11921
  /**
11831
11922
  * Represents the column-menu item for selecting columns in the Grid. [See example](slug:columnmenu_grid#toc-column-chooser-item).
11832
- * The component can be placed inside a [ColumnMenuTemplate]({% slug api_grid_columnmenutemplatedirective %}) directive.
11833
- * [See example](slug:columnmenu_grid#toc-customizing-the-content).
11834
11923
  *
11835
- * You have to set the [ColumnMenuService]({% slug api_grid_columnmenuservice %}) that is passed by
11836
- * the template to the service input of the `kendo-grid-columnmenu-chooser` component.
11924
+ * The component can be placed inside a [ColumnMenuTemplate]({% slug api_grid_columnmenutemplatedirective %}) directive.
11925
+ * To register the component as a known column menu item, set the [ColumnMenuService]({% slug api_grid_columnmenuservice %}) that is passed by
11926
+ * the template to the service input of the `kendo-grid-columnmenu-chooser` component. [See example](slug:columnmenu_grid#toc-customizing-the-content).
11837
11927
  *
11838
11928
  * @example
11839
11929
  * ```html
@@ -11871,7 +11961,7 @@ class ColumnMenuChooserComponent extends ColumnMenuItemBase {
11871
11961
  /**
11872
11962
  * @hidden
11873
11963
  */
11874
- this.actionsClass = 'k-actions';
11964
+ this.actionsClass = 'k-actions k-actions-stretched k-actions-horizontal';
11875
11965
  this.columnsIcon = columnsIcon;
11876
11966
  }
11877
11967
  get columns() {
@@ -11971,11 +12061,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
11971
12061
 
11972
12062
  /**
11973
12063
  * Represents the column-menu item for editing column filters in the Grid. [See example](slug:columnmenu_grid#toc-filter-item).
11974
- * The component can be placed inside a [ColumnMenuTemplate]({% slug api_grid_columnmenutemplatedirective %}) directive.
11975
- * [See example](slug:columnmenu_grid#toc-customizing-the-content).
11976
12064
  *
11977
- * You have to set the [ColumnMenuService]({% slug api_grid_columnmenuservice %}) that is passed by
11978
- * the template to the service input of the `kendo-grid-columnmenu-filter` component.
12065
+ * The component can be placed inside a [ColumnMenuTemplate]({% slug api_grid_columnmenutemplatedirective %}) directive.
12066
+ * To register the component as a known column menu item, set the [ColumnMenuService]({% slug api_grid_columnmenuservice %}) that is passed by
12067
+ * the template to the service input of the `kendo-grid-columnmenu-filter` component. [See example](slug:columnmenu_grid#toc-customizing-the-content).
11979
12068
  *
11980
12069
  * @example
11981
12070
  * ```html
@@ -12012,7 +12101,7 @@ class ColumnMenuFilterComponent extends ColumnMenuItemBase {
12012
12101
  /**
12013
12102
  * @hidden
12014
12103
  */
12015
- this.actionsClass = 'k-actions';
12104
+ this.actionsClass = 'k-actions k-actions-stretched k-actions-horizontal';
12016
12105
  this.filterIcon = filterIcon;
12017
12106
  }
12018
12107
  /**
@@ -12224,8 +12313,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
12224
12313
  /**
12225
12314
  * Represents the column-menu item for sorting Grid columns.
12226
12315
  * [See example](slug:columnmenu_grid#toc-sort-item).
12227
- * The compoenent can be placed inside a [ColumnMenuTemplate]({% slug api_grid_columnmenutemplatedirective %}) directive.
12228
- * [See example](slug:columnmenu_grid#toc-customizing-the-content).
12316
+ *
12317
+ * The component can be placed inside a [ColumnMenuTemplate]({% slug api_grid_columnmenutemplatedirective %}) directive.
12318
+ * To register the component as a known column menu item, set the [ColumnMenuService]({% slug api_grid_columnmenuservice %}) that is passed by
12319
+ * the template to the service input of the `kendo-grid-columnmenu-sort` component. [See example](slug:columnmenu_grid#toc-customizing-the-content).
12229
12320
  *
12230
12321
  * You have to set the [ColumnMenuService]({% slug api_grid_columnmenuservice %}) that is passed by
12231
12322
  * the template to the service input of the `kendo-grid-columnmenu-sort` component.
@@ -12391,11 +12482,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
12391
12482
  /**
12392
12483
  * Represents the column-menu item for resizing all columns to the minimum possible width so that they fit the widest header or cell content without wrapping.
12393
12484
  * [See example](slug:columnmenu_grid#toc-autosize-all-columns-item).
12394
- * The component can be placed inside a [ColumnMenuTemplate]({% slug api_grid_columnmenutemplatedirective %}) directive.
12395
- * [See example](slug:columnmenu_grid#toc-customizing-the-content).
12396
12485
  *
12397
- * You have to set the [ColumnMenuService]({% slug api_grid_columnmenuservice %}) that is passed by
12398
- * the template to the `service` input of the `kendo-grid-columnmenu-autosize-all-columns` component.
12486
+ * The component can be placed inside a [ColumnMenuTemplate]({% slug api_grid_columnmenutemplatedirective %}) directive.
12487
+ * To register the component as a known column menu item, set the [ColumnMenuService]({% slug api_grid_columnmenuservice %}) that is passed by
12488
+ * the template to the `service` input of the `kendo-grid-columnmenu-autosize-all-columns` component. [See example](slug:columnmenu_grid#toc-customizing-the-content).
12399
12489
  *
12400
12490
  * @example
12401
12491
  * ```html
@@ -12840,7 +12930,7 @@ ColumnMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
12840
12930
  </kendo-tabstrip-tab>
12841
12931
  </kendo-tabstrip>
12842
12932
  </ng-template>
12843
- `, isInline: true, components: [{ type: i3.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }, { type: ColumnMenuContainerComponent, selector: "kendo-grid-columnmenu-container" }, { type: ColumnMenuSortComponent, selector: "kendo-grid-columnmenu-sort" }, { type: ColumnMenuLockComponent, selector: "kendo-grid-columnmenu-lock" }, { type: ColumnMenuStickComponent, selector: "kendo-grid-columnmenu-stick" }, { type: ColumnMenuPositionComponent, selector: "kendo-grid-columnmenu-position", inputs: ["expanded", "showLock", "showStick", "isLast"], outputs: ["expand", "collapse"] }, { type: ColumnMenuChooserComponent, selector: "kendo-grid-columnmenu-chooser", inputs: ["expanded", "isLast"], outputs: ["expand", "collapse"] }, { type: ColumnMenuAutoSizeColumnComponent, selector: "kendo-grid-columnmenu-autosize-column", inputs: ["column"] }, { type: ColumnMenuAutoSizeAllColumnsComponent, selector: "kendo-grid-columnmenu-autosize-all-columns" }, { type: ColumnMenuFilterComponent, selector: "kendo-grid-columnmenu-filter", inputs: ["expanded", "isLast"], outputs: ["expand", "collapse"] }, { type: i16.TabStripComponent, selector: "kendo-tabstrip", inputs: ["height", "animate", "tabAlignment", "tabPosition", "keepTabContent", "closable", "scrollable", "closeIcon", "closeIconClass", "closeSVGIcon"], outputs: ["tabSelect", "tabClose", "tabScroll"], exportAs: ["kendoTabStrip"] }, { type: i16.TabStripTabComponent, selector: "kendo-tabstrip-tab", inputs: ["title", "disabled", "cssClass", "cssStyle", "selected", "closable", "closeIcon", "closeIconClass", "closeSVGIcon"], exportAs: ["kendoTabStripTab"] }, { type: FilterMenuContainerComponent, selector: "kendo-grid-filter-menu-container", inputs: ["column", "isLast", "isExpanded", "menuTabbingService", "filter", "actionsClass"], outputs: ["close"] }, { type: ColumnListComponent, selector: "kendo-grid-columnlist", inputs: ["columns", "autoSync", "allowHideAll", "applyText", "resetText", "actionsClass", "isLast", "isExpanded", "service"], outputs: ["reset", "apply", "columnChange"] }], directives: [{ type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: ColumnMenuItemDirective, selector: "[kendoGridColumnMenuItem]", inputs: ["kendoGridColumnMenuItem"] }, { type: i16.TabTitleDirective, selector: "[kendoTabTitle]" }, { type: i16.TabContentDirective, selector: "[kendoTabContent]" }] });
12933
+ `, isInline: true, components: [{ type: i3.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { type: ColumnMenuContainerComponent, selector: "kendo-grid-columnmenu-container" }, { type: ColumnMenuSortComponent, selector: "kendo-grid-columnmenu-sort" }, { type: ColumnMenuLockComponent, selector: "kendo-grid-columnmenu-lock" }, { type: ColumnMenuStickComponent, selector: "kendo-grid-columnmenu-stick" }, { type: ColumnMenuPositionComponent, selector: "kendo-grid-columnmenu-position", inputs: ["expanded", "showLock", "showStick", "isLast"], outputs: ["expand", "collapse"] }, { type: ColumnMenuChooserComponent, selector: "kendo-grid-columnmenu-chooser", inputs: ["expanded", "isLast"], outputs: ["expand", "collapse"] }, { type: ColumnMenuAutoSizeColumnComponent, selector: "kendo-grid-columnmenu-autosize-column", inputs: ["column"] }, { type: ColumnMenuAutoSizeAllColumnsComponent, selector: "kendo-grid-columnmenu-autosize-all-columns" }, { type: ColumnMenuFilterComponent, selector: "kendo-grid-columnmenu-filter", inputs: ["expanded", "isLast"], outputs: ["expand", "collapse"] }, { type: i16.TabStripComponent, selector: "kendo-tabstrip", inputs: ["height", "animate", "tabAlignment", "tabPosition", "keepTabContent", "closable", "scrollable", "closeIcon", "closeIconClass", "closeSVGIcon"], outputs: ["tabSelect", "tabClose", "tabScroll"], exportAs: ["kendoTabStrip"] }, { type: i16.TabStripTabComponent, selector: "kendo-tabstrip-tab", inputs: ["title", "disabled", "cssClass", "cssStyle", "selected", "closable", "closeIcon", "closeIconClass", "closeSVGIcon"], exportAs: ["kendoTabStripTab"] }, { type: FilterMenuContainerComponent, selector: "kendo-grid-filter-menu-container", inputs: ["column", "isLast", "isExpanded", "menuTabbingService", "filter", "actionsClass"], outputs: ["close"] }, { type: ColumnListComponent, selector: "kendo-grid-columnlist", inputs: ["columns", "autoSync", "allowHideAll", "applyText", "resetText", "actionsClass", "isLast", "isExpanded", "service"], outputs: ["reset", "apply", "columnChange"] }], directives: [{ type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: ColumnMenuItemDirective, selector: "[kendoGridColumnMenuItem]", inputs: ["kendoGridColumnMenuItem"] }, { type: i16.TabTitleDirective, selector: "[kendoTabTitle]" }, { type: i16.TabContentDirective, selector: "[kendoTabContent]" }] });
12844
12934
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnMenuComponent, decorators: [{
12845
12935
  type: Component,
12846
12936
  args: [{
@@ -13143,13 +13233,22 @@ class FilterCellOperatorsComponent {
13143
13233
  this.subs.unsubscribe();
13144
13234
  }
13145
13235
  }
13236
+ /**
13237
+ * @hidden
13238
+ */
13239
+ get columnLabel() {
13240
+ const localizationMsg = this.ctx.localization.get('filterCellOperatorLabel') || '';
13241
+ const columnName = this.column.title || this.column.field;
13242
+ return replaceMessagePlaceholder(localizationMsg, 'columnName', columnName);
13243
+ }
13146
13244
  }
13147
13245
  FilterCellOperatorsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FilterCellOperatorsComponent, deps: [{ token: ContextService }, { token: SizingOptionsService }], target: i0.ɵɵFactoryTarget.Component });
13148
- FilterCellOperatorsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: FilterCellOperatorsComponent, selector: "kendo-grid-filter-cell-operators", inputs: { operators: "operators", showButton: "showButton", showOperators: "showOperators", value: "value" }, outputs: { valueChange: "valueChange", clear: "clear" }, host: { properties: { "class.k-filtercell-operator": "this.hostClasses" } }, viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true }], ngImport: i0, template: `
13246
+ FilterCellOperatorsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: FilterCellOperatorsComponent, selector: "kendo-grid-filter-cell-operators", inputs: { operators: "operators", showButton: "showButton", showOperators: "showOperators", value: "value", column: "column" }, outputs: { valueChange: "valueChange", clear: "clear" }, host: { properties: { "class.k-filtercell-operator": "this.hostClasses" } }, viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true }], ngImport: i0, template: `
13149
13247
  <kendo-dropdownlist
13150
13248
  #dropdown
13151
13249
  *ngIf="showOperators"
13152
13250
  kendoGridFocusable
13251
+ [attr.aria-label]="columnLabel"
13153
13252
  [data]="operators"
13154
13253
  class="k-dropdown-operator"
13155
13254
  (valueChange)="onChange($event)"
@@ -13182,6 +13281,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
13182
13281
  #dropdown
13183
13282
  *ngIf="showOperators"
13184
13283
  kendoGridFocusable
13284
+ [attr.aria-label]="columnLabel"
13185
13285
  [data]="operators"
13186
13286
  class="k-dropdown-operator"
13187
13287
  (valueChange)="onChange($event)"
@@ -13220,6 +13320,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
13220
13320
  type: Input
13221
13321
  }], value: [{
13222
13322
  type: Input
13323
+ }], column: [{
13324
+ type: Input
13223
13325
  }], valueChange: [{
13224
13326
  type: Output
13225
13327
  }], clear: [{
@@ -13255,12 +13357,13 @@ FilterCellWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
13255
13357
  <ng-content></ng-content>
13256
13358
  <kendo-grid-filter-cell-operators
13257
13359
  [showOperators]="showOperators"
13360
+ [column]="column"
13258
13361
  [operators]="operators"
13259
13362
  (clear)="onClear()"
13260
13363
  [showButton]="showButton"
13261
13364
  [(value)]="currentOperator">
13262
13365
  </kendo-grid-filter-cell-operators>
13263
- `, isInline: true, components: [{ type: FilterCellOperatorsComponent, selector: "kendo-grid-filter-cell-operators", inputs: ["operators", "showButton", "showOperators", "value"], outputs: ["valueChange", "clear"] }] });
13366
+ `, isInline: true, components: [{ type: FilterCellOperatorsComponent, selector: "kendo-grid-filter-cell-operators", inputs: ["operators", "showButton", "showOperators", "value", "column"], outputs: ["valueChange", "clear"] }] });
13264
13367
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FilterCellWrapperComponent, decorators: [{
13265
13368
  type: Component,
13266
13369
  args: [{
@@ -13269,6 +13372,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
13269
13372
  <ng-content></ng-content>
13270
13373
  <kendo-grid-filter-cell-operators
13271
13374
  [showOperators]="showOperators"
13375
+ [column]="column"
13272
13376
  [operators]="operators"
13273
13377
  (clear)="onClear()"
13274
13378
  [showButton]="showButton"
@@ -13351,7 +13455,7 @@ StringFilterCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
13351
13455
  [filterDelay]="filterDelay"
13352
13456
  [ngModel]="currentFilter?.value"></kendo-textbox>
13353
13457
  </kendo-grid-filter-wrapper-cell>
13354
- `, isInline: true, components: [{ type: FilterCellWrapperComponent, selector: "kendo-grid-filter-wrapper-cell", inputs: ["showOperators"] }, { type: i3$1.TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "errorIcon", "clearButtonIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }], directives: [{ type: FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }, { type: FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "columnLabel", "value"] }, { type: i4$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
13458
+ `, isInline: true, components: [{ type: FilterCellWrapperComponent, selector: "kendo-grid-filter-wrapper-cell", inputs: ["showOperators"] }, { type: i3$1.TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "successSvgIcon", "errorIcon", "errorSvgIcon", "clearButtonIcon", "clearButtonSvgIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }], directives: [{ type: FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }, { type: FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "columnLabel", "value"] }, { type: i4$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
13355
13459
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StringFilterCellComponent, decorators: [{
13356
13460
  type: Component,
13357
13461
  args: [{
@@ -13546,7 +13650,7 @@ class BooleanFilterCellComponent extends BooleanFilterComponent {
13546
13650
  * @hidden
13547
13651
  */
13548
13652
  get columnLabel() {
13549
- const localizationMsg = this.ctx.localization.get('filterInputLabel') || '';
13653
+ const localizationMsg = this.ctx.localization.get('booleanFilterCellLabel') || '';
13550
13654
  const columnName = this.column.title || this.column.field;
13551
13655
  return replaceMessagePlaceholder(localizationMsg, 'columnName', columnName);
13552
13656
  }
@@ -15212,7 +15316,7 @@ HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versio
15212
15316
  [logicalSlaveCellsCount]="unlockedColumnsCount"
15213
15317
  ></tr>
15214
15318
  </ng-container>
15215
- `, isInline: true, components: [{ type: FilterMenuComponent, selector: "kendo-grid-filter-menu", inputs: ["column", "filter", "tabIndex"] }, { type: ColumnMenuComponent, selector: "kendo-grid-column-menu", inputs: ["standalone", "column", "settings", "sort", "filter", "sortable", "columnMenuTemplate", "tabIndex"] }, { type: i3.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }, { type: FilterRowComponent, selector: "[kendoGridFilterRow]", inputs: ["columns", "filter", "groups", "detailTemplate", "logicalRowIndex", "lockedColumnsCount"] }], directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: LogicalRowDirective, selector: "[kendoGridLogicalRow]", inputs: ["logicalRowIndex", "logicalSlaveRow", "logicalCellsCount", "logicalSlaveCellsCount", "dataRowIndex", "dataItem"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: LogicalCellDirective, selector: "[kendoGridLogicalCell]", inputs: ["logicalColIndex", "logicalRowIndex", "logicalSlaveCell", "colIndex", "colSpan", "rowSpan", "groupItem", "dataRowIndex", "dataItem", "detailExpandCell", "headerLabelText"] }, { type: DropTargetDirective, selector: "[kendoDropTarget]", inputs: ["context"], outputs: ["enter", "leave", "drop"] }, { type: i1$1.DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { type: DraggableColumnDirective, selector: "[kendoDraggableColumn]", inputs: ["context", "enableDrag"], outputs: ["drag"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: SelectAllCheckboxDirective, selector: "[kendoGridSelectAllCheckbox]", inputs: ["state"], outputs: ["selectAllChange"] }, { type: FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }, { type: ColumnHandleDirective, selector: "[kendoGridColumnHandle]", inputs: ["columns", "column"] }] });
15319
+ `, isInline: true, components: [{ type: FilterMenuComponent, selector: "kendo-grid-filter-menu", inputs: ["column", "filter", "tabIndex"] }, { type: ColumnMenuComponent, selector: "kendo-grid-column-menu", inputs: ["standalone", "column", "settings", "sort", "filter", "sortable", "columnMenuTemplate", "tabIndex"] }, { type: i3.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { type: FilterRowComponent, selector: "[kendoGridFilterRow]", inputs: ["columns", "filter", "groups", "detailTemplate", "logicalRowIndex", "lockedColumnsCount"] }], directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: LogicalRowDirective, selector: "[kendoGridLogicalRow]", inputs: ["logicalRowIndex", "logicalSlaveRow", "logicalCellsCount", "logicalSlaveCellsCount", "dataRowIndex", "dataItem"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: LogicalCellDirective, selector: "[kendoGridLogicalCell]", inputs: ["logicalColIndex", "logicalRowIndex", "logicalSlaveCell", "colIndex", "colSpan", "rowSpan", "groupItem", "dataRowIndex", "dataItem", "detailExpandCell", "headerLabelText"] }, { type: DropTargetDirective, selector: "[kendoDropTarget]", inputs: ["context"], outputs: ["enter", "leave", "drop"] }, { type: i1$1.DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { type: DraggableColumnDirective, selector: "[kendoDraggableColumn]", inputs: ["context", "enableDrag"], outputs: ["drag"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: SelectAllCheckboxDirective, selector: "[kendoGridSelectAllCheckbox]", inputs: ["state"], outputs: ["selectAllChange"] }, { type: FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }, { type: ColumnHandleDirective, selector: "[kendoGridColumnHandle]", inputs: ["columns", "column"] }] });
15216
15320
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: HeaderComponent, decorators: [{
15217
15321
  type: Component,
15218
15322
  args: [{
@@ -15789,6 +15893,8 @@ class SelectionCheckboxDirective {
15789
15893
  const ev = this.selectionService.toggleByIndex(this.itemIndex);
15790
15894
  ev.ctrlKey = true;
15791
15895
  ev.shiftKey = false;
15896
+ this.selectionService.aggregateChanges.emit(ev);
15897
+ ev.cellAggregates = this.selectionService.aggregates;
15792
15898
  this.selectionService.changes.emit(ev);
15793
15899
  });
15794
15900
  }
@@ -16063,7 +16169,7 @@ CellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
16063
16169
  </ng-container>
16064
16170
  </ng-container>
16065
16171
  </ng-container>
16066
- `, isInline: true, components: [{ type: i3.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }, { type: i3$1.NumericTextBoxComponent, selector: "kendo-numerictextbox", inputs: ["focusableId", "disabled", "readonly", "title", "autoCorrect", "format", "max", "min", "decimals", "placeholder", "step", "spinners", "rangeValidation", "tabindex", "tabIndex", "changeValueOnScroll", "selectOnFocus", "value", "maxlength", "size", "rounded", "fillMode"], outputs: ["valueChange", "focus", "blur"], exportAs: ["kendoNumericTextBox"] }, { type: i4$3.DatePickerComponent, selector: "kendo-datepicker", inputs: ["focusableId", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "navigationItemTemplate", "activeView", "bottomView", "topView", "calendarType", "animateCalendarNavigation", "disabled", "readonly", "readOnlyInput", "popupSettings", "navigation", "min", "max", "incompleteDateValidation", "focusedDate", "value", "format", "twoDigitYearMax", "formatPlaceholder", "placeholder", "tabindex", "tabIndex", "disabledDates", "title", "subtitle", "rangeValidation", "disabledDatesValidation", "weekNumber", "size", "rounded", "fillMode", "adaptiveMode"], outputs: ["valueChange", "focus", "blur", "open", "close"], exportAs: ["kendo-datepicker"] }], directives: [{ type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }, { type: SelectionCheckboxDirective, selector: "[kendoGridSelectionCheckbox]", inputs: ["kendoGridSelectionCheckbox"] }, { type: i4$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i4$2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i4.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i4$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }], pipes: { "valueOf": FieldAccessorPipe } });
16172
+ `, isInline: true, components: [{ type: i3.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { type: i3$1.NumericTextBoxComponent, selector: "kendo-numerictextbox", inputs: ["focusableId", "disabled", "readonly", "title", "autoCorrect", "format", "max", "min", "decimals", "placeholder", "step", "spinners", "rangeValidation", "tabindex", "tabIndex", "changeValueOnScroll", "selectOnFocus", "value", "maxlength", "size", "rounded", "fillMode"], outputs: ["valueChange", "focus", "blur"], exportAs: ["kendoNumericTextBox"] }, { type: i4$3.DatePickerComponent, selector: "kendo-datepicker", inputs: ["focusableId", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "navigationItemTemplate", "activeView", "bottomView", "topView", "calendarType", "animateCalendarNavigation", "disabled", "readonly", "readOnlyInput", "popupSettings", "navigation", "min", "max", "incompleteDateValidation", "focusedDate", "value", "format", "twoDigitYearMax", "formatPlaceholder", "placeholder", "tabindex", "tabIndex", "disabledDates", "title", "subtitle", "rangeValidation", "disabledDatesValidation", "weekNumber", "size", "rounded", "fillMode", "adaptiveMode"], outputs: ["valueChange", "focus", "blur", "open", "close"], exportAs: ["kendo-datepicker"] }], directives: [{ type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }, { type: SelectionCheckboxDirective, selector: "[kendoGridSelectionCheckbox]", inputs: ["kendoGridSelectionCheckbox"] }, { type: i4$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i4$2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i4.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i4$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }], pipes: { "valueOf": FieldAccessorPipe } });
16067
16173
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CellComponent, decorators: [{
16068
16174
  type: Component,
16069
16175
  args: [{
@@ -16193,11 +16299,12 @@ class GroupHeaderComponent {
16193
16299
  this.hasDetails = false;
16194
16300
  this.totalColumnsCount = 0;
16195
16301
  this.groups = [];
16302
+ this.groupItemClass = true;
16303
+ this.tableGroupRowClass = true;
16196
16304
  this.isExpanded = false;
16197
16305
  this.caretAltDownIcon = caretAltDownIcon;
16198
16306
  this.caretAltRightIcon = caretAltRightIcon;
16199
- this.groupItemClass = true;
16200
- this.tableGroupRowClass = true;
16307
+ this.caretAltLeftIcon = caretAltLeftIcon;
16201
16308
  }
16202
16309
  ngDoCheck() {
16203
16310
  const groupArgs = {
@@ -16248,6 +16355,22 @@ class GroupHeaderComponent {
16248
16355
  const messageKey = this.isExpanded ? 'groupCollapse' : 'groupExpand';
16249
16356
  return this.ctx.localization.get(messageKey);
16250
16357
  }
16358
+ get arrowIcon() {
16359
+ const icon = !this.isExpanded ?
16360
+ !this.ctx.localization.rtl ?
16361
+ 'caret-alt-right' :
16362
+ 'caret-alt-left' :
16363
+ 'caret-alt-down';
16364
+ return icon;
16365
+ }
16366
+ get arrowSVGIcon() {
16367
+ const icon = !this.isExpanded ?
16368
+ !this.ctx.localization.rtl ?
16369
+ this.caretAltRightIcon :
16370
+ this.caretAltLeftIcon :
16371
+ this.caretAltDownIcon;
16372
+ return icon;
16373
+ }
16251
16374
  }
16252
16375
  GroupHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GroupHeaderComponent, deps: [{ token: GroupsService }, { token: GroupInfoService }, { token: ContextService }], target: i0.ɵɵFactoryTarget.Component });
16253
16376
  GroupHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GroupHeaderComponent, selector: "[kendoGridGroupHeader]", inputs: { rowIndex: "rowIndex", logicalRowIndex: "logicalRowIndex", item: "item", skipGroupDecoration: "skipGroupDecoration", hasDetails: "hasDetails", totalColumnsCount: "totalColumnsCount", hasGroupHeaderColumn: "hasGroupHeaderColumn", groupHeaderColumns: "groupHeaderColumns", columns: "columns", groups: "groups" }, host: { properties: { "class.k-grouping-row": "this.groupItemClass", "class.k-table-group-row": "this.tableGroupRowClass" } }, ngImport: i0, template: `
@@ -16274,8 +16397,8 @@ GroupHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
16274
16397
  [attr.title]="groupButtonTitle"
16275
16398
  [attr.aria-label]="groupButtonTitle">
16276
16399
  <kendo-icon-wrapper
16277
- [name]="isExpanded ? 'caret-alt-down' : 'caret-alt-right'"
16278
- [svgIcon]="isExpanded ? caretAltDownIcon : caretAltRightIcon"></kendo-icon-wrapper>
16400
+ [name]="arrowIcon"
16401
+ [svgIcon]="arrowSVGIcon"></kendo-icon-wrapper>
16279
16402
  </a>
16280
16403
  <ng-container *ngIf="!groupHeaderTemplate(item)">
16281
16404
  {{groupTitle(item)}}: {{item.data | valueOf:"value": formatForGroup(item)}}
@@ -16319,7 +16442,7 @@ GroupHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
16319
16442
  </ng-template>
16320
16443
  </td>
16321
16444
  </ng-container>
16322
- `, isInline: true, components: [{ type: i3.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: LogicalCellDirective, selector: "[kendoGridLogicalCell]", inputs: ["logicalColIndex", "logicalRowIndex", "logicalSlaveCell", "colIndex", "colSpan", "rowSpan", "groupItem", "dataRowIndex", "dataItem", "detailExpandCell", "headerLabelText"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "valueOf": FieldAccessorPipe } });
16445
+ `, isInline: true, components: [{ type: i3.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: LogicalCellDirective, selector: "[kendoGridLogicalCell]", inputs: ["logicalColIndex", "logicalRowIndex", "logicalSlaveCell", "colIndex", "colSpan", "rowSpan", "groupItem", "dataRowIndex", "dataItem", "detailExpandCell", "headerLabelText"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "valueOf": FieldAccessorPipe } });
16323
16446
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GroupHeaderComponent, decorators: [{
16324
16447
  type: Component,
16325
16448
  args: [{
@@ -16348,8 +16471,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
16348
16471
  [attr.title]="groupButtonTitle"
16349
16472
  [attr.aria-label]="groupButtonTitle">
16350
16473
  <kendo-icon-wrapper
16351
- [name]="isExpanded ? 'caret-alt-down' : 'caret-alt-right'"
16352
- [svgIcon]="isExpanded ? caretAltDownIcon : caretAltRightIcon"></kendo-icon-wrapper>
16474
+ [name]="arrowIcon"
16475
+ [svgIcon]="arrowSVGIcon"></kendo-icon-wrapper>
16353
16476
  </a>
16354
16477
  <ng-container *ngIf="!groupHeaderTemplate(item)">
16355
16478
  {{groupTitle(item)}}: {{item.data | valueOf:"value": formatForGroup(item)}}
@@ -16990,7 +17113,7 @@ TableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
16990
17113
  </tr>
16991
17114
  </ng-container>
16992
17115
  <kendo-resize-sensor *ngIf="rowSticky" (resize)="resizeHandler()"></kendo-resize-sensor>
16993
- `, isInline: true, components: [{ type: CellComponent, selector: "[kendoGridCell]", inputs: ["column", "columnIndex", "isNew", "isLoading", "isVirtual", "loadingTemplate", "rowIndex", "dataItem"] }, { type: GroupHeaderComponent, selector: "[kendoGridGroupHeader]", inputs: ["rowIndex", "logicalRowIndex", "item", "skipGroupDecoration", "hasDetails", "totalColumnsCount", "hasGroupHeaderColumn", "groupHeaderColumns", "columns", "groups"] }, { type: i3.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }, { type: i1$1.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: LogicalRowDirective, selector: "[kendoGridLogicalRow]", inputs: ["logicalRowIndex", "logicalSlaveRow", "logicalCellsCount", "logicalSlaveCellsCount", "dataRowIndex", "dataItem"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: LogicalCellDirective, selector: "[kendoGridLogicalCell]", inputs: ["logicalColIndex", "logicalRowIndex", "logicalSlaveCell", "colIndex", "colSpan", "rowSpan", "groupItem", "dataRowIndex", "dataItem", "detailExpandCell", "headerLabelText"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
17116
+ `, isInline: true, components: [{ type: CellComponent, selector: "[kendoGridCell]", inputs: ["column", "columnIndex", "isNew", "isLoading", "isVirtual", "loadingTemplate", "rowIndex", "dataItem"] }, { type: GroupHeaderComponent, selector: "[kendoGridGroupHeader]", inputs: ["rowIndex", "logicalRowIndex", "item", "skipGroupDecoration", "hasDetails", "totalColumnsCount", "hasGroupHeaderColumn", "groupHeaderColumns", "columns", "groups"] }, { type: i3.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { type: i1$1.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: LogicalRowDirective, selector: "[kendoGridLogicalRow]", inputs: ["logicalRowIndex", "logicalSlaveRow", "logicalCellsCount", "logicalSlaveCellsCount", "dataRowIndex", "dataItem"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: LogicalCellDirective, selector: "[kendoGridLogicalCell]", inputs: ["logicalColIndex", "logicalRowIndex", "logicalSlaveCell", "colIndex", "colSpan", "rowSpan", "groupItem", "dataRowIndex", "dataItem", "detailExpandCell", "headerLabelText"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
16994
17117
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TableBodyComponent, decorators: [{
16995
17118
  type: Component,
16996
17119
  args: [{
@@ -18050,7 +18173,6 @@ ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
18050
18173
  [size]="size"
18051
18174
  [style.width.px]="lockedWidth">
18052
18175
  <colgroup kendoGridColGroup
18053
- role="presentation"
18054
18176
  [groups]="groups"
18055
18177
  [columns]="$any(lockedLeafColumns)"
18056
18178
  [detailTemplate]="detailTemplate"
@@ -18082,11 +18204,12 @@ ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
18082
18204
  <div [style.height.px]="totalHeight"></div>
18083
18205
  </div>
18084
18206
  </div>
18085
- <div #container
18086
- class="k-grid-content k-virtual-content"
18087
- role="presentation" tabindex="-1"
18088
- [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
18089
- [lockedWidth]="lockedWidth + 1">
18207
+ <div
18208
+ #container
18209
+ class="k-grid-content k-virtual-content"
18210
+ [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
18211
+ [lockedWidth]="lockedWidth + 1"
18212
+ >
18090
18213
  <div role="presentation" class="k-grid-table-wrap">
18091
18214
  <table
18092
18215
  [style.width.px]="nonLockedWidth"
@@ -18097,7 +18220,6 @@ ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
18097
18220
  [size]="size"
18098
18221
  role="presentation">
18099
18222
  <colgroup kendoGridColGroup
18100
- role="presentation"
18101
18223
  [groups]="isLocked ? [] : groups"
18102
18224
  [columns]="$any(nonLockedColumnsToRender)"
18103
18225
  [detailTemplate]="detailTemplate"
@@ -18169,7 +18291,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
18169
18291
  [size]="size"
18170
18292
  [style.width.px]="lockedWidth">
18171
18293
  <colgroup kendoGridColGroup
18172
- role="presentation"
18173
18294
  [groups]="groups"
18174
18295
  [columns]="$any(lockedLeafColumns)"
18175
18296
  [detailTemplate]="detailTemplate"
@@ -18201,11 +18322,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
18201
18322
  <div [style.height.px]="totalHeight"></div>
18202
18323
  </div>
18203
18324
  </div>
18204
- <div #container
18205
- class="k-grid-content k-virtual-content"
18206
- role="presentation" tabindex="-1"
18207
- [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
18208
- [lockedWidth]="lockedWidth + 1">
18325
+ <div
18326
+ #container
18327
+ class="k-grid-content k-virtual-content"
18328
+ [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
18329
+ [lockedWidth]="lockedWidth + 1"
18330
+ >
18209
18331
  <div role="presentation" class="k-grid-table-wrap">
18210
18332
  <table
18211
18333
  [style.width.px]="nonLockedWidth"
@@ -18216,7 +18338,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
18216
18338
  [size]="size"
18217
18339
  role="presentation">
18218
18340
  <colgroup kendoGridColGroup
18219
- role="presentation"
18220
18341
  [groups]="isLocked ? [] : groups"
18221
18342
  [columns]="$any(nonLockedColumnsToRender)"
18222
18343
  [detailTemplate]="detailTemplate"
@@ -18527,13 +18648,231 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
18527
18648
  type: Input
18528
18649
  }] } });
18529
18650
 
18651
+ /* eslint-disable @typescript-eslint/no-explicit-any */
18652
+ ;
18653
+ /**
18654
+ * @hidden
18655
+ */
18656
+ class StatusBarComponent {
18657
+ constructor(ctx, selectionService, dataChanges, columnInfoService, cellSelectionService) {
18658
+ this.ctx = ctx;
18659
+ this.selectionService = selectionService;
18660
+ this.dataChanges = dataChanges;
18661
+ this.columnInfoService = columnInfoService;
18662
+ this.cellSelectionService = cellSelectionService;
18663
+ this.hostClasses = true;
18664
+ this.groupedAggregates = { dates: [], numbers: [], booleans: [] };
18665
+ this.aggregates = {
18666
+ sum: null,
18667
+ average: null,
18668
+ min: null,
18669
+ max: null,
18670
+ count: null,
18671
+ isTrue: null,
18672
+ isFalse: null,
18673
+ earliest: null,
18674
+ latest: null
18675
+ };
18676
+ this.subs = new Subscription();
18677
+ this.selectedItems = [];
18678
+ }
18679
+ get isStatusBarTemplate() {
18680
+ return this.statusBarTemplate ? '' : 'none';
18681
+ }
18682
+ ngOnInit() {
18683
+ if (this.selectableSettings.cellAggregates) {
18684
+ this.data = this.dataChanges.data ? this.dataChanges.data : this.ctx.grid.data;
18685
+ this.selectService = this.isRowSelection ? this.selectionService : this.cellSelectionService;
18686
+ if (this.isAggregateIncluded('count')) {
18687
+ this.aggregates['count'] = 0;
18688
+ }
18689
+ const selectionDirective = this.ctx.grid.selectionDirective;
18690
+ if (selectionDirective && !this.isRowSelection) {
18691
+ this.selectedItems = selectionDirective.selectedKeys;
18692
+ }
18693
+ this.subs.add(this.selectService.aggregateChanges.subscribe((selectionArgs) => this.onSelectionChange(selectionArgs)));
18694
+ }
18695
+ }
18696
+ ngOnDestroy() {
18697
+ this.subs.unsubscribe();
18698
+ }
18699
+ onSelectionChange(selectionArgs) {
18700
+ this.handleSelectedItems(selectionArgs);
18701
+ this.nullifyAggregates();
18702
+ this.handleAggregateChanges();
18703
+ this.selectService.aggregates = this.aggregates;
18704
+ }
18705
+ handleAggregateChanges() {
18706
+ const lockedColumns = this.columnInfoService.lockedLeafColumns.toArray();
18707
+ const nonLockedColumns = this.columnInfoService.nonLockedLeafColumns.toArray();
18708
+ const selectedItemsLength = this.selectedItems.length;
18709
+ const columns = [...lockedColumns, ...nonLockedColumns];
18710
+ const fields = columns.map(col => col.field);
18711
+ if (this.isAggregateIncluded('count')) {
18712
+ this.aggregates['count'] = this.isRowSelection ? (selectedItemsLength * columns.length) : selectedItemsLength;
18713
+ }
18714
+ this.selectedItems.forEach((item) => {
18715
+ if (this.isRowSelection) {
18716
+ fields.forEach((field) => {
18717
+ const cellValue = item.dataItem;
18718
+ if (cellValue && cellValue.hasOwnProperty(field)) {
18719
+ const cellValue = item.dataItem[field];
18720
+ this.groupAggregates(cellValue);
18721
+ }
18722
+ });
18723
+ }
18724
+ else if (this.selectService.options.cell) {
18725
+ const itemKey = this.data[item.itemKey];
18726
+ const field = fields[item.columnKey];
18727
+ if (itemKey && itemKey.hasOwnProperty(field)) {
18728
+ const cellValue = itemKey[fields[item.columnKey]];
18729
+ this.groupAggregates(cellValue);
18730
+ }
18731
+ }
18732
+ });
18733
+ this.calculateAggregates();
18734
+ }
18735
+ groupAggregates(aggregate) {
18736
+ if (typeof aggregate === 'number') {
18737
+ this.groupedAggregates.numbers.push(aggregate);
18738
+ }
18739
+ else if (typeof aggregate === 'boolean') {
18740
+ this.groupedAggregates.booleans.push(aggregate);
18741
+ }
18742
+ else if (aggregate instanceof Date) {
18743
+ this.groupedAggregates.dates.push(aggregate);
18744
+ }
18745
+ }
18746
+ calculateAggregates() {
18747
+ if (this.groupedAggregates.numbers.length > 0) {
18748
+ if (this.isAggregateIncluded('min')) {
18749
+ this.aggregates['min'] = Math.min(...this.groupedAggregates.numbers);
18750
+ }
18751
+ if (this.isAggregateIncluded('max')) {
18752
+ this.aggregates['max'] = Math.max(...this.groupedAggregates.numbers);
18753
+ }
18754
+ if (this.isAggregateIncluded('sum')) {
18755
+ this.aggregates['sum'] = this.groupedAggregates.numbers.reduce((acc, curr) => acc += curr, 0);
18756
+ }
18757
+ if (this.isAggregateIncluded('average')) {
18758
+ this.aggregates['average'] = this.aggregates['sum'] / this.groupedAggregates.numbers.length;
18759
+ }
18760
+ }
18761
+ if (this.groupedAggregates.booleans.length > 0) {
18762
+ if (this.isAggregateIncluded('isTrue')) {
18763
+ const isTrueCount = this.groupedAggregates.booleans.filter(bool => bool).length;
18764
+ this.aggregates['isTrue'] = isTrueCount > 0 ? isTrueCount : null;
18765
+ }
18766
+ if (this.isAggregateIncluded('isFalse')) {
18767
+ const isFalseCount = this.groupedAggregates.booleans.length - this.aggregates['isTrue'];
18768
+ this.aggregates['isFalse'] = isFalseCount > 0 ? isFalseCount : null;
18769
+ }
18770
+ }
18771
+ if (this.groupedAggregates.dates.length > 0) {
18772
+ if (this.isAggregateIncluded('earliest')) {
18773
+ this.aggregates['earliest'] = new Date(Math.min(...this.groupedAggregates.dates));
18774
+ }
18775
+ if (this.isAggregateIncluded('latest')) {
18776
+ this.aggregates['latest'] = new Date(Math.max(...this.groupedAggregates.dates));
18777
+ }
18778
+ }
18779
+ }
18780
+ handleSelectedItems(selectionArgs) {
18781
+ const rowOrCellSelect = `${this.isRowSelection ? 'selectedRows' : 'selectedCells'}`;
18782
+ const rowOrCellDeselect = `${this.isRowSelection ? 'deselectedRows' : 'deselectedCells'}`;
18783
+ const selectedItems = selectionArgs[rowOrCellSelect];
18784
+ const deselectedItems = selectionArgs[rowOrCellDeselect];
18785
+ if (!this.isRowSelection) {
18786
+ // Needed when we have column groups with cell selection, the deselected items are duplicated
18787
+ deselectedItems.forEach((item, index) => {
18788
+ if (index + 1 < deselectedItems.length) {
18789
+ if (item.itemKey === deselectedItems[index + 1].itemKey
18790
+ && item.columnKey === deselectedItems[index + 1].columnKey) {
18791
+ deselectedItems.splice(index, 1);
18792
+ }
18793
+ }
18794
+ });
18795
+ }
18796
+ if (selectedItems.length > 0) {
18797
+ selectedItems.forEach((item) => {
18798
+ this.selectedItems = [...this.selectedItems, item];
18799
+ });
18800
+ }
18801
+ if (deselectedItems.length > 0) {
18802
+ if (this.isRowSelection) {
18803
+ deselectedItems.forEach((row) => {
18804
+ this.selectedItems = this.selectedItems.filter((elem) => elem.dataItem !== row.dataItem);
18805
+ });
18806
+ }
18807
+ else {
18808
+ deselectedItems.forEach((cell) => {
18809
+ const index = this.selectedItems.findIndex((elem) => elem.itemKey === cell.itemKey && elem.columnKey === cell.columnKey);
18810
+ this.selectedItems.splice(index, 1);
18811
+ });
18812
+ }
18813
+ }
18814
+ }
18815
+ isAggregateIncluded(aggregate) {
18816
+ const { cellAggregates } = this.selectService.options;
18817
+ if (typeof cellAggregates !== 'boolean') {
18818
+ return cellAggregates.includes(aggregate);
18819
+ }
18820
+ return true;
18821
+ }
18822
+ nullifyAggregates() {
18823
+ this.groupedAggregates = { dates: [], numbers: [], booleans: [] };
18824
+ this.aggregates['count'] = null;
18825
+ this.aggregates['sum'] = this.aggregates['average'] = null;
18826
+ this.aggregates['max'] = this.aggregates['min'] = null;
18827
+ this.aggregates['isFalse'] = this.aggregates['isTrue'] = null;
18828
+ this.aggregates['earliest'] = this.aggregates['latest'] = null;
18829
+ }
18830
+ get isRowSelection() {
18831
+ return typeof this.selectableSettings === 'boolean' || !this.selectableSettings.cell;
18832
+ }
18833
+ }
18834
+ StatusBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StatusBarComponent, deps: [{ token: ContextService }, { token: SelectionService }, { token: LocalDataChangesService }, { token: ColumnInfoService }, { token: CellSelectionService }], target: i0.ɵɵFactoryTarget.Component });
18835
+ StatusBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: StatusBarComponent, selector: "kendo-grid-status-bar", inputs: { selectableSettings: "selectableSettings", statusBarTemplate: "statusBarTemplate" }, host: { properties: { "class.k-selection-aggregates": "this.hostClasses", "class.k-grid-selection-aggregates": "this.hostClasses", "style.display": "this.isStatusBarTemplate" } }, ngImport: i0, template: `
18836
+ <ng-template
18837
+ *ngIf="statusBarTemplate"
18838
+ [ngTemplateOutlet]="statusBarTemplate?.templateRef"
18839
+ [ngTemplateOutletContext]="{ aggregates: aggregates }">
18840
+ </ng-template>
18841
+ `, isInline: true, directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
18842
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StatusBarComponent, decorators: [{
18843
+ type: Component,
18844
+ args: [{
18845
+ selector: 'kendo-grid-status-bar',
18846
+ template: `
18847
+ <ng-template
18848
+ *ngIf="statusBarTemplate"
18849
+ [ngTemplateOutlet]="statusBarTemplate?.templateRef"
18850
+ [ngTemplateOutletContext]="{ aggregates: aggregates }">
18851
+ </ng-template>
18852
+ `
18853
+ }]
18854
+ }], ctorParameters: function () { return [{ type: ContextService }, { type: SelectionService }, { type: LocalDataChangesService }, { type: ColumnInfoService }, { type: CellSelectionService }]; }, propDecorators: { hostClasses: [{
18855
+ type: HostBinding,
18856
+ args: ['class.k-selection-aggregates']
18857
+ }, {
18858
+ type: HostBinding,
18859
+ args: ['class.k-grid-selection-aggregates']
18860
+ }], isStatusBarTemplate: [{
18861
+ type: HostBinding,
18862
+ args: ['style.display']
18863
+ }], selectableSettings: [{
18864
+ type: Input
18865
+ }], statusBarTemplate: [{
18866
+ type: Input
18867
+ }] } });
18868
+
18530
18869
  /**
18531
18870
  * @hidden
18532
18871
  */
18533
18872
  class GridMessages extends ComponentMessages {
18534
18873
  }
18535
18874
  GridMessages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GridMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
18536
- GridMessages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: GridMessages, selector: "kendo-grid-messages-base", inputs: { groupPanelEmpty: "groupPanelEmpty", noRecords: "noRecords", pagerLabel: "pagerLabel", pagerFirstPage: "pagerFirstPage", pagerLastPage: "pagerLastPage", pagerPreviousPage: "pagerPreviousPage", pagerNextPage: "pagerNextPage", pagerPage: "pagerPage", pagerItemsPerPage: "pagerItemsPerPage", pagerOf: "pagerOf", pagerItems: "pagerItems", pagerPageNumberInputTitle: "pagerPageNumberInputTitle", selectPage: "selectPage", filter: "filter", filterInputLabel: "filterInputLabel", filterMenuTitle: "filterMenuTitle", filterMenuOperatorsDropDownLabel: "filterMenuOperatorsDropDownLabel", filterMenuLogicDropDownLabel: "filterMenuLogicDropDownLabel", filterEqOperator: "filterEqOperator", filterNotEqOperator: "filterNotEqOperator", filterIsNullOperator: "filterIsNullOperator", filterIsNotNullOperator: "filterIsNotNullOperator", filterIsEmptyOperator: "filterIsEmptyOperator", filterIsNotEmptyOperator: "filterIsNotEmptyOperator", filterStartsWithOperator: "filterStartsWithOperator", filterContainsOperator: "filterContainsOperator", filterNotContainsOperator: "filterNotContainsOperator", filterEndsWithOperator: "filterEndsWithOperator", filterGteOperator: "filterGteOperator", filterGtOperator: "filterGtOperator", filterLteOperator: "filterLteOperator", filterLtOperator: "filterLtOperator", filterIsTrue: "filterIsTrue", filterIsFalse: "filterIsFalse", filterBooleanAll: "filterBooleanAll", filterAfterOrEqualOperator: "filterAfterOrEqualOperator", filterAfterOperator: "filterAfterOperator", filterBeforeOperator: "filterBeforeOperator", filterBeforeOrEqualOperator: "filterBeforeOrEqualOperator", filterFilterButton: "filterFilterButton", filterClearButton: "filterClearButton", filterAndLogic: "filterAndLogic", filterOrLogic: "filterOrLogic", loading: "loading", gridLabel: "gridLabel", columnMenu: "columnMenu", setColumnPosition: "setColumnPosition", columns: "columns", lock: "lock", unlock: "unlock", stick: "stick", unstick: "unstick", sortable: "sortable", sortAscending: "sortAscending", sortDescending: "sortDescending", autosizeThisColumn: "autosizeThisColumn", autosizeAllColumns: "autosizeAllColumns", sortedAscending: "sortedAscending", sortedDescending: "sortedDescending", sortedDefault: "sortedDefault", columnsApply: "columnsApply", columnsReset: "columnsReset", detailExpand: "detailExpand", detailCollapse: "detailCollapse", filterDateToday: "filterDateToday", filterDateToggle: "filterDateToggle", filterNumericDecrement: "filterNumericDecrement", filterNumericIncrement: "filterNumericIncrement", selectionCheckboxLabel: "selectionCheckboxLabel", selectAllCheckboxLabel: "selectAllCheckboxLabel", groupCollapse: "groupCollapse", groupExpand: "groupExpand", topToolbarLabel: "topToolbarLabel", bottomToolbarLabel: "bottomToolbarLabel", groupPanelLabel: "groupPanelLabel", dragRowHandleLabel: "dragRowHandleLabel", columnMenuFilterTabTitle: "columnMenuFilterTabTitle", columnMenuGeneralTabTitle: "columnMenuGeneralTabTitle", columnMenuColumnsTabTitle: "columnMenuColumnsTabTitle" }, usesInheritance: true, ngImport: i0 });
18875
+ GridMessages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: GridMessages, selector: "kendo-grid-messages-base", inputs: { groupPanelEmpty: "groupPanelEmpty", noRecords: "noRecords", pagerLabel: "pagerLabel", pagerFirstPage: "pagerFirstPage", pagerLastPage: "pagerLastPage", pagerPreviousPage: "pagerPreviousPage", pagerNextPage: "pagerNextPage", pagerPage: "pagerPage", pagerItemsPerPage: "pagerItemsPerPage", pagerOf: "pagerOf", pagerItems: "pagerItems", pagerPageNumberInputTitle: "pagerPageNumberInputTitle", selectPage: "selectPage", filter: "filter", filterInputLabel: "filterInputLabel", filterMenuTitle: "filterMenuTitle", filterMenuOperatorsDropDownLabel: "filterMenuOperatorsDropDownLabel", filterMenuLogicDropDownLabel: "filterMenuLogicDropDownLabel", filterCellOperatorLabel: "filterCellOperatorLabel", booleanFilterCellLabel: "booleanFilterCellLabel", filterEqOperator: "filterEqOperator", filterNotEqOperator: "filterNotEqOperator", filterIsNullOperator: "filterIsNullOperator", filterIsNotNullOperator: "filterIsNotNullOperator", filterIsEmptyOperator: "filterIsEmptyOperator", filterIsNotEmptyOperator: "filterIsNotEmptyOperator", filterStartsWithOperator: "filterStartsWithOperator", filterContainsOperator: "filterContainsOperator", filterNotContainsOperator: "filterNotContainsOperator", filterEndsWithOperator: "filterEndsWithOperator", filterGteOperator: "filterGteOperator", filterGtOperator: "filterGtOperator", filterLteOperator: "filterLteOperator", filterLtOperator: "filterLtOperator", filterIsTrue: "filterIsTrue", filterIsFalse: "filterIsFalse", filterBooleanAll: "filterBooleanAll", filterAfterOrEqualOperator: "filterAfterOrEqualOperator", filterAfterOperator: "filterAfterOperator", filterBeforeOperator: "filterBeforeOperator", filterBeforeOrEqualOperator: "filterBeforeOrEqualOperator", filterFilterButton: "filterFilterButton", filterClearButton: "filterClearButton", filterAndLogic: "filterAndLogic", filterOrLogic: "filterOrLogic", loading: "loading", gridLabel: "gridLabel", columnMenu: "columnMenu", setColumnPosition: "setColumnPosition", columns: "columns", lock: "lock", unlock: "unlock", stick: "stick", unstick: "unstick", sortable: "sortable", sortAscending: "sortAscending", sortDescending: "sortDescending", autosizeThisColumn: "autosizeThisColumn", autosizeAllColumns: "autosizeAllColumns", sortedAscending: "sortedAscending", sortedDescending: "sortedDescending", sortedDefault: "sortedDefault", columnsApply: "columnsApply", columnsReset: "columnsReset", detailExpand: "detailExpand", detailCollapse: "detailCollapse", filterDateToday: "filterDateToday", filterDateToggle: "filterDateToggle", filterNumericDecrement: "filterNumericDecrement", filterNumericIncrement: "filterNumericIncrement", selectionCheckboxLabel: "selectionCheckboxLabel", selectAllCheckboxLabel: "selectAllCheckboxLabel", groupCollapse: "groupCollapse", groupExpand: "groupExpand", topToolbarLabel: "topToolbarLabel", bottomToolbarLabel: "bottomToolbarLabel", groupPanelLabel: "groupPanelLabel", dragRowHandleLabel: "dragRowHandleLabel", columnMenuFilterTabTitle: "columnMenuFilterTabTitle", columnMenuGeneralTabTitle: "columnMenuGeneralTabTitle", columnMenuColumnsTabTitle: "columnMenuColumnsTabTitle" }, usesInheritance: true, ngImport: i0 });
18537
18876
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GridMessages, decorators: [{
18538
18877
  type: Directive,
18539
18878
  args: [{
@@ -18576,6 +18915,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
18576
18915
  type: Input
18577
18916
  }], filterMenuLogicDropDownLabel: [{
18578
18917
  type: Input
18918
+ }], filterCellOperatorLabel: [{
18919
+ type: Input
18920
+ }], booleanFilterCellLabel: [{
18921
+ type: Input
18579
18922
  }], filterEqOperator: [{
18580
18923
  type: Input
18581
18924
  }], filterNotEqOperator: [{
@@ -19120,6 +19463,12 @@ class GridComponent {
19120
19463
  get group() {
19121
19464
  return this._group;
19122
19465
  }
19466
+ /**
19467
+ * @hidden
19468
+ */
19469
+ get showStatusBar() {
19470
+ return !!(this.selectable);
19471
+ }
19123
19472
  /**
19124
19473
  * @hidden
19125
19474
  */
@@ -19353,6 +19702,15 @@ class GridComponent {
19353
19702
  set loadingTemplate(loadingTemplate) {
19354
19703
  this._loadingTemplate = loadingTemplate;
19355
19704
  }
19705
+ get statusBarTemplate() {
19706
+ if (this._statusBarTemplate) {
19707
+ return this._statusBarTemplate;
19708
+ }
19709
+ return this.statusBarTemplateChildren ? this.statusBarTemplateChildren.first : undefined;
19710
+ }
19711
+ set statusBarTemplate(statusBarTemplate) {
19712
+ this._statusBarTemplate = statusBarTemplate;
19713
+ }
19356
19714
  get noRecordsTemplate() {
19357
19715
  if (this._customNoRecordsTemplate) {
19358
19716
  return this._customNoRecordsTemplate;
@@ -19402,7 +19760,7 @@ class GridComponent {
19402
19760
  return this.groupable && this.groupable.showFooter;
19403
19761
  }
19404
19762
  get ariaRowCount() {
19405
- return this.totalColumnLevels + 1 + this.view.total;
19763
+ return this.totalColumnLevels + 1 + this.view.total + (hasFilterRow(this.filterable) ? 1 : 0);
19406
19764
  }
19407
19765
  get ariaColCount() {
19408
19766
  return this.columnsContainer.leafColumnsToRender.length;
@@ -20614,7 +20972,7 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
20614
20972
  ContextService,
20615
20973
  SizingOptionsService,
20616
20974
  RowReorderService
20617
- ], queries: [{ propertyName: "columns", predicate: ColumnBase }, { propertyName: "detailTemplateChildren", predicate: DetailTemplateDirective }, { propertyName: "cellLoadingTemplateChildren", predicate: CellLoadingTemplateDirective }, { propertyName: "loadingTemplateChildren", predicate: LoadingTemplateDirective }, { propertyName: "noRecordsTemplateChildren", predicate: NoRecordsTemplateDirective }, { propertyName: "pagerTemplateChildren", predicate: PagerTemplateDirective }, { propertyName: "toolbarTemplateChildren", predicate: ToolbarTemplateDirective }, { propertyName: "columnMenuTemplates", predicate: ColumnMenuTemplateDirective }], viewQueries: [{ propertyName: "lockedHeader", first: true, predicate: ["lockedHeader"], descendants: true }, { propertyName: "header", first: true, predicate: ["header"], descendants: true }, { propertyName: "ariaRoot", first: true, predicate: ["ariaRoot"], descendants: true, static: true }, { propertyName: "dragTargetContainer", first: true, predicate: DragTargetContainerDirective, descendants: true }, { propertyName: "dropTargetContainer", first: true, predicate: DropTargetContainerDirective, descendants: true }, { propertyName: "footer", predicate: ["footer"], descendants: true }], exportAs: ["kendoGrid"], usesOnChanges: true, ngImport: i0, template: `
20975
+ ], queries: [{ propertyName: "columns", predicate: ColumnBase }, { propertyName: "detailTemplateChildren", predicate: DetailTemplateDirective }, { propertyName: "cellLoadingTemplateChildren", predicate: CellLoadingTemplateDirective }, { propertyName: "loadingTemplateChildren", predicate: LoadingTemplateDirective }, { propertyName: "statusBarTemplateChildren", predicate: StatusBarTemplateDirective }, { propertyName: "noRecordsTemplateChildren", predicate: NoRecordsTemplateDirective }, { propertyName: "pagerTemplateChildren", predicate: PagerTemplateDirective }, { propertyName: "toolbarTemplateChildren", predicate: ToolbarTemplateDirective }, { propertyName: "columnMenuTemplates", predicate: ColumnMenuTemplateDirective }], viewQueries: [{ propertyName: "lockedHeader", first: true, predicate: ["lockedHeader"], descendants: true }, { propertyName: "header", first: true, predicate: ["header"], descendants: true }, { propertyName: "ariaRoot", first: true, predicate: ["ariaRoot"], descendants: true, static: true }, { propertyName: "dragTargetContainer", first: true, predicate: DragTargetContainerDirective, descendants: true }, { propertyName: "dropTargetContainer", first: true, predicate: DropTargetContainerDirective, descendants: true }, { propertyName: "footer", predicate: ["footer"], descendants: true }], exportAs: ["kendoGrid"], usesOnChanges: true, ngImport: i0, template: `
20618
20976
  <ng-container kendoGridLocalizedMessages
20619
20977
  i18n-groupPanelEmpty="kendo.grid.groupPanelEmpty|The label visible in the Grid group panel when it is empty"
20620
20978
  groupPanelEmpty="Drag a column header and drop it here to group by that column"
@@ -20663,6 +21021,12 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
20663
21021
 
20664
21022
  i18n-filterMenuOperatorsDropDownLabel="kendo.grid.filterMenuOperatorsDropDownLabel|The label of the filter menu operators dropdown"
20665
21023
  filterMenuOperatorsDropDownLabel="{{ '{columnName} Filter Operators' }}"
21024
+
21025
+ i18n-filterCellOperatorLabel="kendo.grid.filterCellOperatorLabel|The label of the filter cell operators dropdown"
21026
+ filterCellOperatorLabel="{{ 'Filter cell operators for {columnName}' }}"
21027
+
21028
+ i18n-booleanFilterCellLabel="kendo.grid.booleanFilterCellLabel|The label of the boolean filter cell dropdown"
21029
+ booleanFilterCellLabel="{{ 'Boolean filter cell for {columnName}' }}"
20666
21030
 
20667
21031
  i18n-filterMenuLogicDropDownLabel="kendo.grid.filterMenuLogicDropDownLabel|The label of the filter menu logic dropdown"
20668
21032
  filterMenuLogicDropDownLabel="{{ '{columnName} Filter Logic' }}"
@@ -20862,285 +21226,286 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
20862
21226
  [navigable]="navigation.toolbarEnabled"
20863
21227
  [attr.aria-controls]="ariaRootId"
20864
21228
  position="top"></kendo-grid-toolbar>
20865
- <kendo-pager
20866
- *ngIf="showTopPager"
20867
- [tabindex]="navigation.pagerEnabled ? '0' : '-1'"
20868
- [attr.role]="navigation.pagerEnabled ? 'application' : undefined"
20869
- class="k-grid-pager-top k-pager"
20870
- [template]="pagerTemplate"
20871
- [pageSize]="pageSize"
20872
- [total]="view.total"
20873
- [skip]="skip"
20874
- [size]="size"
20875
- [options]="pageable"
20876
- (pageChange)="notifyPageChange('pager', $event)">
20877
- </kendo-pager>
20878
- <kendo-grid-group-panel
20879
- *ngIf="showGroupPanel"
20880
- [navigable]="navigation.toolbarEnabled"
20881
- [text]="groupableEmptyText"
20882
- [groups]="group"
20883
- role="toolbar"
20884
- [attr.aria-label]="messageFor('groupPanelLabel')"
20885
- [attr.aria-controls]="ariaRootId"
20886
- (change)="groupChange.emit($event)">
20887
- </kendo-grid-group-panel>
20888
- <div #ariaRoot
20889
- class="k-grid-aria-root"
20890
- role="grid"
20891
- [id]="ariaRootId"
20892
- [attr.aria-label]="ariaLabel"
20893
- [attr.aria-rowcount]="ariaRowCount"
20894
- [attr.aria-colcount]="ariaColCount">
20895
- <ng-container *ngIf="isScrollable">
20896
- <div *ngIf="!hideHeader"
20897
- class="k-grid-header"
20898
- role="presentation"
20899
- [style.padding]="headerPadding">
20900
- <div *ngIf="isLocked"
20901
- #lockedHeader
20902
- role="presentation"
20903
- class="k-grid-header-locked"
20904
- [style.width.px]="lockedWidth">
20905
- <table
20906
- [locked]="true"
21229
+ <kendo-pager
21230
+ *ngIf="showTopPager"
21231
+ [tabindex]="navigation.pagerEnabled ? '0' : '-1'"
21232
+ [attr.role]="navigation.pagerEnabled ? 'application' : undefined"
21233
+ class="k-grid-pager-top k-pager"
21234
+ [template]="pagerTemplate"
21235
+ [pageSize]="pageSize"
21236
+ [total]="view.total"
21237
+ [skip]="skip"
21238
+ [size]="size"
21239
+ [options]="pageable"
21240
+ (pageChange)="notifyPageChange('pager', $event)">
21241
+ </kendo-pager>
21242
+ <kendo-grid-group-panel
21243
+ *ngIf="showGroupPanel"
21244
+ [navigable]="navigation.toolbarEnabled"
21245
+ [text]="groupableEmptyText"
21246
+ [groups]="group"
21247
+ role="toolbar"
21248
+ [attr.aria-label]="messageFor('groupPanelLabel')"
21249
+ [attr.aria-controls]="ariaRootId"
21250
+ (change)="groupChange.emit($event)">
21251
+ </kendo-grid-group-panel>
21252
+ <div #ariaRoot
21253
+ class="k-grid-aria-root"
21254
+ role="grid"
21255
+ [id]="ariaRootId"
21256
+ [attr.aria-label]="ariaLabel"
21257
+ [attr.aria-rowcount]="ariaRowCount"
21258
+ [attr.aria-colcount]="ariaColCount">
21259
+ <ng-container *ngIf="isScrollable">
21260
+ <div *ngIf="!hideHeader"
21261
+ class="k-grid-header"
21262
+ role="presentation"
21263
+ [style.padding]="headerPadding">
21264
+ <div *ngIf="isLocked"
21265
+ #lockedHeader
20907
21266
  role="presentation"
20908
- class="k-grid-header-table"
20909
- [style.width.px]="lockedWidth"
20910
- kendoGridTable
20911
- [size]="size">
20912
- <colgroup kendoGridColGroup
21267
+ class="k-grid-header-locked"
21268
+ [style.width.px]="lockedWidth">
21269
+ <table
21270
+ [locked]="true"
20913
21271
  role="presentation"
20914
- [columns]="$any(lockedLeafColumns)"
20915
- [groups]="group"
20916
- [detailTemplate]="detailTemplate">
20917
- </colgroup>
20918
- <thead kendoGridHeader
20919
- role="rowgroup"
20920
- [resizable]="resizable"
20921
- [scrollable]="true"
20922
- [columns]="$any(lockedColumns)"
20923
- [totalColumnLevels]="totalColumnLevels"
20924
- [sort]="sort"
20925
- [groups]="group"
20926
- [filter]="filter"
20927
- [filterable]="filterable"
20928
- [groupable]="showGroupPanel"
20929
- [reorderable]="reorderable"
20930
- [sortable]="sortable"
20931
- [columnMenu]="columnMenuOptions"
20932
- [columnMenuTemplate]="columnMenuTemplate"
20933
- [totalColumnsCount]="leafColumns.length"
20934
- [detailTemplate]="detailTemplate"
20935
- [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
20936
- </thead>
20937
- </table>
20938
- </div>
20939
- <div #header class="k-grid-header-wrap" role="presentation" data-scrollable
20940
- [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
20941
- [lockedWidth]="lockedWidth + scrollbarWidth + 2">
20942
- <table
20943
- role="presentation"
20944
- class="k-grid-header-table"
20945
- [style.width.px]="nonLockedWidth"
20946
- [virtualColumns]="virtualColumns"
20947
- kendoGridTable
20948
- [size]="size">
20949
- <colgroup kendoGridColGroup
21272
+ class="k-grid-header-table"
21273
+ [style.width.px]="lockedWidth"
21274
+ kendoGridTable
21275
+ [size]="size">
21276
+ <colgroup kendoGridColGroup
21277
+ [columns]="$any(lockedLeafColumns)"
21278
+ [groups]="group"
21279
+ [detailTemplate]="detailTemplate">
21280
+ </colgroup>
21281
+ <thead kendoGridHeader
21282
+ role="rowgroup"
21283
+ [resizable]="resizable"
21284
+ [scrollable]="true"
21285
+ [columns]="$any(lockedColumns)"
21286
+ [totalColumnLevels]="totalColumnLevels"
21287
+ [sort]="sort"
21288
+ [groups]="group"
21289
+ [filter]="filter"
21290
+ [filterable]="filterable"
21291
+ [groupable]="showGroupPanel"
21292
+ [reorderable]="reorderable"
21293
+ [sortable]="sortable"
21294
+ [columnMenu]="columnMenuOptions"
21295
+ [columnMenuTemplate]="columnMenuTemplate"
21296
+ [totalColumnsCount]="leafColumns.length"
21297
+ [detailTemplate]="detailTemplate"
21298
+ [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
21299
+ </thead>
21300
+ </table>
21301
+ </div>
21302
+ <div #header class="k-grid-header-wrap" role="presentation" data-scrollable
21303
+ [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
21304
+ [lockedWidth]="lockedWidth + scrollbarWidth + 2">
21305
+ <table
20950
21306
  role="presentation"
20951
- [columns]="headerLeafColumns"
20952
- [groups]="isLocked ? [] : group"
20953
- [detailTemplate]="detailTemplate">
20954
- </colgroup>
20955
- <thead kendoGridHeader
20956
- [resizable]="resizable"
20957
- role="rowgroup"
20958
- [scrollable]="true"
20959
- [columns]="headerColumns"
20960
- [totalColumnLevels]="totalColumnLevels"
20961
- [sort]="sort"
20962
- [filter]="filter"
20963
- [filterable]="filterable"
20964
- [groupable]="showGroupPanel"
20965
- [reorderable]="reorderable"
20966
- [groups]="isLocked ? [] : group"
20967
- [sortable]="sortable"
20968
- [columnMenu]="columnMenuOptions"
20969
- [columnMenuTemplate]="columnMenuTemplate"
20970
- [lockedColumnsCount]="lockedLeafColumns.length"
20971
- [totalColumnsCount]="leafColumns.length"
20972
- [detailTemplate]="detailTemplate"
20973
- [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
20974
- </thead>
20975
- </table>
20976
- <div *ngIf="virtualColumns" class="k-width-container" role="presentation">
20977
- <div [style.width.px]="columnsContainer.unlockedWidth"></div>
21307
+ class="k-grid-header-table"
21308
+ [style.width.px]="nonLockedWidth"
21309
+ [virtualColumns]="virtualColumns"
21310
+ kendoGridTable
21311
+ [size]="size">
21312
+ <colgroup kendoGridColGroup
21313
+ [columns]="headerLeafColumns"
21314
+ [groups]="isLocked ? [] : group"
21315
+ [detailTemplate]="detailTemplate">
21316
+ </colgroup>
21317
+ <thead kendoGridHeader
21318
+ [resizable]="resizable"
21319
+ role="rowgroup"
21320
+ [scrollable]="true"
21321
+ [columns]="headerColumns"
21322
+ [totalColumnLevels]="totalColumnLevels"
21323
+ [sort]="sort"
21324
+ [filter]="filter"
21325
+ [filterable]="filterable"
21326
+ [groupable]="showGroupPanel"
21327
+ [reorderable]="reorderable"
21328
+ [groups]="isLocked ? [] : group"
21329
+ [sortable]="sortable"
21330
+ [columnMenu]="columnMenuOptions"
21331
+ [columnMenuTemplate]="columnMenuTemplate"
21332
+ [lockedColumnsCount]="lockedLeafColumns.length"
21333
+ [totalColumnsCount]="leafColumns.length"
21334
+ [detailTemplate]="detailTemplate"
21335
+ [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
21336
+ </thead>
21337
+ </table>
21338
+ <div *ngIf="virtualColumns" class="k-width-container" role="presentation">
21339
+ <div [style.width.px]="columnsContainer.unlockedWidth"></div>
21340
+ </div>
20978
21341
  </div>
20979
21342
  </div>
20980
- </div>
20981
- <kendo-grid-list
20982
- kendoDragTargetContainer
20983
- kendoDropTargetContainer
20984
- mode="manual"
20985
- [dragDisabled]="!rowReorderable"
20986
- [dropDisabled]="!rowReorderable"
20987
- [dragTargetFilter]="getDefaultSelectors('dragTarget')"
20988
- [dropTargetFilter]="getDefaultSelectors('dropTarget')"
20989
- [dragHandle]="getDefaultSelectors('handle')"
20990
- [hint]="{hintTemplate: defaultHint}"
20991
- (press)="handleReorderEvents($event, 'press')"
20992
- (dragStart)="handleReorderEvents($event, 'dragStart')"
20993
- (drag)="handleReorderEvents($event, 'drag')"
20994
- (dragEnter)="handleReorderEvents($event, 'dragEnter')"
20995
- (dragLeave)="handleReorderEvents($event, 'dragLeave')"
20996
- (dragEnd)="handleReorderEvents($event, 'dragEnd')"
20997
- (drop)="handleReorderEvents($event, 'drop')"
20998
- [dragData]="gridData"
20999
- [data]="$any(view)"
21000
- [rowHeight]="rowHeight"
21001
- [detailRowHeight]="detailRowHeight"
21002
- [total]="totalCount"
21003
- [take]="pageSize"
21004
- [groups]="group"
21005
- [groupable]="groupable"
21006
- [skip]="skip"
21007
- [trackBy]="trackBy"
21008
- [columns]="columnsContainer"
21009
- [selectable]="selectable"
21010
- [filterable]="filterable"
21011
- [detailTemplate]="detailTemplate"
21012
- [noRecordsTemplate]="noRecordsTemplate"
21013
- [size]="size"
21014
- (pageChange)="notifyPageChange('list', $event)"
21015
- [rowClass]="rowClass"
21016
- [rowSticky]="rowSticky"
21017
- [loading]="loading"
21018
- [isVirtual]="isVirtual"
21019
- [cellLoadingTemplate]="cellLoadingTemplate?.templateRef"
21020
- [loadingTemplate]="loadingTemplate?.templateRef"
21021
- [virtualColumns]="virtualColumns"
21022
- (scrollBottom)="notifyScrollBottom()"
21023
- (contentScroll)="contentScroll.emit($event)"
21024
- kendoDraggable
21025
- kendoGridSelectionMarquee
21026
- [enableDrag]="marqueeSelection"
21027
- [sort]="sort"
21028
- >
21029
- </kendo-grid-list>
21030
- <div
21031
- *ngIf="showFooter"
21032
- class="k-grid-footer"
21033
- [style.padding]="headerPadding">
21034
- <div
21035
- *ngIf="lockedLeafColumns.length"
21036
- class="k-grid-footer-locked"
21037
- [style.width.px]="lockedWidth">
21038
- <table
21039
- role="presentation"
21040
- class="k-grid-footer-table"
21041
- [locked]="true"
21042
- [style.width.px]="lockedWidth"
21043
- kendoGridTable
21044
- [size]="size">
21045
- <colgroup kendoGridColGroup
21046
- [columns]="$any(lockedLeafColumns)"
21047
- [groups]="group"
21048
- [detailTemplate]="detailTemplate">
21049
- </colgroup>
21050
- <tfoot kendoGridFooter
21051
- [scrollable]="true"
21052
- [groups]="group"
21053
- [columns]="$any(lockedLeafColumns)"
21054
- [detailTemplate]="detailTemplate"
21055
- [logicalRowIndex]="ariaRowCount">
21056
- </tfoot>
21057
- </table>
21058
- </div>
21059
- <div #footer
21060
- class="k-grid-footer-wrap" data-scrollable
21061
- [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
21062
- [lockedWidth]="lockedWidth + scrollbarWidth + 3">
21063
- <table
21064
- role="presentation"
21065
- class="k-grid-footer-table"
21066
- [style.width.px]="nonLockedWidth"
21067
- kendoGridTable
21068
- [size]="size">
21069
- <colgroup kendoGridColGroup
21070
- [columns]="$any(nonLockedLeafColumns)"
21071
- [groups]="isLocked ? [] : group"
21072
- [detailTemplate]="detailTemplate">
21073
- </colgroup>
21074
- <tfoot kendoGridFooter
21075
- [logicalRowIndex]="ariaRowCount"
21076
- [scrollable]="true"
21077
- [groups]="isLocked ? [] : group"
21078
- [columns]="$any(nonLockedLeafColumns)"
21079
- [lockedColumnsCount]="lockedLeafColumns.length"
21080
- [detailTemplate]="detailTemplate">
21081
- </tfoot>
21082
- </table>
21083
- </div>
21084
- </div>
21085
- </ng-container>
21086
- <ng-container *ngIf="!isScrollable">
21087
- <table
21088
- [style.table-layout]="resizable ? 'fixed' : null"
21089
- kendoGridTable
21090
- [size]="size">
21091
- <colgroup kendoGridColGroup
21092
- [columns]="$any(leafColumns)"
21093
- [groups]="group"
21094
- [detailTemplate]="detailTemplate">
21095
- </colgroup>
21096
- <thead kendoGridHeader
21097
- *ngIf="!hideHeader"
21098
- [resizable]="resizable"
21099
- [scrollable]="false"
21100
- [columns]="$any(visibleColumns)"
21101
- [totalColumnLevels]="totalColumnLevels"
21102
- [groups]="group"
21103
- [groupable]="showGroupPanel"
21104
- [reorderable]="reorderable"
21105
- [sort]="sort"
21106
- [sortable]="sortable"
21107
- [filter]="filter"
21108
- [filterable]="filterable"
21109
- [columnMenu]="columnMenuOptions"
21110
- [columnMenuTemplate]="columnMenuTemplate"
21111
- [detailTemplate]="detailTemplate"
21112
- [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
21113
- </thead>
21114
- <tbody kendoGridTableBody
21115
- [isLoading]="loading"
21116
- [groups]="group"
21343
+ <kendo-grid-list
21344
+ kendoDragTargetContainer
21345
+ kendoDropTargetContainer
21346
+ mode="manual"
21347
+ [dragDisabled]="!rowReorderable"
21348
+ [dropDisabled]="!rowReorderable"
21349
+ [dragTargetFilter]="getDefaultSelectors('dragTarget')"
21350
+ [dropTargetFilter]="getDefaultSelectors('dropTarget')"
21351
+ [dragHandle]="getDefaultSelectors('handle')"
21352
+ [hint]="{hintTemplate: defaultHint}"
21353
+ (onPress)="handleReorderEvents($event, 'press')"
21354
+ (onDragStart)="handleReorderEvents($event, 'dragStart')"
21355
+ (onDrag)="handleReorderEvents($event, 'drag')"
21356
+ (onDragEnter)="handleReorderEvents($event, 'dragEnter')"
21357
+ (onDragLeave)="handleReorderEvents($event, 'dragLeave')"
21358
+ (onDragEnd)="handleReorderEvents($event, 'dragEnd')"
21359
+ (onDrop)="handleReorderEvents($event, 'drop')"
21360
+ [dragData]="gridData"
21117
21361
  [data]="$any(view)"
21362
+ [rowHeight]="rowHeight"
21363
+ [detailRowHeight]="detailRowHeight"
21364
+ [total]="totalCount"
21365
+ [take]="pageSize"
21366
+ [groups]="group"
21367
+ [groupable]="groupable"
21118
21368
  [skip]="skip"
21119
- [columns]="$any(leafColumns)"
21369
+ [trackBy]="trackBy"
21370
+ [columns]="columnsContainer"
21120
21371
  [selectable]="selectable"
21121
21372
  [filterable]="filterable"
21122
- [noRecordsTemplate]="noRecordsTemplate"
21123
21373
  [detailTemplate]="detailTemplate"
21124
- [showGroupFooters]="showGroupFooters"
21125
- [trackBy]="trackBy"
21374
+ [noRecordsTemplate]="noRecordsTemplate"
21375
+ [size]="size"
21376
+ (pageChange)="notifyPageChange('list', $event)"
21126
21377
  [rowClass]="rowClass"
21378
+ [rowSticky]="rowSticky"
21379
+ [loading]="loading"
21380
+ [isVirtual]="isVirtual"
21381
+ [cellLoadingTemplate]="cellLoadingTemplate?.templateRef"
21382
+ [loadingTemplate]="loadingTemplate?.templateRef"
21383
+ [virtualColumns]="virtualColumns"
21384
+ (scrollBottom)="notifyScrollBottom()"
21385
+ (contentScroll)="contentScroll.emit($event)"
21127
21386
  kendoDraggable
21128
21387
  kendoGridSelectionMarquee
21129
- [enableDrag]="marqueeSelection">
21130
- </tbody>
21131
- <tfoot kendoGridFooter
21388
+ [enableDrag]="marqueeSelection"
21389
+ [sort]="sort">
21390
+ </kendo-grid-list>
21391
+ <div
21132
21392
  *ngIf="showFooter"
21133
- [scrollable]="false"
21134
- [logicalRowIndex]="ariaRowCount"
21135
- [groups]="group"
21136
- [columns]="$any(leafColumns)"
21137
- [detailTemplate]="detailTemplate">
21138
- </tfoot>
21139
- </table>
21140
- </ng-container>
21141
- <div [loadingTemplate]="loadingTemplate" *ngIf="loading" kendoGridLoading>
21142
- </div>
21393
+ class="k-grid-footer"
21394
+ [style.padding]="headerPadding">
21395
+ <div
21396
+ *ngIf="lockedLeafColumns.length"
21397
+ class="k-grid-footer-locked"
21398
+ [style.width.px]="lockedWidth">
21399
+ <table
21400
+ role="presentation"
21401
+ class="k-grid-footer-table"
21402
+ [locked]="true"
21403
+ [style.width.px]="lockedWidth"
21404
+ kendoGridTable
21405
+ [size]="size">
21406
+ <colgroup kendoGridColGroup
21407
+ [columns]="$any(lockedLeafColumns)"
21408
+ [groups]="group"
21409
+ [detailTemplate]="detailTemplate">
21410
+ </colgroup>
21411
+ <tfoot kendoGridFooter
21412
+ [scrollable]="true"
21413
+ [groups]="group"
21414
+ [columns]="$any(lockedLeafColumns)"
21415
+ [detailTemplate]="detailTemplate"
21416
+ [logicalRowIndex]="ariaRowCount">
21417
+ </tfoot>
21418
+ </table>
21419
+ </div>
21420
+ <div #footer
21421
+ class="k-grid-footer-wrap" data-scrollable
21422
+ [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
21423
+ [lockedWidth]="lockedWidth + scrollbarWidth + 3">
21424
+ <table
21425
+ role="presentation"
21426
+ class="k-grid-footer-table"
21427
+ [style.width.px]="nonLockedWidth"
21428
+ kendoGridTable
21429
+ [size]="size">
21430
+ <colgroup kendoGridColGroup
21431
+ [columns]="$any(nonLockedLeafColumns)"
21432
+ [groups]="isLocked ? [] : group"
21433
+ [detailTemplate]="detailTemplate">
21434
+ </colgroup>
21435
+ <tfoot kendoGridFooter
21436
+ [logicalRowIndex]="ariaRowCount"
21437
+ [scrollable]="true"
21438
+ [groups]="isLocked ? [] : group"
21439
+ [columns]="$any(nonLockedLeafColumns)"
21440
+ [lockedColumnsCount]="lockedLeafColumns.length"
21441
+ [detailTemplate]="detailTemplate">
21442
+ </tfoot>
21443
+ </table>
21444
+ </div>
21445
+ </div>
21446
+ </ng-container>
21447
+ <ng-container *ngIf="!isScrollable">
21448
+ <table
21449
+ [style.table-layout]="resizable ? 'fixed' : null"
21450
+ kendoGridTable
21451
+ [size]="size">
21452
+ <colgroup kendoGridColGroup
21453
+ [columns]="$any(leafColumns)"
21454
+ [groups]="group"
21455
+ [detailTemplate]="detailTemplate">
21456
+ </colgroup>
21457
+ <thead kendoGridHeader
21458
+ *ngIf="!hideHeader"
21459
+ [resizable]="resizable"
21460
+ [scrollable]="false"
21461
+ [columns]="$any(visibleColumns)"
21462
+ [totalColumnLevels]="totalColumnLevels"
21463
+ [groups]="group"
21464
+ [groupable]="showGroupPanel"
21465
+ [reorderable]="reorderable"
21466
+ [sort]="sort"
21467
+ [sortable]="sortable"
21468
+ [filter]="filter"
21469
+ [filterable]="filterable"
21470
+ [columnMenu]="columnMenuOptions"
21471
+ [columnMenuTemplate]="columnMenuTemplate"
21472
+ [detailTemplate]="detailTemplate"
21473
+ [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
21474
+ </thead>
21475
+ <tbody kendoGridTableBody
21476
+ [isLoading]="loading"
21477
+ [groups]="group"
21478
+ [data]="$any(view)"
21479
+ [skip]="skip"
21480
+ [columns]="$any(leafColumns)"
21481
+ [selectable]="selectable"
21482
+ [filterable]="filterable"
21483
+ [noRecordsTemplate]="noRecordsTemplate"
21484
+ [detailTemplate]="detailTemplate"
21485
+ [showGroupFooters]="showGroupFooters"
21486
+ [trackBy]="trackBy"
21487
+ [rowClass]="rowClass"
21488
+ kendoDraggable
21489
+ kendoGridSelectionMarquee
21490
+ [enableDrag]="marqueeSelection">
21491
+ </tbody>
21492
+ <tfoot kendoGridFooter
21493
+ *ngIf="showFooter"
21494
+ [scrollable]="false"
21495
+ [logicalRowIndex]="ariaRowCount"
21496
+ [groups]="group"
21497
+ [columns]="$any(leafColumns)"
21498
+ [detailTemplate]="detailTemplate">
21499
+ </tfoot>
21500
+ </table>
21501
+ </ng-container>
21502
+ <div [loadingTemplate]="loadingTemplate" *ngIf="loading" kendoGridLoading></div>
21143
21503
  </div>
21504
+ <kendo-grid-status-bar
21505
+ *ngIf="showStatusBar"
21506
+ [selectableSettings]="selectable"
21507
+ [statusBarTemplate]="statusBarTemplate">
21508
+ </kendo-grid-status-bar>
21144
21509
  <kendo-pager
21145
21510
  *ngIf="showBottomPager"
21146
21511
  [tabindex]="navigation.pagerEnabled ? '0' : '-1'"
@@ -21172,7 +21537,7 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
21172
21537
  </kendo-icon-wrapper>
21173
21538
  {{hintText}}
21174
21539
  </ng-template>
21175
- `, isInline: true, components: [{ type: ToolbarComponent, selector: "kendo-grid-toolbar", inputs: ["position", "size", "navigable"] }, { type: PagerComponent, selector: "kendo-pager", inputs: ["total", "skip", "pageSize", "options", "size", "template"], outputs: ["pageChange"] }, { type: GroupPanelComponent, selector: "kendo-grid-group-panel", inputs: ["text", "navigable", "groups"], outputs: ["change"] }, { type: ColGroupComponent, selector: "[kendoGridColGroup]", inputs: ["columns", "groups", "detailTemplate", "sort"] }, { type: HeaderComponent, selector: "[kendoGridHeader]", inputs: ["totalColumnLevels", "columns", "groups", "detailTemplate", "scrollable", "filterable", "sort", "filter", "sortable", "groupable", "lockedColumnsCount", "resizable", "reorderable", "columnMenu", "columnMenuTemplate", "totalColumnsCount", "tabIndex", "size"] }, { type: ListComponent, selector: "kendo-grid-list", inputs: ["data", "groups", "total", "rowHeight", "stickyRowHeight", "detailRowHeight", "take", "skip", "columns", "detailTemplate", "noRecordsTemplate", "selectable", "groupable", "filterable", "rowClass", "rowSticky", "loading", "trackBy", "virtualColumns", "isVirtual", "cellLoadingTemplate", "loadingTemplate", "sort", "size"], outputs: ["contentScroll", "pageChange", "scrollBottom"] }, { type: FooterComponent, selector: "[kendoGridFooter]", inputs: ["columns", "groups", "detailTemplate", "scrollable", "lockedColumnsCount", "logicalRowIndex"] }, { type: TableBodyComponent, selector: "[kendoGridTableBody]", inputs: ["columns", "allColumns", "groups", "detailTemplate", "noRecordsTemplate", "data", "skip", "selectable", "filterable", "noRecordsText", "isLocked", "isLoading", "isVirtual", "cellLoadingTemplate", "skipGroupDecoration", "showGroupFooters", "lockedColumnsCount", "totalColumnsCount", "virtualColumns", "trackBy", "rowSticky", "rowClass"] }, { type: LoadingComponent, selector: "[kendoGridLoading]", inputs: ["loadingTemplate"] }, { type: i3.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: LocalizedMessagesDirective, selector: "[kendoGridLocalizedMessages]" }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: TableDirective, selector: "table", inputs: ["locked", "virtualColumns"] }, { type: GridTableDirective, selector: "[kendoGridTable]", inputs: ["size"] }, { type: ResizableContainerDirective, selector: "[kendoGridResizableContainer]", inputs: ["lockedWidth", "kendoGridResizableContainer"] }, { type: i40.DragTargetContainerDirective, selector: "[kendoDragTargetContainer]", inputs: ["hint", "dragTargetFilter", "dragHandle", "dragDelay", "threshold", "dragTargetId", "dragData", "dragDisabled", "mode"], outputs: ["dragReady", "press", "dragStart", "drag", "release", "dragEnd"], exportAs: ["kendoDragTargetContainer"] }, { type: i40.DropTargetContainerDirective, selector: "[kendoDropTargetContainer]", inputs: ["dropTargetFilter", "dropDisabled"], outputs: ["dragEnter", "dragOver", "dragLeave", "drop"], exportAs: ["kendoDropTargetContainer"] }, { type: i1$1.DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { type: GridMarqueeDirective, selector: "[kendoGridSelectionMarquee]" }], encapsulation: i0.ViewEncapsulation.None });
21540
+ `, isInline: true, components: [{ type: ToolbarComponent, selector: "kendo-grid-toolbar", inputs: ["position", "size", "navigable"] }, { type: PagerComponent, selector: "kendo-pager", inputs: ["total", "skip", "pageSize", "options", "size", "template"], outputs: ["pageChange"] }, { type: GroupPanelComponent, selector: "kendo-grid-group-panel", inputs: ["text", "navigable", "groups"], outputs: ["change"] }, { type: ColGroupComponent, selector: "[kendoGridColGroup]", inputs: ["columns", "groups", "detailTemplate", "sort"] }, { type: HeaderComponent, selector: "[kendoGridHeader]", inputs: ["totalColumnLevels", "columns", "groups", "detailTemplate", "scrollable", "filterable", "sort", "filter", "sortable", "groupable", "lockedColumnsCount", "resizable", "reorderable", "columnMenu", "columnMenuTemplate", "totalColumnsCount", "tabIndex", "size"] }, { type: ListComponent, selector: "kendo-grid-list", inputs: ["data", "groups", "total", "rowHeight", "stickyRowHeight", "detailRowHeight", "take", "skip", "columns", "detailTemplate", "noRecordsTemplate", "selectable", "groupable", "filterable", "rowClass", "rowSticky", "loading", "trackBy", "virtualColumns", "isVirtual", "cellLoadingTemplate", "loadingTemplate", "sort", "size"], outputs: ["contentScroll", "pageChange", "scrollBottom"] }, { type: FooterComponent, selector: "[kendoGridFooter]", inputs: ["columns", "groups", "detailTemplate", "scrollable", "lockedColumnsCount", "logicalRowIndex"] }, { type: TableBodyComponent, selector: "[kendoGridTableBody]", inputs: ["columns", "allColumns", "groups", "detailTemplate", "noRecordsTemplate", "data", "skip", "selectable", "filterable", "noRecordsText", "isLocked", "isLoading", "isVirtual", "cellLoadingTemplate", "skipGroupDecoration", "showGroupFooters", "lockedColumnsCount", "totalColumnsCount", "virtualColumns", "trackBy", "rowSticky", "rowClass"] }, { type: LoadingComponent, selector: "[kendoGridLoading]", inputs: ["loadingTemplate"] }, { type: StatusBarComponent, selector: "kendo-grid-status-bar", inputs: ["selectableSettings", "statusBarTemplate"] }, { type: i3.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: LocalizedMessagesDirective, selector: "[kendoGridLocalizedMessages]" }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: TableDirective, selector: "table", inputs: ["locked", "virtualColumns"] }, { type: GridTableDirective, selector: "[kendoGridTable]", inputs: ["size"] }, { type: ResizableContainerDirective, selector: "[kendoGridResizableContainer]", inputs: ["lockedWidth", "kendoGridResizableContainer"] }, { type: i41.DragTargetContainerDirective, selector: "[kendoDragTargetContainer]", inputs: ["hint", "dragTargetFilter", "dragHandle", "dragDelay", "threshold", "dragTargetId", "dragData", "dragDisabled", "mode"], outputs: ["onDragReady", "onPress", "onDragStart", "onDrag", "onRelease", "onDragEnd"], exportAs: ["kendoDragTargetContainer"] }, { type: i41.DropTargetContainerDirective, selector: "[kendoDropTargetContainer]", inputs: ["dropTargetFilter", "dropDisabled"], outputs: ["onDragEnter", "onDragOver", "onDragLeave", "onDrop"], exportAs: ["kendoDropTargetContainer"] }, { type: i1$1.DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { type: GridMarqueeDirective, selector: "[kendoGridSelectionMarquee]" }], encapsulation: i0.ViewEncapsulation.None });
21176
21541
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GridComponent, decorators: [{
21177
21542
  type: Component,
21178
21543
  args: [{
@@ -21272,6 +21637,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
21272
21637
 
21273
21638
  i18n-filterMenuOperatorsDropDownLabel="kendo.grid.filterMenuOperatorsDropDownLabel|The label of the filter menu operators dropdown"
21274
21639
  filterMenuOperatorsDropDownLabel="{{ '{columnName} Filter Operators' }}"
21640
+
21641
+ i18n-filterCellOperatorLabel="kendo.grid.filterCellOperatorLabel|The label of the filter cell operators dropdown"
21642
+ filterCellOperatorLabel="{{ 'Filter cell operators for {columnName}' }}"
21643
+
21644
+ i18n-booleanFilterCellLabel="kendo.grid.booleanFilterCellLabel|The label of the boolean filter cell dropdown"
21645
+ booleanFilterCellLabel="{{ 'Boolean filter cell for {columnName}' }}"
21275
21646
 
21276
21647
  i18n-filterMenuLogicDropDownLabel="kendo.grid.filterMenuLogicDropDownLabel|The label of the filter menu logic dropdown"
21277
21648
  filterMenuLogicDropDownLabel="{{ '{columnName} Filter Logic' }}"
@@ -21471,285 +21842,286 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
21471
21842
  [navigable]="navigation.toolbarEnabled"
21472
21843
  [attr.aria-controls]="ariaRootId"
21473
21844
  position="top"></kendo-grid-toolbar>
21474
- <kendo-pager
21475
- *ngIf="showTopPager"
21476
- [tabindex]="navigation.pagerEnabled ? '0' : '-1'"
21477
- [attr.role]="navigation.pagerEnabled ? 'application' : undefined"
21478
- class="k-grid-pager-top k-pager"
21479
- [template]="pagerTemplate"
21480
- [pageSize]="pageSize"
21481
- [total]="view.total"
21482
- [skip]="skip"
21483
- [size]="size"
21484
- [options]="pageable"
21485
- (pageChange)="notifyPageChange('pager', $event)">
21486
- </kendo-pager>
21487
- <kendo-grid-group-panel
21488
- *ngIf="showGroupPanel"
21489
- [navigable]="navigation.toolbarEnabled"
21490
- [text]="groupableEmptyText"
21491
- [groups]="group"
21492
- role="toolbar"
21493
- [attr.aria-label]="messageFor('groupPanelLabel')"
21494
- [attr.aria-controls]="ariaRootId"
21495
- (change)="groupChange.emit($event)">
21496
- </kendo-grid-group-panel>
21497
- <div #ariaRoot
21498
- class="k-grid-aria-root"
21499
- role="grid"
21500
- [id]="ariaRootId"
21501
- [attr.aria-label]="ariaLabel"
21502
- [attr.aria-rowcount]="ariaRowCount"
21503
- [attr.aria-colcount]="ariaColCount">
21504
- <ng-container *ngIf="isScrollable">
21505
- <div *ngIf="!hideHeader"
21506
- class="k-grid-header"
21507
- role="presentation"
21508
- [style.padding]="headerPadding">
21509
- <div *ngIf="isLocked"
21510
- #lockedHeader
21511
- role="presentation"
21512
- class="k-grid-header-locked"
21513
- [style.width.px]="lockedWidth">
21514
- <table
21515
- [locked]="true"
21845
+ <kendo-pager
21846
+ *ngIf="showTopPager"
21847
+ [tabindex]="navigation.pagerEnabled ? '0' : '-1'"
21848
+ [attr.role]="navigation.pagerEnabled ? 'application' : undefined"
21849
+ class="k-grid-pager-top k-pager"
21850
+ [template]="pagerTemplate"
21851
+ [pageSize]="pageSize"
21852
+ [total]="view.total"
21853
+ [skip]="skip"
21854
+ [size]="size"
21855
+ [options]="pageable"
21856
+ (pageChange)="notifyPageChange('pager', $event)">
21857
+ </kendo-pager>
21858
+ <kendo-grid-group-panel
21859
+ *ngIf="showGroupPanel"
21860
+ [navigable]="navigation.toolbarEnabled"
21861
+ [text]="groupableEmptyText"
21862
+ [groups]="group"
21863
+ role="toolbar"
21864
+ [attr.aria-label]="messageFor('groupPanelLabel')"
21865
+ [attr.aria-controls]="ariaRootId"
21866
+ (change)="groupChange.emit($event)">
21867
+ </kendo-grid-group-panel>
21868
+ <div #ariaRoot
21869
+ class="k-grid-aria-root"
21870
+ role="grid"
21871
+ [id]="ariaRootId"
21872
+ [attr.aria-label]="ariaLabel"
21873
+ [attr.aria-rowcount]="ariaRowCount"
21874
+ [attr.aria-colcount]="ariaColCount">
21875
+ <ng-container *ngIf="isScrollable">
21876
+ <div *ngIf="!hideHeader"
21877
+ class="k-grid-header"
21878
+ role="presentation"
21879
+ [style.padding]="headerPadding">
21880
+ <div *ngIf="isLocked"
21881
+ #lockedHeader
21516
21882
  role="presentation"
21517
- class="k-grid-header-table"
21518
- [style.width.px]="lockedWidth"
21519
- kendoGridTable
21520
- [size]="size">
21521
- <colgroup kendoGridColGroup
21883
+ class="k-grid-header-locked"
21884
+ [style.width.px]="lockedWidth">
21885
+ <table
21886
+ [locked]="true"
21522
21887
  role="presentation"
21523
- [columns]="$any(lockedLeafColumns)"
21524
- [groups]="group"
21525
- [detailTemplate]="detailTemplate">
21526
- </colgroup>
21527
- <thead kendoGridHeader
21528
- role="rowgroup"
21529
- [resizable]="resizable"
21530
- [scrollable]="true"
21531
- [columns]="$any(lockedColumns)"
21532
- [totalColumnLevels]="totalColumnLevels"
21533
- [sort]="sort"
21534
- [groups]="group"
21535
- [filter]="filter"
21536
- [filterable]="filterable"
21537
- [groupable]="showGroupPanel"
21538
- [reorderable]="reorderable"
21539
- [sortable]="sortable"
21540
- [columnMenu]="columnMenuOptions"
21541
- [columnMenuTemplate]="columnMenuTemplate"
21542
- [totalColumnsCount]="leafColumns.length"
21543
- [detailTemplate]="detailTemplate"
21544
- [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
21545
- </thead>
21546
- </table>
21547
- </div>
21548
- <div #header class="k-grid-header-wrap" role="presentation" data-scrollable
21549
- [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
21550
- [lockedWidth]="lockedWidth + scrollbarWidth + 2">
21551
- <table
21552
- role="presentation"
21553
- class="k-grid-header-table"
21554
- [style.width.px]="nonLockedWidth"
21555
- [virtualColumns]="virtualColumns"
21556
- kendoGridTable
21557
- [size]="size">
21558
- <colgroup kendoGridColGroup
21888
+ class="k-grid-header-table"
21889
+ [style.width.px]="lockedWidth"
21890
+ kendoGridTable
21891
+ [size]="size">
21892
+ <colgroup kendoGridColGroup
21893
+ [columns]="$any(lockedLeafColumns)"
21894
+ [groups]="group"
21895
+ [detailTemplate]="detailTemplate">
21896
+ </colgroup>
21897
+ <thead kendoGridHeader
21898
+ role="rowgroup"
21899
+ [resizable]="resizable"
21900
+ [scrollable]="true"
21901
+ [columns]="$any(lockedColumns)"
21902
+ [totalColumnLevels]="totalColumnLevels"
21903
+ [sort]="sort"
21904
+ [groups]="group"
21905
+ [filter]="filter"
21906
+ [filterable]="filterable"
21907
+ [groupable]="showGroupPanel"
21908
+ [reorderable]="reorderable"
21909
+ [sortable]="sortable"
21910
+ [columnMenu]="columnMenuOptions"
21911
+ [columnMenuTemplate]="columnMenuTemplate"
21912
+ [totalColumnsCount]="leafColumns.length"
21913
+ [detailTemplate]="detailTemplate"
21914
+ [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
21915
+ </thead>
21916
+ </table>
21917
+ </div>
21918
+ <div #header class="k-grid-header-wrap" role="presentation" data-scrollable
21919
+ [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
21920
+ [lockedWidth]="lockedWidth + scrollbarWidth + 2">
21921
+ <table
21559
21922
  role="presentation"
21560
- [columns]="headerLeafColumns"
21561
- [groups]="isLocked ? [] : group"
21562
- [detailTemplate]="detailTemplate">
21563
- </colgroup>
21564
- <thead kendoGridHeader
21565
- [resizable]="resizable"
21566
- role="rowgroup"
21567
- [scrollable]="true"
21568
- [columns]="headerColumns"
21569
- [totalColumnLevels]="totalColumnLevels"
21570
- [sort]="sort"
21571
- [filter]="filter"
21572
- [filterable]="filterable"
21573
- [groupable]="showGroupPanel"
21574
- [reorderable]="reorderable"
21575
- [groups]="isLocked ? [] : group"
21576
- [sortable]="sortable"
21577
- [columnMenu]="columnMenuOptions"
21578
- [columnMenuTemplate]="columnMenuTemplate"
21579
- [lockedColumnsCount]="lockedLeafColumns.length"
21580
- [totalColumnsCount]="leafColumns.length"
21581
- [detailTemplate]="detailTemplate"
21582
- [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
21583
- </thead>
21584
- </table>
21585
- <div *ngIf="virtualColumns" class="k-width-container" role="presentation">
21586
- <div [style.width.px]="columnsContainer.unlockedWidth"></div>
21923
+ class="k-grid-header-table"
21924
+ [style.width.px]="nonLockedWidth"
21925
+ [virtualColumns]="virtualColumns"
21926
+ kendoGridTable
21927
+ [size]="size">
21928
+ <colgroup kendoGridColGroup
21929
+ [columns]="headerLeafColumns"
21930
+ [groups]="isLocked ? [] : group"
21931
+ [detailTemplate]="detailTemplate">
21932
+ </colgroup>
21933
+ <thead kendoGridHeader
21934
+ [resizable]="resizable"
21935
+ role="rowgroup"
21936
+ [scrollable]="true"
21937
+ [columns]="headerColumns"
21938
+ [totalColumnLevels]="totalColumnLevels"
21939
+ [sort]="sort"
21940
+ [filter]="filter"
21941
+ [filterable]="filterable"
21942
+ [groupable]="showGroupPanel"
21943
+ [reorderable]="reorderable"
21944
+ [groups]="isLocked ? [] : group"
21945
+ [sortable]="sortable"
21946
+ [columnMenu]="columnMenuOptions"
21947
+ [columnMenuTemplate]="columnMenuTemplate"
21948
+ [lockedColumnsCount]="lockedLeafColumns.length"
21949
+ [totalColumnsCount]="leafColumns.length"
21950
+ [detailTemplate]="detailTemplate"
21951
+ [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
21952
+ </thead>
21953
+ </table>
21954
+ <div *ngIf="virtualColumns" class="k-width-container" role="presentation">
21955
+ <div [style.width.px]="columnsContainer.unlockedWidth"></div>
21956
+ </div>
21587
21957
  </div>
21588
21958
  </div>
21589
- </div>
21590
- <kendo-grid-list
21591
- kendoDragTargetContainer
21592
- kendoDropTargetContainer
21593
- mode="manual"
21594
- [dragDisabled]="!rowReorderable"
21595
- [dropDisabled]="!rowReorderable"
21596
- [dragTargetFilter]="getDefaultSelectors('dragTarget')"
21597
- [dropTargetFilter]="getDefaultSelectors('dropTarget')"
21598
- [dragHandle]="getDefaultSelectors('handle')"
21599
- [hint]="{hintTemplate: defaultHint}"
21600
- (press)="handleReorderEvents($event, 'press')"
21601
- (dragStart)="handleReorderEvents($event, 'dragStart')"
21602
- (drag)="handleReorderEvents($event, 'drag')"
21603
- (dragEnter)="handleReorderEvents($event, 'dragEnter')"
21604
- (dragLeave)="handleReorderEvents($event, 'dragLeave')"
21605
- (dragEnd)="handleReorderEvents($event, 'dragEnd')"
21606
- (drop)="handleReorderEvents($event, 'drop')"
21607
- [dragData]="gridData"
21608
- [data]="$any(view)"
21609
- [rowHeight]="rowHeight"
21610
- [detailRowHeight]="detailRowHeight"
21611
- [total]="totalCount"
21612
- [take]="pageSize"
21613
- [groups]="group"
21614
- [groupable]="groupable"
21615
- [skip]="skip"
21616
- [trackBy]="trackBy"
21617
- [columns]="columnsContainer"
21618
- [selectable]="selectable"
21619
- [filterable]="filterable"
21620
- [detailTemplate]="detailTemplate"
21621
- [noRecordsTemplate]="noRecordsTemplate"
21622
- [size]="size"
21623
- (pageChange)="notifyPageChange('list', $event)"
21624
- [rowClass]="rowClass"
21625
- [rowSticky]="rowSticky"
21626
- [loading]="loading"
21627
- [isVirtual]="isVirtual"
21628
- [cellLoadingTemplate]="cellLoadingTemplate?.templateRef"
21629
- [loadingTemplate]="loadingTemplate?.templateRef"
21630
- [virtualColumns]="virtualColumns"
21631
- (scrollBottom)="notifyScrollBottom()"
21632
- (contentScroll)="contentScroll.emit($event)"
21633
- kendoDraggable
21634
- kendoGridSelectionMarquee
21635
- [enableDrag]="marqueeSelection"
21636
- [sort]="sort"
21637
- >
21638
- </kendo-grid-list>
21639
- <div
21640
- *ngIf="showFooter"
21641
- class="k-grid-footer"
21642
- [style.padding]="headerPadding">
21643
- <div
21644
- *ngIf="lockedLeafColumns.length"
21645
- class="k-grid-footer-locked"
21646
- [style.width.px]="lockedWidth">
21647
- <table
21648
- role="presentation"
21649
- class="k-grid-footer-table"
21650
- [locked]="true"
21651
- [style.width.px]="lockedWidth"
21652
- kendoGridTable
21653
- [size]="size">
21654
- <colgroup kendoGridColGroup
21655
- [columns]="$any(lockedLeafColumns)"
21656
- [groups]="group"
21657
- [detailTemplate]="detailTemplate">
21658
- </colgroup>
21659
- <tfoot kendoGridFooter
21660
- [scrollable]="true"
21661
- [groups]="group"
21662
- [columns]="$any(lockedLeafColumns)"
21663
- [detailTemplate]="detailTemplate"
21664
- [logicalRowIndex]="ariaRowCount">
21665
- </tfoot>
21666
- </table>
21667
- </div>
21668
- <div #footer
21669
- class="k-grid-footer-wrap" data-scrollable
21670
- [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
21671
- [lockedWidth]="lockedWidth + scrollbarWidth + 3">
21672
- <table
21673
- role="presentation"
21674
- class="k-grid-footer-table"
21675
- [style.width.px]="nonLockedWidth"
21676
- kendoGridTable
21677
- [size]="size">
21678
- <colgroup kendoGridColGroup
21679
- [columns]="$any(nonLockedLeafColumns)"
21680
- [groups]="isLocked ? [] : group"
21681
- [detailTemplate]="detailTemplate">
21682
- </colgroup>
21683
- <tfoot kendoGridFooter
21684
- [logicalRowIndex]="ariaRowCount"
21685
- [scrollable]="true"
21686
- [groups]="isLocked ? [] : group"
21687
- [columns]="$any(nonLockedLeafColumns)"
21688
- [lockedColumnsCount]="lockedLeafColumns.length"
21689
- [detailTemplate]="detailTemplate">
21690
- </tfoot>
21691
- </table>
21692
- </div>
21693
- </div>
21694
- </ng-container>
21695
- <ng-container *ngIf="!isScrollable">
21696
- <table
21697
- [style.table-layout]="resizable ? 'fixed' : null"
21698
- kendoGridTable
21699
- [size]="size">
21700
- <colgroup kendoGridColGroup
21701
- [columns]="$any(leafColumns)"
21702
- [groups]="group"
21703
- [detailTemplate]="detailTemplate">
21704
- </colgroup>
21705
- <thead kendoGridHeader
21706
- *ngIf="!hideHeader"
21707
- [resizable]="resizable"
21708
- [scrollable]="false"
21709
- [columns]="$any(visibleColumns)"
21710
- [totalColumnLevels]="totalColumnLevels"
21711
- [groups]="group"
21712
- [groupable]="showGroupPanel"
21713
- [reorderable]="reorderable"
21714
- [sort]="sort"
21715
- [sortable]="sortable"
21716
- [filter]="filter"
21717
- [filterable]="filterable"
21718
- [columnMenu]="columnMenuOptions"
21719
- [columnMenuTemplate]="columnMenuTemplate"
21720
- [detailTemplate]="detailTemplate"
21721
- [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
21722
- </thead>
21723
- <tbody kendoGridTableBody
21724
- [isLoading]="loading"
21725
- [groups]="group"
21959
+ <kendo-grid-list
21960
+ kendoDragTargetContainer
21961
+ kendoDropTargetContainer
21962
+ mode="manual"
21963
+ [dragDisabled]="!rowReorderable"
21964
+ [dropDisabled]="!rowReorderable"
21965
+ [dragTargetFilter]="getDefaultSelectors('dragTarget')"
21966
+ [dropTargetFilter]="getDefaultSelectors('dropTarget')"
21967
+ [dragHandle]="getDefaultSelectors('handle')"
21968
+ [hint]="{hintTemplate: defaultHint}"
21969
+ (onPress)="handleReorderEvents($event, 'press')"
21970
+ (onDragStart)="handleReorderEvents($event, 'dragStart')"
21971
+ (onDrag)="handleReorderEvents($event, 'drag')"
21972
+ (onDragEnter)="handleReorderEvents($event, 'dragEnter')"
21973
+ (onDragLeave)="handleReorderEvents($event, 'dragLeave')"
21974
+ (onDragEnd)="handleReorderEvents($event, 'dragEnd')"
21975
+ (onDrop)="handleReorderEvents($event, 'drop')"
21976
+ [dragData]="gridData"
21726
21977
  [data]="$any(view)"
21978
+ [rowHeight]="rowHeight"
21979
+ [detailRowHeight]="detailRowHeight"
21980
+ [total]="totalCount"
21981
+ [take]="pageSize"
21982
+ [groups]="group"
21983
+ [groupable]="groupable"
21727
21984
  [skip]="skip"
21728
- [columns]="$any(leafColumns)"
21985
+ [trackBy]="trackBy"
21986
+ [columns]="columnsContainer"
21729
21987
  [selectable]="selectable"
21730
21988
  [filterable]="filterable"
21731
- [noRecordsTemplate]="noRecordsTemplate"
21732
21989
  [detailTemplate]="detailTemplate"
21733
- [showGroupFooters]="showGroupFooters"
21734
- [trackBy]="trackBy"
21990
+ [noRecordsTemplate]="noRecordsTemplate"
21991
+ [size]="size"
21992
+ (pageChange)="notifyPageChange('list', $event)"
21735
21993
  [rowClass]="rowClass"
21994
+ [rowSticky]="rowSticky"
21995
+ [loading]="loading"
21996
+ [isVirtual]="isVirtual"
21997
+ [cellLoadingTemplate]="cellLoadingTemplate?.templateRef"
21998
+ [loadingTemplate]="loadingTemplate?.templateRef"
21999
+ [virtualColumns]="virtualColumns"
22000
+ (scrollBottom)="notifyScrollBottom()"
22001
+ (contentScroll)="contentScroll.emit($event)"
21736
22002
  kendoDraggable
21737
22003
  kendoGridSelectionMarquee
21738
- [enableDrag]="marqueeSelection">
21739
- </tbody>
21740
- <tfoot kendoGridFooter
22004
+ [enableDrag]="marqueeSelection"
22005
+ [sort]="sort">
22006
+ </kendo-grid-list>
22007
+ <div
21741
22008
  *ngIf="showFooter"
21742
- [scrollable]="false"
21743
- [logicalRowIndex]="ariaRowCount"
21744
- [groups]="group"
21745
- [columns]="$any(leafColumns)"
21746
- [detailTemplate]="detailTemplate">
21747
- </tfoot>
21748
- </table>
21749
- </ng-container>
21750
- <div [loadingTemplate]="loadingTemplate" *ngIf="loading" kendoGridLoading>
21751
- </div>
22009
+ class="k-grid-footer"
22010
+ [style.padding]="headerPadding">
22011
+ <div
22012
+ *ngIf="lockedLeafColumns.length"
22013
+ class="k-grid-footer-locked"
22014
+ [style.width.px]="lockedWidth">
22015
+ <table
22016
+ role="presentation"
22017
+ class="k-grid-footer-table"
22018
+ [locked]="true"
22019
+ [style.width.px]="lockedWidth"
22020
+ kendoGridTable
22021
+ [size]="size">
22022
+ <colgroup kendoGridColGroup
22023
+ [columns]="$any(lockedLeafColumns)"
22024
+ [groups]="group"
22025
+ [detailTemplate]="detailTemplate">
22026
+ </colgroup>
22027
+ <tfoot kendoGridFooter
22028
+ [scrollable]="true"
22029
+ [groups]="group"
22030
+ [columns]="$any(lockedLeafColumns)"
22031
+ [detailTemplate]="detailTemplate"
22032
+ [logicalRowIndex]="ariaRowCount">
22033
+ </tfoot>
22034
+ </table>
22035
+ </div>
22036
+ <div #footer
22037
+ class="k-grid-footer-wrap" data-scrollable
22038
+ [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
22039
+ [lockedWidth]="lockedWidth + scrollbarWidth + 3">
22040
+ <table
22041
+ role="presentation"
22042
+ class="k-grid-footer-table"
22043
+ [style.width.px]="nonLockedWidth"
22044
+ kendoGridTable
22045
+ [size]="size">
22046
+ <colgroup kendoGridColGroup
22047
+ [columns]="$any(nonLockedLeafColumns)"
22048
+ [groups]="isLocked ? [] : group"
22049
+ [detailTemplate]="detailTemplate">
22050
+ </colgroup>
22051
+ <tfoot kendoGridFooter
22052
+ [logicalRowIndex]="ariaRowCount"
22053
+ [scrollable]="true"
22054
+ [groups]="isLocked ? [] : group"
22055
+ [columns]="$any(nonLockedLeafColumns)"
22056
+ [lockedColumnsCount]="lockedLeafColumns.length"
22057
+ [detailTemplate]="detailTemplate">
22058
+ </tfoot>
22059
+ </table>
22060
+ </div>
22061
+ </div>
22062
+ </ng-container>
22063
+ <ng-container *ngIf="!isScrollable">
22064
+ <table
22065
+ [style.table-layout]="resizable ? 'fixed' : null"
22066
+ kendoGridTable
22067
+ [size]="size">
22068
+ <colgroup kendoGridColGroup
22069
+ [columns]="$any(leafColumns)"
22070
+ [groups]="group"
22071
+ [detailTemplate]="detailTemplate">
22072
+ </colgroup>
22073
+ <thead kendoGridHeader
22074
+ *ngIf="!hideHeader"
22075
+ [resizable]="resizable"
22076
+ [scrollable]="false"
22077
+ [columns]="$any(visibleColumns)"
22078
+ [totalColumnLevels]="totalColumnLevels"
22079
+ [groups]="group"
22080
+ [groupable]="showGroupPanel"
22081
+ [reorderable]="reorderable"
22082
+ [sort]="sort"
22083
+ [sortable]="sortable"
22084
+ [filter]="filter"
22085
+ [filterable]="filterable"
22086
+ [columnMenu]="columnMenuOptions"
22087
+ [columnMenuTemplate]="columnMenuTemplate"
22088
+ [detailTemplate]="detailTemplate"
22089
+ [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
22090
+ </thead>
22091
+ <tbody kendoGridTableBody
22092
+ [isLoading]="loading"
22093
+ [groups]="group"
22094
+ [data]="$any(view)"
22095
+ [skip]="skip"
22096
+ [columns]="$any(leafColumns)"
22097
+ [selectable]="selectable"
22098
+ [filterable]="filterable"
22099
+ [noRecordsTemplate]="noRecordsTemplate"
22100
+ [detailTemplate]="detailTemplate"
22101
+ [showGroupFooters]="showGroupFooters"
22102
+ [trackBy]="trackBy"
22103
+ [rowClass]="rowClass"
22104
+ kendoDraggable
22105
+ kendoGridSelectionMarquee
22106
+ [enableDrag]="marqueeSelection">
22107
+ </tbody>
22108
+ <tfoot kendoGridFooter
22109
+ *ngIf="showFooter"
22110
+ [scrollable]="false"
22111
+ [logicalRowIndex]="ariaRowCount"
22112
+ [groups]="group"
22113
+ [columns]="$any(leafColumns)"
22114
+ [detailTemplate]="detailTemplate">
22115
+ </tfoot>
22116
+ </table>
22117
+ </ng-container>
22118
+ <div [loadingTemplate]="loadingTemplate" *ngIf="loading" kendoGridLoading></div>
21752
22119
  </div>
22120
+ <kendo-grid-status-bar
22121
+ *ngIf="showStatusBar"
22122
+ [selectableSettings]="selectable"
22123
+ [statusBarTemplate]="statusBarTemplate">
22124
+ </kendo-grid-status-bar>
21753
22125
  <kendo-pager
21754
22126
  *ngIf="showBottomPager"
21755
22127
  [tabindex]="navigation.pagerEnabled ? '0' : '-1'"
@@ -21932,6 +22304,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
21932
22304
  }], loadingTemplateChildren: [{
21933
22305
  type: ContentChildren,
21934
22306
  args: [LoadingTemplateDirective]
22307
+ }], statusBarTemplateChildren: [{
22308
+ type: ContentChildren,
22309
+ args: [StatusBarTemplateDirective]
21935
22310
  }], noRecordsTemplateChildren: [{
21936
22311
  type: ContentChildren,
21937
22312
  args: [NoRecordsTemplateDirective]
@@ -23562,7 +23937,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
23562
23937
  }] });
23563
23938
 
23564
23939
  /**
23565
- * Represents the component for toggling the Grid columns visibility. [See example](slug:columnmenu_grid#toc-using-standalone-column-chooser).
23940
+ * Represents the component for toggling visibility of the Grid columns visibility. [See example](slug:columnmenu_grid#toc-using-standalone-column-chooser).
23566
23941
  * To show and hide the columns without including the column chooser item in the [Column Menu](slug:columnmenu_grid),
23567
23942
  * add the component inside the [ToolbarTemplate](slug:toolbartemplate_grid) directive.
23568
23943
  *
@@ -23976,7 +24351,7 @@ EditCommandDirective.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
23976
24351
  </span>
23977
24352
  <span *ngIf="iconClass" class="k-button-icon" [ngClass]="iconClass"></span>
23978
24353
  <span class="k-button-text"><ng-content></ng-content></span>
23979
- `, isInline: true, components: [{ type: i3.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
24354
+ `, isInline: true, components: [{ type: i3.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
23980
24355
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: EditCommandDirective, decorators: [{
23981
24356
  type: Component,
23982
24357
  args: [{
@@ -24073,7 +24448,7 @@ CancelCommandDirective.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
24073
24448
  </span>
24074
24449
  <span *ngIf="iconClass" class="k-button-icon" [ngClass]="iconClass"></span>
24075
24450
  <span class="k-button-text"><ng-content></ng-content></span>
24076
- `, isInline: true, components: [{ type: i3.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
24451
+ `, isInline: true, components: [{ type: i3.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
24077
24452
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CancelCommandDirective, decorators: [{
24078
24453
  type: Component,
24079
24454
  args: [{
@@ -24170,7 +24545,7 @@ SaveCommandDirective.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
24170
24545
  </span>
24171
24546
  <span *ngIf="iconClass" class="k-button-icon" [ngClass]="iconClass"></span>
24172
24547
  <span class="k-button-text"><ng-content></ng-content></span>
24173
- `, isInline: true, components: [{ type: i3.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
24548
+ `, isInline: true, components: [{ type: i3.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
24174
24549
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SaveCommandDirective, decorators: [{
24175
24550
  type: Component,
24176
24551
  args: [{
@@ -24264,7 +24639,7 @@ RemoveCommandDirective.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
24264
24639
  </span>
24265
24640
  <span *ngIf="iconClass" class="k-button-icon" [ngClass]="iconClass"></span>
24266
24641
  <span class="k-button-text"><ng-content></ng-content></span>
24267
- `, isInline: true, components: [{ type: i3.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
24642
+ `, isInline: true, components: [{ type: i3.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
24268
24643
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RemoveCommandDirective, decorators: [{
24269
24644
  type: Component,
24270
24645
  args: [{
@@ -24343,7 +24718,7 @@ AddCommandDirective.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
24343
24718
  </span>
24344
24719
  <span *ngIf="iconClass" class="k-button-icon" [ngClass]="iconClass"></span>
24345
24720
  <span class="k-button-text"><ng-content></ng-content></span>
24346
- `, isInline: true, components: [{ type: i3.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
24721
+ `, isInline: true, components: [{ type: i3.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
24347
24722
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AddCommandDirective, decorators: [{
24348
24723
  type: Component,
24349
24724
  args: [{
@@ -25239,6 +25614,7 @@ const exportedModules$1 = [
25239
25614
  ToolbarTemplateDirective,
25240
25615
  ToolbarComponent,
25241
25616
  GridSpacerComponent,
25617
+ StatusBarTemplateDirective,
25242
25618
  DataBindingDirective,
25243
25619
  SelectionDirective,
25244
25620
  CustomMessagesComponent,
@@ -25276,7 +25652,9 @@ const declarations$2 = [
25276
25652
  GroupBindingDirective,
25277
25653
  GridMarqueeDirective,
25278
25654
  GridSpacerComponent,
25279
- GridToolbarFocusableDirective
25655
+ GridToolbarFocusableDirective,
25656
+ StatusBarComponent,
25657
+ StatusBarTemplateDirective
25280
25658
  ];
25281
25659
  /**
25282
25660
  * Represents the [NgModule](link:site.data.urls.angular['ngmoduleapi'])
@@ -25318,7 +25696,9 @@ GridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13
25318
25696
  GroupBindingDirective,
25319
25697
  GridMarqueeDirective,
25320
25698
  GridSpacerComponent,
25321
- GridToolbarFocusableDirective], imports: [CommonModule,
25699
+ GridToolbarFocusableDirective,
25700
+ StatusBarComponent,
25701
+ StatusBarTemplateDirective], imports: [CommonModule,
25322
25702
  GroupModule,
25323
25703
  SharedModule,
25324
25704
  BodyModule,
@@ -25333,6 +25713,7 @@ GridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13
25333
25713
  ToolbarTemplateDirective,
25334
25714
  ToolbarComponent,
25335
25715
  GridSpacerComponent,
25716
+ StatusBarTemplateDirective,
25336
25717
  DataBindingDirective,
25337
25718
  SelectionDirective,
25338
25719
  CustomMessagesComponent,
@@ -25879,7 +26260,7 @@ PDFCommandDirective.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
25879
26260
  </span>
25880
26261
  <span *ngIf="iconClass" class="k-button-icon" [ngClass]="iconClass"></span>
25881
26262
  <span class="k-button-text"><ng-content></ng-content></span>
25882
- `, isInline: true, components: [{ type: i3.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
26263
+ `, isInline: true, components: [{ type: i3.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
25883
26264
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PDFCommandDirective, decorators: [{
25884
26265
  type: Component,
25885
26266
  args: [{
@@ -26162,7 +26543,7 @@ ExcelCommandDirective.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
26162
26543
  </span>
26163
26544
  <span *ngIf="iconClass" class="k-button-icon" [ngClass]="iconClass"></span>
26164
26545
  <span class="k-button-text"><ng-content></ng-content></span>
26165
- `, isInline: true, components: [{ type: i3.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
26546
+ `, isInline: true, components: [{ type: i3.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
26166
26547
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ExcelCommandDirective, decorators: [{
26167
26548
  type: Component,
26168
26549
  args: [{
@@ -26228,5 +26609,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
26228
26609
  * Generated bundle index. Do not edit.
26229
26610
  */
26230
26611
 
26231
- export { AddCommandDirective, AfterEqFilterOperatorComponent, AfterFilterOperatorComponent, AutoCompleteFilterCellComponent, BaseFilterCellComponent, BeforeEqFilterOperatorComponent, BeforeFilterOperatorComponent, BodyModule, BooleanFilterCellComponent, BooleanFilterComponent, BooleanFilterMenuComponent, BooleanFilterRadioButtonDirective, BrowserSupportService, CELL_CONTEXT, CancelCommandDirective, CellCloseEvent, CellComponent, CellLoadingTemplateDirective, CellSelectionService, CellTemplateDirective, ChangeNotificationService, CheckboxColumnComponent, ColGroupComponent, ColumnBase, ColumnChooserComponent, ColumnComponent, ColumnGroupComponent, ColumnHandleDirective, ColumnInfoService, ColumnListComponent, ColumnLockedChangeEvent, ColumnMenuAutoSizeAllColumnsComponent, ColumnMenuAutoSizeColumnComponent, ColumnMenuChooserComponent, ColumnMenuComponent, ColumnMenuContainerComponent, ColumnMenuFilterComponent, ColumnMenuItemComponent, ColumnMenuItemContentTemplateDirective, ColumnMenuItemDirective, ColumnMenuLockComponent, ColumnMenuPositionComponent, ColumnMenuService, ColumnMenuSortComponent, ColumnMenuStickComponent, ColumnMenuTemplateDirective, ColumnReorderEvent, ColumnReorderService, ColumnResizingService, ColumnStickyChangeEvent, ColumnVisibilityChangeEvent, ColumnsContainer, CommandColumnComponent, ContainsFilterOperatorComponent, ContextService, CustomMessagesComponent, DEFAULT_SCROLLER_FACTORY, DataBindingDirective, DateFilterCellComponent, DateFilterComponent, DateFilterMenuComponent, DateFilterMenuInputComponent, DetailCollapseEvent, DetailExpandEvent, DetailTemplateDirective, DetailsService, DoesNotContainFilterOperatorComponent, DomEventsService, DragAndDropService, DragHintService, DropCueService, EditCommandDirective, EditService, EditTemplateDirective, EditingDirectiveBase, EndsWithFilterOperatorComponent, EqualFilterOperatorComponent, ExcelCommandDirective, ExcelComponent, ExcelExportEvent, ExcelModule, ExcelService, ExpandDetailsDirective, ExpandGroupDirective, FieldAccessorPipe, FilterCellComponent, FilterCellHostDirective, FilterCellOperatorsComponent, FilterCellTemplateDirective, FilterCellWrapperComponent, FilterInputDirective, FilterMenuComponent, FilterMenuContainerComponent, FilterMenuDropDownListDirective, FilterMenuHostDirective, FilterMenuInputWrapperComponent, FilterMenuModule, FilterMenuTemplateDirective, FilterRowComponent, FilterService, FocusRoot, FocusableDirective, FooterComponent, FooterModule, FooterTemplateDirective, GreaterFilterOperatorComponent, GreaterOrEqualToFilterOperatorComponent, GridComponent, GridModule, GridSpacerComponent, GridTableDirective, GridToolbarFocusableDirective, GridToolbarNavigationService, GroupBindingDirective, GroupFooterTemplateDirective, GroupHeaderColumnTemplateDirective, GroupHeaderComponent, GroupHeaderTemplateDirective, GroupInfoService, GroupModule, GroupPanelComponent, GroupsService, HeaderComponent, HeaderModule, HeaderTemplateDirective, IdService, InCellEditingDirective, IsEmptyFilterOperatorComponent, IsNotEmptyFilterOperatorComponent, IsNotNullFilterOperatorComponent, IsNullFilterOperatorComponent, LessFilterOperatorComponent, LessOrEqualToFilterOperatorComponent, ListComponent, LoadingComponent, LoadingTemplateDirective, LocalDataChangesService, LogicalCellDirective, LogicalRowDirective, MenuTabbingService, NavigationService, NoRecordsTemplateDirective, NotEqualFilterOperatorComponent, NumericFilterCellComponent, NumericFilterComponent, NumericFilterMenuComponent, NumericFilterMenuInputComponent, PDFCommandDirective, PDFComponent, PDFMarginComponent, PDFModule, PDFService, PDFTemplateDirective, PagerComponent, PagerContextService, PagerDropDownListDirective, PagerInfoComponent, PagerInputComponent, PagerInputDirective, PagerModule, PagerNextButtonsComponent, PagerNumericButtonsComponent, PagerPageSizesComponent, PagerPrevButtonsComponent, PagerTemplateDirective, PopupCloseEvent, ReactiveEditingDirective, RemoveCommandDirective, ResizableContainerDirective, ResizeService, ResponsiveService, RowEditingDirectiveBase, RowFilterModule, RowReorderColumnComponent, SaveCommandDirective, ScrollRequestService, ScrollSyncService, SelectAllCheckboxDirective, SelectionCheckboxDirective, SelectionDirective, SelectionService, SharedFilterModule, SharedModule, SinglePopupService, SizingOptionsService, Skip, SortService, SpanColumnComponent, StartsWithFilterOperatorComponent, StringFilterCellComponent, StringFilterComponent, StringFilterMenuComponent, StringFilterMenuInputComponent, SuspendService, TableBodyComponent, TableDirective, TemplateContextDirective, TemplateEditingDirective, ToolbarComponent, ToolbarTemplateDirective, count, defaultTrackBy, hasFilterMenu, hasFilterRow, isFilterable, slice };
26612
+ export { AddCommandDirective, AfterEqFilterOperatorComponent, AfterFilterOperatorComponent, AutoCompleteFilterCellComponent, BaseFilterCellComponent, BeforeEqFilterOperatorComponent, BeforeFilterOperatorComponent, BodyModule, BooleanFilterCellComponent, BooleanFilterComponent, BooleanFilterMenuComponent, BooleanFilterRadioButtonDirective, BrowserSupportService, CELL_CONTEXT, CancelCommandDirective, CellCloseEvent, CellComponent, CellLoadingTemplateDirective, CellSelectionService, CellTemplateDirective, ChangeNotificationService, CheckboxColumnComponent, ColGroupComponent, ColumnBase, ColumnChooserComponent, ColumnComponent, ColumnGroupComponent, ColumnHandleDirective, ColumnInfoService, ColumnListComponent, ColumnLockedChangeEvent, ColumnMenuAutoSizeAllColumnsComponent, ColumnMenuAutoSizeColumnComponent, ColumnMenuChooserComponent, ColumnMenuComponent, ColumnMenuContainerComponent, ColumnMenuFilterComponent, ColumnMenuItemComponent, ColumnMenuItemContentTemplateDirective, ColumnMenuItemDirective, ColumnMenuLockComponent, ColumnMenuPositionComponent, ColumnMenuService, ColumnMenuSortComponent, ColumnMenuStickComponent, ColumnMenuTemplateDirective, ColumnReorderEvent, ColumnReorderService, ColumnResizingService, ColumnStickyChangeEvent, ColumnVisibilityChangeEvent, ColumnsContainer, CommandColumnComponent, ContainsFilterOperatorComponent, ContextService, CustomMessagesComponent, DEFAULT_SCROLLER_FACTORY, DataBindingDirective, DateFilterCellComponent, DateFilterComponent, DateFilterMenuComponent, DateFilterMenuInputComponent, DetailCollapseEvent, DetailExpandEvent, DetailTemplateDirective, DetailsService, DoesNotContainFilterOperatorComponent, DomEventsService, DragAndDropService, DragHintService, DropCueService, EditCommandDirective, EditService, EditTemplateDirective, EditingDirectiveBase, EndsWithFilterOperatorComponent, EqualFilterOperatorComponent, ExcelCommandDirective, ExcelComponent, ExcelExportEvent, ExcelModule, ExcelService, ExpandDetailsDirective, ExpandGroupDirective, FieldAccessorPipe, FilterCellComponent, FilterCellHostDirective, FilterCellOperatorsComponent, FilterCellTemplateDirective, FilterCellWrapperComponent, FilterInputDirective, FilterMenuComponent, FilterMenuContainerComponent, FilterMenuDropDownListDirective, FilterMenuHostDirective, FilterMenuInputWrapperComponent, FilterMenuModule, FilterMenuTemplateDirective, FilterRowComponent, FilterService, FocusRoot, FocusableDirective, FooterComponent, FooterModule, FooterTemplateDirective, GreaterFilterOperatorComponent, GreaterOrEqualToFilterOperatorComponent, GridComponent, GridModule, GridSpacerComponent, GridTableDirective, GridToolbarFocusableDirective, GridToolbarNavigationService, GroupBindingDirective, GroupFooterTemplateDirective, GroupHeaderColumnTemplateDirective, GroupHeaderComponent, GroupHeaderTemplateDirective, GroupInfoService, GroupModule, GroupPanelComponent, GroupsService, HeaderComponent, HeaderModule, HeaderTemplateDirective, IdService, InCellEditingDirective, IsEmptyFilterOperatorComponent, IsNotEmptyFilterOperatorComponent, IsNotNullFilterOperatorComponent, IsNullFilterOperatorComponent, LessFilterOperatorComponent, LessOrEqualToFilterOperatorComponent, ListComponent, LoadingComponent, LoadingTemplateDirective, LocalDataChangesService, LogicalCellDirective, LogicalRowDirective, MenuTabbingService, NavigationService, NoRecordsTemplateDirective, NotEqualFilterOperatorComponent, NumericFilterCellComponent, NumericFilterComponent, NumericFilterMenuComponent, NumericFilterMenuInputComponent, PDFCommandDirective, PDFComponent, PDFMarginComponent, PDFModule, PDFService, PDFTemplateDirective, PagerComponent, PagerContextService, PagerDropDownListDirective, PagerInfoComponent, PagerInputComponent, PagerInputDirective, PagerModule, PagerNextButtonsComponent, PagerNumericButtonsComponent, PagerPageSizesComponent, PagerPrevButtonsComponent, PagerTemplateDirective, PopupCloseEvent, ReactiveEditingDirective, RemoveCommandDirective, ResizableContainerDirective, ResizeService, ResponsiveService, RowEditingDirectiveBase, RowFilterModule, RowReorderColumnComponent, SaveCommandDirective, ScrollRequestService, ScrollSyncService, SelectAllCheckboxDirective, SelectionCheckboxDirective, SelectionDirective, SelectionService, SharedFilterModule, SharedModule, SinglePopupService, SizingOptionsService, Skip, SortService, SpanColumnComponent, StartsWithFilterOperatorComponent, StatusBarTemplateDirective, StringFilterCellComponent, StringFilterComponent, StringFilterMenuComponent, StringFilterMenuInputComponent, SuspendService, TableBodyComponent, TableDirective, TemplateContextDirective, TemplateEditingDirective, ToolbarComponent, ToolbarTemplateDirective, count, defaultTrackBy, hasFilterMenu, hasFilterRow, isFilterable, slice };
26232
26613