@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 { plusIcon, cancelIcon, lockIcon, unlockIcon, insertMiddleIcon, caretAltL
22
22
  import * as i1$3 from '@angular/platform-browser';
23
23
  import * as i3 from '@progress/kendo-angular-icons';
24
24
  import { IconsModule } from '@progress/kendo-angular-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';
@@ -2076,16 +2076,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2076
2076
  * @hidden
2077
2077
  */
2078
2078
  class SelectionService {
2079
- constructor(domEvents, localDataChangesService, navigationService) {
2079
+ constructor(domEvents, localDataChangesService, navigationService, ctxService) {
2080
2080
  this.domEvents = domEvents;
2081
2081
  this.localDataChangesService = localDataChangesService;
2082
2082
  this.navigationService = navigationService;
2083
+ this.ctxService = ctxService;
2083
2084
  this.changes = new EventEmitter();
2084
- this.lastSelectionStartIndex = 0;
2085
+ this.aggregateChanges = new EventEmitter();
2085
2086
  this.currentSelection = [];
2086
2087
  this.selectAllChecked = false;
2087
2088
  this.active = false;
2088
2089
  this.dragging = false;
2090
+ this.lastSelectionData = {};
2089
2091
  this.addSubscriptions();
2090
2092
  }
2091
2093
  get enableMarquee() {
@@ -2103,7 +2105,12 @@ class SelectionService {
2103
2105
  return this.active && dragAndMultiple;
2104
2106
  }
2105
2107
  init(settings) {
2108
+ var _a, _b, _c, _d, _e, _f;
2106
2109
  this.settings = settings;
2110
+ if (!isPresent(this.lastSelectionStartIndex)) {
2111
+ this.lastSelectionStartIndex = ((_c = (_b = (_a = this.ctxService) === null || _a === void 0 ? void 0 : _a.grid.selectionDirective) === null || _b === void 0 ? void 0 : _b.rangeSelectionStartRow) === null || _c === void 0 ? void 0 : _c.index) || 0;
2112
+ this.lastSelectionData = ((_f = (_e = (_d = this.ctxService) === null || _d === void 0 ? void 0 : _d.grid.selectionDirective) === null || _e === void 0 ? void 0 : _e.rangeSelectionStartRow) === null || _f === void 0 ? void 0 : _f.dataItem) || {};
2113
+ }
2107
2114
  this.currentSelection = [];
2108
2115
  if (settings.selectable && settings.selectable.enabled !== false) {
2109
2116
  const iterator = this.getIterator();
@@ -2164,12 +2171,21 @@ class SelectionService {
2164
2171
  }
2165
2172
  ev.ctrlKey = ctrlKey;
2166
2173
  ev.shiftKey = event.shiftKey;
2174
+ if (this.options.cellAggregates) {
2175
+ this.aggregateChanges.emit(ev);
2176
+ ev.cellAggregates = this.aggregates;
2177
+ }
2178
+ if (ev.shiftKey) {
2179
+ ev.rangeStartRow = { dataItem: this.lastSelectionData, index: this.lastSelectionStartIndex };
2180
+ ev.rangeEndRow = { dataItem: item.data, index: item.index };
2181
+ }
2167
2182
  this.changes.emit(ev);
2168
2183
  }
2169
2184
  toggle(item) {
2170
2185
  const selectedRows = [];
2171
2186
  const deselectedRows = [];
2172
2187
  this.lastSelectionStartIndex = item.index;
2188
+ this.lastSelectionData = item.data;
2173
2189
  const rowArgs = { dataItem: item.data, index: item.index };
2174
2190
  if (this.isSelected(item.index)) {
2175
2191
  deselectedRows.push(rowArgs);
@@ -2208,6 +2224,7 @@ class SelectionService {
2208
2224
  const deselectedRows = [];
2209
2225
  const selectedRows = [];
2210
2226
  this.lastSelectionStartIndex = item.index;
2227
+ this.lastSelectionData = item.data;
2211
2228
  if (!this.isSelected(item.index)) {
2212
2229
  selectedRows.push({ dataItem: item.data, index: item.index });
2213
2230
  }
@@ -2318,9 +2335,15 @@ class SelectionService {
2318
2335
  }
2319
2336
  next = iterator.next();
2320
2337
  }
2338
+ let cellAggregates;
2339
+ if (this.options.cellAggregates) {
2340
+ this.aggregateChanges.emit({ selectedRows, deselectedRows });
2341
+ cellAggregates = this.aggregates;
2342
+ }
2321
2343
  return {
2322
2344
  deselectedRows: deselectedRows,
2323
- selectedRows: selectedRows
2345
+ selectedRows: selectedRows,
2346
+ cellAggregates
2324
2347
  };
2325
2348
  }
2326
2349
  get selectAllState() {
@@ -2333,6 +2356,7 @@ class SelectionService {
2333
2356
  }
2334
2357
  get options() {
2335
2358
  const defaultOptions = {
2359
+ cellAggregates: false,
2336
2360
  checkboxOnly: false,
2337
2361
  enabled: true,
2338
2362
  mode: "multiple"
@@ -2342,6 +2366,7 @@ class SelectionService {
2342
2366
  }
2343
2367
  if (typeof this.settings.selectable === 'boolean') {
2344
2368
  return {
2369
+ cellAggregates: false,
2345
2370
  checkboxOnly: false,
2346
2371
  enabled: this.settings.selectable,
2347
2372
  mode: "multiple"
@@ -2414,11 +2439,11 @@ class SelectionService {
2414
2439
  }
2415
2440
  }
2416
2441
  }
2417
- 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 });
2442
+ 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 });
2418
2443
  SelectionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SelectionService });
2419
2444
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SelectionService, decorators: [{
2420
2445
  type: Injectable
2421
- }], ctorParameters: function () { return [{ type: DomEventsService }, { type: LocalDataChangesService }, { type: NavigationService }]; } });
2446
+ }], ctorParameters: function () { return [{ type: DomEventsService }, { type: LocalDataChangesService }, { type: NavigationService }, { type: ContextService }]; } });
2422
2447
 
2423
2448
  /**
2424
2449
  * @hidden
@@ -2429,6 +2454,7 @@ class CellSelectionService {
2429
2454
  this.localDataChangesService = localDataChangesService;
2430
2455
  this.navigationService = navigationService;
2431
2456
  this.changes = new EventEmitter();
2457
+ this.aggregateChanges = new EventEmitter();
2432
2458
  this.mouseUpEvent = new EventEmitter();
2433
2459
  this.currentSelection = [];
2434
2460
  this.active = false;
@@ -2514,6 +2540,14 @@ class CellSelectionService {
2514
2540
  }
2515
2541
  ev.ctrlKey = ctrlKey;
2516
2542
  ev.shiftKey = event.shiftKey;
2543
+ if (this.options.cellAggregates) {
2544
+ this.aggregateChanges.emit(ev);
2545
+ ev.cellAggregates = this.aggregates;
2546
+ }
2547
+ if (ev.shiftKey) {
2548
+ ev.rangeStartCell = this.lastSelectionItem;
2549
+ ev.rangeEndCell = Object.assign({}, this.settings.cellSelected({ dataItem: item.data, index: item.index }, item.column, item.column.leafIndex).item);
2550
+ }
2517
2551
  this.changes.emit(ev);
2518
2552
  }
2519
2553
  toggle(item) {
@@ -2617,13 +2651,20 @@ class CellSelectionService {
2617
2651
  }
2618
2652
  next = iterator.next();
2619
2653
  }
2654
+ let cellAggregates;
2655
+ if (this.options.cellAggregates) {
2656
+ this.aggregateChanges.emit({ selectedCells, deselectedCells });
2657
+ cellAggregates = this.aggregates;
2658
+ }
2620
2659
  return {
2621
2660
  deselectedCells,
2622
- selectedCells
2661
+ selectedCells,
2662
+ cellAggregates
2623
2663
  };
2624
2664
  }
2625
2665
  get options() {
2626
2666
  const defaultOptions = {
2667
+ cellAggregates: false,
2627
2668
  checkboxOnly: false,
2628
2669
  enabled: true,
2629
2670
  mode: "multiple"
@@ -2633,6 +2674,7 @@ class CellSelectionService {
2633
2674
  }
2634
2675
  if (typeof this.settings.selectable === 'boolean') {
2635
2676
  return {
2677
+ cellAggregates: false,
2636
2678
  checkboxOnly: false,
2637
2679
  enabled: this.settings.selectable,
2638
2680
  mode: "multiple"
@@ -2906,8 +2948,8 @@ const packageMetadata = {
2906
2948
  name: '@progress/kendo-angular-grid',
2907
2949
  productName: 'Kendo UI for Angular',
2908
2950
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
2909
- publishDate: 1684846761,
2910
- version: '13.0.0-develop.2',
2951
+ publishDate: 1685973015,
2952
+ version: '13.0.0-develop.21',
2911
2953
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
2912
2954
  };
2913
2955
 
@@ -4553,6 +4595,12 @@ class Selection {
4553
4595
  * @default []
4554
4596
  */
4555
4597
  this.selectedKeys = [];
4598
+ /**
4599
+ * Defines the initial shift-click range selection starting column index when cell selection is enabled.
4600
+ *
4601
+ * @default 0
4602
+ */
4603
+ this.rangeSelectionStartColumnIndex = 0;
4556
4604
  /**
4557
4605
  * Fires when the `selectedKeys` collection has been updated.
4558
4606
  */
@@ -4600,6 +4648,9 @@ class Selection {
4600
4648
  this.rowSelectionState.clear();
4601
4649
  this.cellSelectionState.clear();
4602
4650
  }
4651
+ /**
4652
+ * @hidden
4653
+ */
4603
4654
  getItemKey(row) {
4604
4655
  if (this.selectionKey) {
4605
4656
  if (typeof this.selectionKey === "string") {
@@ -4678,7 +4729,7 @@ class Selection {
4678
4729
  }
4679
4730
  }
4680
4731
  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 });
4681
- 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 });
4732
+ 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 });
4682
4733
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: Selection, decorators: [{
4683
4734
  type: Directive,
4684
4735
  args: [{
@@ -4687,6 +4738,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
4687
4738
  }]
4688
4739
  }], ctorParameters: function () { return [{ type: ContextService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { selectedKeys: [{
4689
4740
  type: Input
4741
+ }], rangeSelectionStartRow: [{
4742
+ type: Input
4743
+ }], rangeSelectionStartColumnIndex: [{
4744
+ type: Input
4690
4745
  }], selectionKey: [{
4691
4746
  type: Input,
4692
4747
  args: ["kendoGridSelectBy"]
@@ -6497,6 +6552,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
6497
6552
  type: Output
6498
6553
  }] } });
6499
6554
 
6555
+ /**
6556
+ * Represents the status bar template of the Grid. Allows you to visualize the aggregates using custom rendering inside the template.
6557
+ * The template context has the following field:
6558
+ * - `aggregates`—The [SelectionAggregates]({% slug api_grid_selectionaggregates %}) object that contains all calculated aggregates.
6559
+ * Use the Angular [ngFor](link:site.data.urls.angular['ngfor']) structural directive combined with the [KeyValuePipe](https://angular.io/api/common/KeyValuePipe)
6560
+ * to loop through the aggregates as key-value pairs.
6561
+ */
6562
+ class StatusBarTemplateDirective {
6563
+ constructor(templateRef) {
6564
+ this.templateRef = templateRef;
6565
+ }
6566
+ }
6567
+ StatusBarTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StatusBarTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
6568
+ StatusBarTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: StatusBarTemplateDirective, selector: "[kendoGridStatusBarTemplate]", ngImport: i0 });
6569
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StatusBarTemplateDirective, decorators: [{
6570
+ type: Directive,
6571
+ args: [{
6572
+ selector: '[kendoGridStatusBarTemplate]'
6573
+ }]
6574
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
6575
+
6500
6576
  /**
6501
6577
  * @hidden
6502
6578
  */
@@ -6721,6 +6797,10 @@ class PagerElementComponent {
6721
6797
  this.total = this.pagerContext.total;
6722
6798
  this.skip = this.pagerContext.skip;
6723
6799
  this.pageSize = this.pagerContext.pageSize;
6800
+ this.caretAltLeftIcon = caretAltLeftIcon;
6801
+ this.caretAltToLeftIcon = caretAltToLeftIcon;
6802
+ this.caretAltRightIcon = caretAltRightIcon;
6803
+ this.caretAltToRightIcon = caretAltToRightIcon;
6724
6804
  /**
6725
6805
  * Sets the pager element sizing option.
6726
6806
  * @default `medium`
@@ -6783,6 +6863,18 @@ class PagerElementComponent {
6783
6863
  this.subscriptions.unsubscribe();
6784
6864
  }
6785
6865
  }
6866
+ get prevArrowIcons() {
6867
+ return !this.ctx.localization.rtl ? ['caret-alt-to-left', 'caret-alt-left'] : ['caret-alt-to-right', 'caret-alt-right'];
6868
+ }
6869
+ get prevArrowSVGIcons() {
6870
+ return !this.ctx.localization.rtl ? [this.caretAltToLeftIcon, this.caretAltLeftIcon] : [this.caretAltToRightIcon, this.caretAltRightIcon];
6871
+ }
6872
+ get nextArrowIcons() {
6873
+ return !this.ctx.localization.rtl ? ['caret-alt-right', 'caret-alt-to-right'] : ['caret-alt-left', 'caret-alt-to-left'];
6874
+ }
6875
+ get nextArrowSVGIcons() {
6876
+ return !this.ctx.localization.rtl ? [this.caretAltRightIcon, this.caretAltToRightIcon] : [this.caretAltLeftIcon, this.caretAltToLeftIcon];
6877
+ }
6786
6878
  }
6787
6879
  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 });
6788
6880
  PagerElementComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: PagerElementComponent, inputs: { size: "size" }, ngImport: i0 });
@@ -6800,8 +6892,6 @@ class PagerPrevButtonsComponent extends PagerElementComponent {
6800
6892
  constructor(ctx, pagerContext, cd, navigationService) {
6801
6893
  super(ctx, pagerContext, cd);
6802
6894
  this.navigationService = navigationService;
6803
- this.caretAltLeftIcon = caretAltLeftIcon;
6804
- this.caretAltToLeftIcon = caretAltToLeftIcon;
6805
6895
  }
6806
6896
  /**
6807
6897
  * @hidden
@@ -6830,8 +6920,8 @@ PagerPrevButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
6830
6920
  [attr.aria-label]="textFor('pagerFirstPage')"
6831
6921
  (click)="currentPage !== 1 ? changePage(0) : false"
6832
6922
  role="button"
6833
- icon="caret-alt-to-left"
6834
- [svgIcon]="caretAltToLeftIcon"
6923
+ [icon]="prevArrowIcons[0]"
6924
+ [svgIcon]="prevArrowSVGIcons[0]"
6835
6925
  class="k-pager-nav k-pager-first"
6836
6926
  [disabled]="disabled"
6837
6927
  fillMode="flat"
@@ -6844,8 +6934,8 @@ PagerPrevButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
6844
6934
  type="button"
6845
6935
  class="k-pager-nav"
6846
6936
  [disabled]="disabled"
6847
- icon="caret-alt-left"
6848
- [svgIcon]="caretAltLeftIcon"
6937
+ [icon]="prevArrowIcons[1]"
6938
+ [svgIcon]="prevArrowSVGIcons[1]"
6849
6939
  fillMode="flat"
6850
6940
  rounded="none"
6851
6941
  [size]="size"
@@ -6868,8 +6958,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
6868
6958
  [attr.aria-label]="textFor('pagerFirstPage')"
6869
6959
  (click)="currentPage !== 1 ? changePage(0) : false"
6870
6960
  role="button"
6871
- icon="caret-alt-to-left"
6872
- [svgIcon]="caretAltToLeftIcon"
6961
+ [icon]="prevArrowIcons[0]"
6962
+ [svgIcon]="prevArrowSVGIcons[0]"
6873
6963
  class="k-pager-nav k-pager-first"
6874
6964
  [disabled]="disabled"
6875
6965
  fillMode="flat"
@@ -6882,8 +6972,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
6882
6972
  type="button"
6883
6973
  class="k-pager-nav"
6884
6974
  [disabled]="disabled"
6885
- icon="caret-alt-left"
6886
- [svgIcon]="caretAltLeftIcon"
6975
+ [icon]="prevArrowIcons[1]"
6976
+ [svgIcon]="prevArrowSVGIcons[1]"
6887
6977
  fillMode="flat"
6888
6978
  rounded="none"
6889
6979
  [size]="size"
@@ -7282,8 +7372,6 @@ class PagerNextButtonsComponent extends PagerElementComponent {
7282
7372
  constructor(ctx, pagerContext, cd, navigationService) {
7283
7373
  super(ctx, pagerContext, cd);
7284
7374
  this.navigationService = navigationService;
7285
- this.caretAltRightIcon = caretAltRightIcon;
7286
- this.caretAltToRightIcon = caretAltToRightIcon;
7287
7375
  }
7288
7376
  /**
7289
7377
  * @hidden
@@ -7309,8 +7397,8 @@ PagerNextButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
7309
7397
  [kendoGridFocusable]="!disabled"
7310
7398
  type="button"
7311
7399
  [size]="size"
7312
- icon="caret-alt-right"
7313
- [svgIcon]="caretAltRightIcon"
7400
+ [icon]="nextArrowIcons[0]"
7401
+ [svgIcon]="nextArrowSVGIcons[0]"
7314
7402
  fillMode="flat"
7315
7403
  rounded="none"
7316
7404
  class="k-pager-nav"
@@ -7324,8 +7412,8 @@ PagerNextButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
7324
7412
  [kendoGridFocusable]="!disabled"
7325
7413
  type="button"
7326
7414
  [size]="size"
7327
- icon="caret-alt-to-right"
7328
- [svgIcon]="caretAltToRightIcon"
7415
+ [icon]="nextArrowIcons[1]"
7416
+ [svgIcon]="nextArrowSVGIcons[1]"
7329
7417
  fillMode="flat"
7330
7418
  rounded="none"
7331
7419
  class="k-pager-nav k-pager-last"
@@ -7346,8 +7434,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
7346
7434
  [kendoGridFocusable]="!disabled"
7347
7435
  type="button"
7348
7436
  [size]="size"
7349
- icon="caret-alt-right"
7350
- [svgIcon]="caretAltRightIcon"
7437
+ [icon]="nextArrowIcons[0]"
7438
+ [svgIcon]="nextArrowSVGIcons[0]"
7351
7439
  fillMode="flat"
7352
7440
  rounded="none"
7353
7441
  class="k-pager-nav"
@@ -7361,8 +7449,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
7361
7449
  [kendoGridFocusable]="!disabled"
7362
7450
  type="button"
7363
7451
  [size]="size"
7364
- icon="caret-alt-to-right"
7365
- [svgIcon]="caretAltToRightIcon"
7452
+ [icon]="nextArrowIcons[1]"
7453
+ [svgIcon]="nextArrowSVGIcons[1]"
7366
7454
  fillMode="flat"
7367
7455
  rounded="none"
7368
7456
  class="k-pager-nav k-pager-last"
@@ -7562,7 +7650,7 @@ PagerPageSizesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
7562
7650
  [value]="pageSize"
7563
7651
  (valueChange)="pageSizeChange($event)"></kendo-dropdownlist>
7564
7652
  <kendo-label [for]="dropdownlist" [text]="textFor('pagerItemsPerPage')"></kendo-label>
7565
- `, 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 });
7653
+ `, 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 });
7566
7654
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerPageSizesComponent, decorators: [{
7567
7655
  type: Component,
7568
7656
  args: [{
@@ -8323,7 +8411,7 @@ GroupPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
8323
8411
  [label]="groupTitles[index]"
8324
8412
  [removable]="true"
8325
8413
  [icon]="getDirectionIcon(group)"
8326
- [svgIcon]=""
8414
+ [svgIcon]="getDirectionSvgIcon(group)"
8327
8415
  (contentClick)="directionChange(group)"
8328
8416
  (remove)="remove(group)"
8329
8417
  >
@@ -8375,7 +8463,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
8375
8463
  [label]="groupTitles[index]"
8376
8464
  [removable]="true"
8377
8465
  [icon]="getDirectionIcon(group)"
8378
- [svgIcon]=""
8466
+ [svgIcon]="getDirectionSvgIcon(group)"
8379
8467
  (contentClick)="directionChange(group)"
8380
8468
  (remove)="remove(group)"
8381
8469
  >
@@ -9024,7 +9112,11 @@ class FilterInputDirective {
9024
9112
  this.renderer.setAttribute(focusableElement, 'aria-label', ariaValue);
9025
9113
  }
9026
9114
  else {
9027
- this.renderer.setAttribute(this.element.nativeElement, 'aria-label', ariaValue);
9115
+ const inputElement = this.element.nativeElement.querySelector('.k-input-inner');
9116
+ const elementToSetLabel = inputElement ? inputElement : this.element.nativeElement;
9117
+ if (ariaValue) {
9118
+ this.renderer.setAttribute(elementToSetLabel, 'aria-label', ariaValue);
9119
+ }
9028
9120
  }
9029
9121
  }
9030
9122
  }
@@ -10725,7 +10817,7 @@ class FilterMenuContainerComponent {
10725
10817
  /**
10726
10818
  * @hidden
10727
10819
  */
10728
- this.actionsClass = 'k-actions';
10820
+ this.actionsClass = 'k-actions k-actions-stretched k-actions-horizontal';
10729
10821
  this._templateContext = {};
10730
10822
  this.menuTabbingService = menuTabbingService;
10731
10823
  }
@@ -10847,16 +10939,16 @@ FilterMenuContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
10847
10939
  </ng-container>
10848
10940
  </ng-container>
10849
10941
  <div [ngClass]="actionsClass">
10850
- <button
10851
- #resetButton
10852
- type="reset"
10853
- class="k-button k-button-solid-base k-button-solid k-button-md k-rounded-md k-button-rectangle"
10854
- (keydown.tab)="onTab($event, 'reset')">{{clearText}}</button>
10855
10942
  <button #filterButton
10856
10943
  type="submit"
10857
10944
  class="k-button k-button-solid-primary k-button-solid k-button-md k-rounded-md k-button-rectangle"
10858
10945
  [disabled]="disabled"
10859
10946
  (keydown.tab)="onTab($event, 'filter')">{{filterText}}</button>
10947
+ <button
10948
+ #resetButton
10949
+ type="reset"
10950
+ class="k-button k-button-solid-base k-button-solid k-button-md k-rounded-md k-button-rectangle"
10951
+ (keydown.tab)="onTab($event, 'reset')">{{clearText}}</button>
10860
10952
  </div>
10861
10953
  </div>
10862
10954
  </form>
@@ -10893,16 +10985,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
10893
10985
  </ng-container>
10894
10986
  </ng-container>
10895
10987
  <div [ngClass]="actionsClass">
10896
- <button
10897
- #resetButton
10898
- type="reset"
10899
- class="k-button k-button-solid-base k-button-solid k-button-md k-rounded-md k-button-rectangle"
10900
- (keydown.tab)="onTab($event, 'reset')">{{clearText}}</button>
10901
10988
  <button #filterButton
10902
10989
  type="submit"
10903
10990
  class="k-button k-button-solid-primary k-button-solid k-button-md k-rounded-md k-button-rectangle"
10904
10991
  [disabled]="disabled"
10905
10992
  (keydown.tab)="onTab($event, 'filter')">{{filterText}}</button>
10993
+ <button
10994
+ #resetButton
10995
+ type="reset"
10996
+ class="k-button k-button-solid-base k-button-solid k-button-md k-rounded-md k-button-rectangle"
10997
+ (keydown.tab)="onTab($event, 'reset')">{{clearText}}</button>
10906
10998
  </div>
10907
10999
  </div>
10908
11000
  </form>
@@ -11003,7 +11095,7 @@ FilterMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
11003
11095
  >
11004
11096
  </kendo-grid-filter-menu-container>
11005
11097
  </ng-template>
11006
- `, 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"] }] });
11098
+ `, 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"] }] });
11007
11099
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FilterMenuComponent, decorators: [{
11008
11100
  type: Component,
11009
11101
  args: [{
@@ -11243,7 +11335,7 @@ ColumnMenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
11243
11335
  <ng-container [ngTemplateOutlet]="contentTemplate.templateRef">
11244
11336
  </ng-container>
11245
11337
  <div>
11246
- `, 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: [
11338
+ `, 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: [
11247
11339
  trigger('state', [
11248
11340
  state('collapsed', style({ display: 'none' })),
11249
11341
  state('expanded', style({ display: 'block' })),
@@ -11338,11 +11430,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
11338
11430
 
11339
11431
  /**
11340
11432
  * Represents the column-menu item for locking and unlocking columns in the Grid. [See example](slug:columnmenu_grid#toc-lock-and-unlock-items).
11341
- * The component can be placed inside a [ColumnMenuTemplate]({% slug api_grid_columnmenutemplatedirective %}) directive.
11342
- * [See example](slug:columnmenu_grid#toc-customizing-the-content).
11343
11433
  *
11344
- * You have to set the [ColumnMenuService]({% slug api_grid_columnmenuservice %}) that is passed by
11345
- * the template to the service input of the `kendo-grid-columnmenu-lock` component.
11434
+ * The component can be placed inside a [ColumnMenuTemplate]({% slug api_grid_columnmenutemplatedirective %}) directive.
11435
+ * To register the component as a known column menu item, set the [ColumnMenuService]({% slug api_grid_columnmenuservice %}) that is passed by
11436
+ * the template to the service input of the `kendo-grid-columnmenu-lock` component. [See example](slug:columnmenu_grid#toc-customizing-the-content).
11346
11437
  *
11347
11438
  * @example
11348
11439
  * ```html
@@ -11527,11 +11618,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
11527
11618
 
11528
11619
  /**
11529
11620
  * Represents the column-menu item which combines the lock and sticky column functionalities.
11530
- * [See example](slug:columnmenu_grid#toc-set-column-position-item).
11531
- * The component can be placed inside a [ColumnMenuTemplate]({% slug api_grid_columnmenutemplatedirective %}) directive.
11532
11621
  *
11533
- * You have to set the [ColumnMenuService]({% slug api_grid_columnmenuservice %}) that is passed by
11534
- * the template to the service input of the `kendo-grid-columnmenu-filter` component.
11622
+ * The component can be placed inside a [ColumnMenuTemplate]({% slug api_grid_columnmenutemplatedirective %}) directive.
11623
+ * To register the component as a known column menu item, set the [ColumnMenuService]({% slug api_grid_columnmenuservice %}) that is passed by
11624
+ * the template to the service input of the `kendo-grid-columnmenu-position` component. [See example](slug:columnmenu_grid#toc-set-column-position-item).
11535
11625
  *
11536
11626
  * @example
11537
11627
  * ```html
@@ -11698,7 +11788,7 @@ class ColumnListComponent {
11698
11788
  this.columnChange = new EventEmitter();
11699
11789
  this.autoSync = true;
11700
11790
  this.allowHideAll = false;
11701
- this.actionsClass = 'k-actions';
11791
+ this.actionsClass = 'k-actions k-actions-stretched k-actions-horizontal';
11702
11792
  this.unlockedCount = 0;
11703
11793
  }
11704
11794
  get className() {
@@ -11837,8 +11927,8 @@ ColumnListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
11837
11927
  </label>
11838
11928
  </div>
11839
11929
  <div [ngClass]="actionsClass" *ngIf="!autoSync">
11840
- <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>
11841
11930
  <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>
11931
+ <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>
11842
11932
  </div>
11843
11933
  `, 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"] }] });
11844
11934
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnListComponent, decorators: [{
@@ -11852,8 +11942,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
11852
11942
  </label>
11853
11943
  </div>
11854
11944
  <div [ngClass]="actionsClass" *ngIf="!autoSync">
11855
- <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>
11856
11945
  <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>
11946
+ <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>
11857
11947
  </div>
11858
11948
  `
11859
11949
  }]
@@ -11891,11 +11981,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
11891
11981
 
11892
11982
  /**
11893
11983
  * Represents the column-menu item for selecting columns in the Grid. [See example](slug:columnmenu_grid#toc-column-chooser-item).
11894
- * The component can be placed inside a [ColumnMenuTemplate]({% slug api_grid_columnmenutemplatedirective %}) directive.
11895
- * [See example](slug:columnmenu_grid#toc-customizing-the-content).
11896
11984
  *
11897
- * You have to set the [ColumnMenuService]({% slug api_grid_columnmenuservice %}) that is passed by
11898
- * the template to the service input of the `kendo-grid-columnmenu-chooser` component.
11985
+ * The component can be placed inside a [ColumnMenuTemplate]({% slug api_grid_columnmenutemplatedirective %}) directive.
11986
+ * To register the component as a known column menu item, set the [ColumnMenuService]({% slug api_grid_columnmenuservice %}) that is passed by
11987
+ * the template to the service input of the `kendo-grid-columnmenu-chooser` component. [See example](slug:columnmenu_grid#toc-customizing-the-content).
11899
11988
  *
11900
11989
  * @example
11901
11990
  * ```html
@@ -11933,7 +12022,7 @@ class ColumnMenuChooserComponent extends ColumnMenuItemBase {
11933
12022
  /**
11934
12023
  * @hidden
11935
12024
  */
11936
- this.actionsClass = 'k-actions';
12025
+ this.actionsClass = 'k-actions k-actions-stretched k-actions-horizontal';
11937
12026
  this.columnsIcon = columnsIcon;
11938
12027
  }
11939
12028
  get columns() {
@@ -12033,11 +12122,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
12033
12122
 
12034
12123
  /**
12035
12124
  * Represents the column-menu item for editing column filters in the Grid. [See example](slug:columnmenu_grid#toc-filter-item).
12036
- * The component can be placed inside a [ColumnMenuTemplate]({% slug api_grid_columnmenutemplatedirective %}) directive.
12037
- * [See example](slug:columnmenu_grid#toc-customizing-the-content).
12038
12125
  *
12039
- * You have to set the [ColumnMenuService]({% slug api_grid_columnmenuservice %}) that is passed by
12040
- * the template to the service input of the `kendo-grid-columnmenu-filter` component.
12126
+ * The component can be placed inside a [ColumnMenuTemplate]({% slug api_grid_columnmenutemplatedirective %}) directive.
12127
+ * To register the component as a known column menu item, set the [ColumnMenuService]({% slug api_grid_columnmenuservice %}) that is passed by
12128
+ * the template to the service input of the `kendo-grid-columnmenu-filter` component. [See example](slug:columnmenu_grid#toc-customizing-the-content).
12041
12129
  *
12042
12130
  * @example
12043
12131
  * ```html
@@ -12074,7 +12162,7 @@ class ColumnMenuFilterComponent extends ColumnMenuItemBase {
12074
12162
  /**
12075
12163
  * @hidden
12076
12164
  */
12077
- this.actionsClass = 'k-actions';
12165
+ this.actionsClass = 'k-actions k-actions-stretched k-actions-horizontal';
12078
12166
  this.filterIcon = filterIcon;
12079
12167
  }
12080
12168
  /**
@@ -12286,8 +12374,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
12286
12374
  /**
12287
12375
  * Represents the column-menu item for sorting Grid columns.
12288
12376
  * [See example](slug:columnmenu_grid#toc-sort-item).
12289
- * The compoenent can be placed inside a [ColumnMenuTemplate]({% slug api_grid_columnmenutemplatedirective %}) directive.
12290
- * [See example](slug:columnmenu_grid#toc-customizing-the-content).
12377
+ *
12378
+ * The component can be placed inside a [ColumnMenuTemplate]({% slug api_grid_columnmenutemplatedirective %}) directive.
12379
+ * To register the component as a known column menu item, set the [ColumnMenuService]({% slug api_grid_columnmenuservice %}) that is passed by
12380
+ * the template to the service input of the `kendo-grid-columnmenu-sort` component. [See example](slug:columnmenu_grid#toc-customizing-the-content).
12291
12381
  *
12292
12382
  * You have to set the [ColumnMenuService]({% slug api_grid_columnmenuservice %}) that is passed by
12293
12383
  * the template to the service input of the `kendo-grid-columnmenu-sort` component.
@@ -12453,11 +12543,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
12453
12543
  /**
12454
12544
  * 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.
12455
12545
  * [See example](slug:columnmenu_grid#toc-autosize-all-columns-item).
12456
- * The component can be placed inside a [ColumnMenuTemplate]({% slug api_grid_columnmenutemplatedirective %}) directive.
12457
- * [See example](slug:columnmenu_grid#toc-customizing-the-content).
12458
12546
  *
12459
- * You have to set the [ColumnMenuService]({% slug api_grid_columnmenuservice %}) that is passed by
12460
- * the template to the `service` input of the `kendo-grid-columnmenu-autosize-all-columns` component.
12547
+ * The component can be placed inside a [ColumnMenuTemplate]({% slug api_grid_columnmenutemplatedirective %}) directive.
12548
+ * To register the component as a known column menu item, set the [ColumnMenuService]({% slug api_grid_columnmenuservice %}) that is passed by
12549
+ * the template to the `service` input of the `kendo-grid-columnmenu-autosize-all-columns` component. [See example](slug:columnmenu_grid#toc-customizing-the-content).
12461
12550
  *
12462
12551
  * @example
12463
12552
  * ```html
@@ -12903,7 +12992,7 @@ ColumnMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
12903
12992
  </kendo-tabstrip-tab>
12904
12993
  </kendo-tabstrip>
12905
12994
  </ng-template>
12906
- `, 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]" }] });
12995
+ `, 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]" }] });
12907
12996
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnMenuComponent, decorators: [{
12908
12997
  type: Component,
12909
12998
  args: [{
@@ -13206,13 +13295,22 @@ class FilterCellOperatorsComponent {
13206
13295
  this.subs.unsubscribe();
13207
13296
  }
13208
13297
  }
13298
+ /**
13299
+ * @hidden
13300
+ */
13301
+ get columnLabel() {
13302
+ const localizationMsg = this.ctx.localization.get('filterCellOperatorLabel') || '';
13303
+ const columnName = this.column.title || this.column.field;
13304
+ return replaceMessagePlaceholder(localizationMsg, 'columnName', columnName);
13305
+ }
13209
13306
  }
13210
13307
  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 });
13211
- 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: `
13308
+ 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: `
13212
13309
  <kendo-dropdownlist
13213
13310
  #dropdown
13214
13311
  *ngIf="showOperators"
13215
13312
  kendoGridFocusable
13313
+ [attr.aria-label]="columnLabel"
13216
13314
  [data]="operators"
13217
13315
  class="k-dropdown-operator"
13218
13316
  (valueChange)="onChange($event)"
@@ -13245,6 +13343,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
13245
13343
  #dropdown
13246
13344
  *ngIf="showOperators"
13247
13345
  kendoGridFocusable
13346
+ [attr.aria-label]="columnLabel"
13248
13347
  [data]="operators"
13249
13348
  class="k-dropdown-operator"
13250
13349
  (valueChange)="onChange($event)"
@@ -13283,6 +13382,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
13283
13382
  type: Input
13284
13383
  }], value: [{
13285
13384
  type: Input
13385
+ }], column: [{
13386
+ type: Input
13286
13387
  }], valueChange: [{
13287
13388
  type: Output
13288
13389
  }], clear: [{
@@ -13318,12 +13419,13 @@ FilterCellWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
13318
13419
  <ng-content></ng-content>
13319
13420
  <kendo-grid-filter-cell-operators
13320
13421
  [showOperators]="showOperators"
13422
+ [column]="column"
13321
13423
  [operators]="operators"
13322
13424
  (clear)="onClear()"
13323
13425
  [showButton]="showButton"
13324
13426
  [(value)]="currentOperator">
13325
13427
  </kendo-grid-filter-cell-operators>
13326
- `, isInline: true, components: [{ type: FilterCellOperatorsComponent, selector: "kendo-grid-filter-cell-operators", inputs: ["operators", "showButton", "showOperators", "value"], outputs: ["valueChange", "clear"] }] });
13428
+ `, isInline: true, components: [{ type: FilterCellOperatorsComponent, selector: "kendo-grid-filter-cell-operators", inputs: ["operators", "showButton", "showOperators", "value", "column"], outputs: ["valueChange", "clear"] }] });
13327
13429
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FilterCellWrapperComponent, decorators: [{
13328
13430
  type: Component,
13329
13431
  args: [{
@@ -13332,6 +13434,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
13332
13434
  <ng-content></ng-content>
13333
13435
  <kendo-grid-filter-cell-operators
13334
13436
  [showOperators]="showOperators"
13437
+ [column]="column"
13335
13438
  [operators]="operators"
13336
13439
  (clear)="onClear()"
13337
13440
  [showButton]="showButton"
@@ -13414,7 +13517,7 @@ StringFilterCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
13414
13517
  [filterDelay]="filterDelay"
13415
13518
  [ngModel]="currentFilter?.value"></kendo-textbox>
13416
13519
  </kendo-grid-filter-wrapper-cell>
13417
- `, 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"] }] });
13520
+ `, 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"] }] });
13418
13521
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StringFilterCellComponent, decorators: [{
13419
13522
  type: Component,
13420
13523
  args: [{
@@ -13609,7 +13712,7 @@ class BooleanFilterCellComponent extends BooleanFilterComponent {
13609
13712
  * @hidden
13610
13713
  */
13611
13714
  get columnLabel() {
13612
- const localizationMsg = this.ctx.localization.get('filterInputLabel') || '';
13715
+ const localizationMsg = this.ctx.localization.get('booleanFilterCellLabel') || '';
13613
13716
  const columnName = this.column.title || this.column.field;
13614
13717
  return replaceMessagePlaceholder(localizationMsg, 'columnName', columnName);
13615
13718
  }
@@ -15279,7 +15382,7 @@ HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versio
15279
15382
  [logicalSlaveCellsCount]="unlockedColumnsCount"
15280
15383
  ></tr>
15281
15384
  </ng-container>
15282
- `, 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"] }] });
15385
+ `, 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"] }] });
15283
15386
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: HeaderComponent, decorators: [{
15284
15387
  type: Component,
15285
15388
  args: [{
@@ -15858,6 +15961,8 @@ class SelectionCheckboxDirective {
15858
15961
  const ev = this.selectionService.toggleByIndex(this.itemIndex);
15859
15962
  ev.ctrlKey = true;
15860
15963
  ev.shiftKey = false;
15964
+ this.selectionService.aggregateChanges.emit(ev);
15965
+ ev.cellAggregates = this.selectionService.aggregates;
15861
15966
  this.selectionService.changes.emit(ev);
15862
15967
  });
15863
15968
  }
@@ -16132,7 +16237,7 @@ CellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
16132
16237
  </ng-container>
16133
16238
  </ng-container>
16134
16239
  </ng-container>
16135
- `, 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 } });
16240
+ `, 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 } });
16136
16241
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CellComponent, decorators: [{
16137
16242
  type: Component,
16138
16243
  args: [{
@@ -16264,11 +16369,12 @@ class GroupHeaderComponent {
16264
16369
  this.hasDetails = false;
16265
16370
  this.totalColumnsCount = 0;
16266
16371
  this.groups = [];
16372
+ this.groupItemClass = true;
16373
+ this.tableGroupRowClass = true;
16267
16374
  this.isExpanded = false;
16268
16375
  this.caretAltDownIcon = caretAltDownIcon;
16269
16376
  this.caretAltRightIcon = caretAltRightIcon;
16270
- this.groupItemClass = true;
16271
- this.tableGroupRowClass = true;
16377
+ this.caretAltLeftIcon = caretAltLeftIcon;
16272
16378
  }
16273
16379
  ngDoCheck() {
16274
16380
  const groupArgs = {
@@ -16319,6 +16425,22 @@ class GroupHeaderComponent {
16319
16425
  const messageKey = this.isExpanded ? 'groupCollapse' : 'groupExpand';
16320
16426
  return this.ctx.localization.get(messageKey);
16321
16427
  }
16428
+ get arrowIcon() {
16429
+ const icon = !this.isExpanded ?
16430
+ !this.ctx.localization.rtl ?
16431
+ 'caret-alt-right' :
16432
+ 'caret-alt-left' :
16433
+ 'caret-alt-down';
16434
+ return icon;
16435
+ }
16436
+ get arrowSVGIcon() {
16437
+ const icon = !this.isExpanded ?
16438
+ !this.ctx.localization.rtl ?
16439
+ this.caretAltRightIcon :
16440
+ this.caretAltLeftIcon :
16441
+ this.caretAltDownIcon;
16442
+ return icon;
16443
+ }
16322
16444
  }
16323
16445
  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 });
16324
16446
  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: `
@@ -16345,8 +16467,8 @@ GroupHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
16345
16467
  [attr.title]="groupButtonTitle"
16346
16468
  [attr.aria-label]="groupButtonTitle">
16347
16469
  <kendo-icon-wrapper
16348
- [name]="isExpanded ? 'caret-alt-down' : 'caret-alt-right'"
16349
- [svgIcon]="isExpanded ? caretAltDownIcon : caretAltRightIcon"></kendo-icon-wrapper>
16470
+ [name]="arrowIcon"
16471
+ [svgIcon]="arrowSVGIcon"></kendo-icon-wrapper>
16350
16472
  </a>
16351
16473
  <ng-container *ngIf="!groupHeaderTemplate(item)">
16352
16474
  {{groupTitle(item)}}: {{item.data | valueOf:"value": formatForGroup(item)}}
@@ -16390,7 +16512,7 @@ GroupHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
16390
16512
  </ng-template>
16391
16513
  </td>
16392
16514
  </ng-container>
16393
- `, 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 } });
16515
+ `, 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 } });
16394
16516
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GroupHeaderComponent, decorators: [{
16395
16517
  type: Component,
16396
16518
  args: [{
@@ -16419,8 +16541,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
16419
16541
  [attr.title]="groupButtonTitle"
16420
16542
  [attr.aria-label]="groupButtonTitle">
16421
16543
  <kendo-icon-wrapper
16422
- [name]="isExpanded ? 'caret-alt-down' : 'caret-alt-right'"
16423
- [svgIcon]="isExpanded ? caretAltDownIcon : caretAltRightIcon"></kendo-icon-wrapper>
16544
+ [name]="arrowIcon"
16545
+ [svgIcon]="arrowSVGIcon"></kendo-icon-wrapper>
16424
16546
  </a>
16425
16547
  <ng-container *ngIf="!groupHeaderTemplate(item)">
16426
16548
  {{groupTitle(item)}}: {{item.data | valueOf:"value": formatForGroup(item)}}
@@ -17061,7 +17183,7 @@ TableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
17061
17183
  </tr>
17062
17184
  </ng-container>
17063
17185
  <kendo-resize-sensor *ngIf="rowSticky" (resize)="resizeHandler()"></kendo-resize-sensor>
17064
- `, 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"] }] });
17186
+ `, 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"] }] });
17065
17187
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TableBodyComponent, decorators: [{
17066
17188
  type: Component,
17067
17189
  args: [{
@@ -18121,7 +18243,6 @@ ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
18121
18243
  [size]="size"
18122
18244
  [style.width.px]="lockedWidth">
18123
18245
  <colgroup kendoGridColGroup
18124
- role="presentation"
18125
18246
  [groups]="groups"
18126
18247
  [columns]="$any(lockedLeafColumns)"
18127
18248
  [detailTemplate]="detailTemplate"
@@ -18153,11 +18274,12 @@ ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
18153
18274
  <div [style.height.px]="totalHeight"></div>
18154
18275
  </div>
18155
18276
  </div>
18156
- <div #container
18157
- class="k-grid-content k-virtual-content"
18158
- role="presentation" tabindex="-1"
18159
- [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
18160
- [lockedWidth]="lockedWidth + 1">
18277
+ <div
18278
+ #container
18279
+ class="k-grid-content k-virtual-content"
18280
+ [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
18281
+ [lockedWidth]="lockedWidth + 1"
18282
+ >
18161
18283
  <div role="presentation" class="k-grid-table-wrap">
18162
18284
  <table
18163
18285
  [style.width.px]="nonLockedWidth"
@@ -18168,7 +18290,6 @@ ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
18168
18290
  [size]="size"
18169
18291
  role="presentation">
18170
18292
  <colgroup kendoGridColGroup
18171
- role="presentation"
18172
18293
  [groups]="isLocked ? [] : groups"
18173
18294
  [columns]="$any(nonLockedColumnsToRender)"
18174
18295
  [detailTemplate]="detailTemplate"
@@ -18240,7 +18361,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
18240
18361
  [size]="size"
18241
18362
  [style.width.px]="lockedWidth">
18242
18363
  <colgroup kendoGridColGroup
18243
- role="presentation"
18244
18364
  [groups]="groups"
18245
18365
  [columns]="$any(lockedLeafColumns)"
18246
18366
  [detailTemplate]="detailTemplate"
@@ -18272,11 +18392,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
18272
18392
  <div [style.height.px]="totalHeight"></div>
18273
18393
  </div>
18274
18394
  </div>
18275
- <div #container
18276
- class="k-grid-content k-virtual-content"
18277
- role="presentation" tabindex="-1"
18278
- [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
18279
- [lockedWidth]="lockedWidth + 1">
18395
+ <div
18396
+ #container
18397
+ class="k-grid-content k-virtual-content"
18398
+ [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
18399
+ [lockedWidth]="lockedWidth + 1"
18400
+ >
18280
18401
  <div role="presentation" class="k-grid-table-wrap">
18281
18402
  <table
18282
18403
  [style.width.px]="nonLockedWidth"
@@ -18287,7 +18408,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
18287
18408
  [size]="size"
18288
18409
  role="presentation">
18289
18410
  <colgroup kendoGridColGroup
18290
- role="presentation"
18291
18411
  [groups]="isLocked ? [] : groups"
18292
18412
  [columns]="$any(nonLockedColumnsToRender)"
18293
18413
  [detailTemplate]="detailTemplate"
@@ -18600,13 +18720,231 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
18600
18720
  type: Input
18601
18721
  }] } });
18602
18722
 
18723
+ /* eslint-disable @typescript-eslint/no-explicit-any */
18724
+ ;
18725
+ /**
18726
+ * @hidden
18727
+ */
18728
+ class StatusBarComponent {
18729
+ constructor(ctx, selectionService, dataChanges, columnInfoService, cellSelectionService) {
18730
+ this.ctx = ctx;
18731
+ this.selectionService = selectionService;
18732
+ this.dataChanges = dataChanges;
18733
+ this.columnInfoService = columnInfoService;
18734
+ this.cellSelectionService = cellSelectionService;
18735
+ this.hostClasses = true;
18736
+ this.groupedAggregates = { dates: [], numbers: [], booleans: [] };
18737
+ this.aggregates = {
18738
+ sum: null,
18739
+ average: null,
18740
+ min: null,
18741
+ max: null,
18742
+ count: null,
18743
+ isTrue: null,
18744
+ isFalse: null,
18745
+ earliest: null,
18746
+ latest: null
18747
+ };
18748
+ this.subs = new Subscription();
18749
+ this.selectedItems = [];
18750
+ }
18751
+ get isStatusBarTemplate() {
18752
+ return this.statusBarTemplate ? '' : 'none';
18753
+ }
18754
+ ngOnInit() {
18755
+ if (this.selectableSettings.cellAggregates) {
18756
+ this.data = this.dataChanges.data ? this.dataChanges.data : this.ctx.grid.data;
18757
+ this.selectService = this.isRowSelection ? this.selectionService : this.cellSelectionService;
18758
+ if (this.isAggregateIncluded('count')) {
18759
+ this.aggregates['count'] = 0;
18760
+ }
18761
+ const selectionDirective = this.ctx.grid.selectionDirective;
18762
+ if (selectionDirective && !this.isRowSelection) {
18763
+ this.selectedItems = selectionDirective.selectedKeys;
18764
+ }
18765
+ this.subs.add(this.selectService.aggregateChanges.subscribe((selectionArgs) => this.onSelectionChange(selectionArgs)));
18766
+ }
18767
+ }
18768
+ ngOnDestroy() {
18769
+ this.subs.unsubscribe();
18770
+ }
18771
+ onSelectionChange(selectionArgs) {
18772
+ this.handleSelectedItems(selectionArgs);
18773
+ this.nullifyAggregates();
18774
+ this.handleAggregateChanges();
18775
+ this.selectService.aggregates = this.aggregates;
18776
+ }
18777
+ handleAggregateChanges() {
18778
+ const lockedColumns = this.columnInfoService.lockedLeafColumns.toArray();
18779
+ const nonLockedColumns = this.columnInfoService.nonLockedLeafColumns.toArray();
18780
+ const selectedItemsLength = this.selectedItems.length;
18781
+ const columns = [...lockedColumns, ...nonLockedColumns];
18782
+ const fields = columns.map(col => col.field);
18783
+ if (this.isAggregateIncluded('count')) {
18784
+ this.aggregates['count'] = this.isRowSelection ? (selectedItemsLength * columns.length) : selectedItemsLength;
18785
+ }
18786
+ this.selectedItems.forEach((item) => {
18787
+ if (this.isRowSelection) {
18788
+ fields.forEach((field) => {
18789
+ const cellValue = item.dataItem;
18790
+ if (cellValue && cellValue.hasOwnProperty(field)) {
18791
+ const cellValue = item.dataItem[field];
18792
+ this.groupAggregates(cellValue);
18793
+ }
18794
+ });
18795
+ }
18796
+ else if (this.selectService.options.cell) {
18797
+ const itemKey = this.data[item.itemKey];
18798
+ const field = fields[item.columnKey];
18799
+ if (itemKey && itemKey.hasOwnProperty(field)) {
18800
+ const cellValue = itemKey[fields[item.columnKey]];
18801
+ this.groupAggregates(cellValue);
18802
+ }
18803
+ }
18804
+ });
18805
+ this.calculateAggregates();
18806
+ }
18807
+ groupAggregates(aggregate) {
18808
+ if (typeof aggregate === 'number') {
18809
+ this.groupedAggregates.numbers.push(aggregate);
18810
+ }
18811
+ else if (typeof aggregate === 'boolean') {
18812
+ this.groupedAggregates.booleans.push(aggregate);
18813
+ }
18814
+ else if (aggregate instanceof Date) {
18815
+ this.groupedAggregates.dates.push(aggregate);
18816
+ }
18817
+ }
18818
+ calculateAggregates() {
18819
+ if (this.groupedAggregates.numbers.length > 0) {
18820
+ if (this.isAggregateIncluded('min')) {
18821
+ this.aggregates['min'] = Math.min(...this.groupedAggregates.numbers);
18822
+ }
18823
+ if (this.isAggregateIncluded('max')) {
18824
+ this.aggregates['max'] = Math.max(...this.groupedAggregates.numbers);
18825
+ }
18826
+ if (this.isAggregateIncluded('sum')) {
18827
+ this.aggregates['sum'] = this.groupedAggregates.numbers.reduce((acc, curr) => acc += curr, 0);
18828
+ }
18829
+ if (this.isAggregateIncluded('average')) {
18830
+ this.aggregates['average'] = this.aggregates['sum'] / this.groupedAggregates.numbers.length;
18831
+ }
18832
+ }
18833
+ if (this.groupedAggregates.booleans.length > 0) {
18834
+ if (this.isAggregateIncluded('isTrue')) {
18835
+ const isTrueCount = this.groupedAggregates.booleans.filter(bool => bool).length;
18836
+ this.aggregates['isTrue'] = isTrueCount > 0 ? isTrueCount : null;
18837
+ }
18838
+ if (this.isAggregateIncluded('isFalse')) {
18839
+ const isFalseCount = this.groupedAggregates.booleans.length - this.aggregates['isTrue'];
18840
+ this.aggregates['isFalse'] = isFalseCount > 0 ? isFalseCount : null;
18841
+ }
18842
+ }
18843
+ if (this.groupedAggregates.dates.length > 0) {
18844
+ if (this.isAggregateIncluded('earliest')) {
18845
+ this.aggregates['earliest'] = new Date(Math.min(...this.groupedAggregates.dates));
18846
+ }
18847
+ if (this.isAggregateIncluded('latest')) {
18848
+ this.aggregates['latest'] = new Date(Math.max(...this.groupedAggregates.dates));
18849
+ }
18850
+ }
18851
+ }
18852
+ handleSelectedItems(selectionArgs) {
18853
+ const rowOrCellSelect = `${this.isRowSelection ? 'selectedRows' : 'selectedCells'}`;
18854
+ const rowOrCellDeselect = `${this.isRowSelection ? 'deselectedRows' : 'deselectedCells'}`;
18855
+ const selectedItems = selectionArgs[rowOrCellSelect];
18856
+ const deselectedItems = selectionArgs[rowOrCellDeselect];
18857
+ if (!this.isRowSelection) {
18858
+ // Needed when we have column groups with cell selection, the deselected items are duplicated
18859
+ deselectedItems.forEach((item, index) => {
18860
+ if (index + 1 < deselectedItems.length) {
18861
+ if (item.itemKey === deselectedItems[index + 1].itemKey
18862
+ && item.columnKey === deselectedItems[index + 1].columnKey) {
18863
+ deselectedItems.splice(index, 1);
18864
+ }
18865
+ }
18866
+ });
18867
+ }
18868
+ if (selectedItems.length > 0) {
18869
+ selectedItems.forEach((item) => {
18870
+ this.selectedItems = [...this.selectedItems, item];
18871
+ });
18872
+ }
18873
+ if (deselectedItems.length > 0) {
18874
+ if (this.isRowSelection) {
18875
+ deselectedItems.forEach((row) => {
18876
+ this.selectedItems = this.selectedItems.filter((elem) => elem.dataItem !== row.dataItem);
18877
+ });
18878
+ }
18879
+ else {
18880
+ deselectedItems.forEach((cell) => {
18881
+ const index = this.selectedItems.findIndex((elem) => elem.itemKey === cell.itemKey && elem.columnKey === cell.columnKey);
18882
+ this.selectedItems.splice(index, 1);
18883
+ });
18884
+ }
18885
+ }
18886
+ }
18887
+ isAggregateIncluded(aggregate) {
18888
+ const { cellAggregates } = this.selectService.options;
18889
+ if (typeof cellAggregates !== 'boolean') {
18890
+ return cellAggregates.includes(aggregate);
18891
+ }
18892
+ return true;
18893
+ }
18894
+ nullifyAggregates() {
18895
+ this.groupedAggregates = { dates: [], numbers: [], booleans: [] };
18896
+ this.aggregates['count'] = null;
18897
+ this.aggregates['sum'] = this.aggregates['average'] = null;
18898
+ this.aggregates['max'] = this.aggregates['min'] = null;
18899
+ this.aggregates['isFalse'] = this.aggregates['isTrue'] = null;
18900
+ this.aggregates['earliest'] = this.aggregates['latest'] = null;
18901
+ }
18902
+ get isRowSelection() {
18903
+ return typeof this.selectableSettings === 'boolean' || !this.selectableSettings.cell;
18904
+ }
18905
+ }
18906
+ 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 });
18907
+ 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: `
18908
+ <ng-template
18909
+ *ngIf="statusBarTemplate"
18910
+ [ngTemplateOutlet]="statusBarTemplate?.templateRef"
18911
+ [ngTemplateOutletContext]="{ aggregates: aggregates }">
18912
+ </ng-template>
18913
+ `, isInline: true, directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
18914
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StatusBarComponent, decorators: [{
18915
+ type: Component,
18916
+ args: [{
18917
+ selector: 'kendo-grid-status-bar',
18918
+ template: `
18919
+ <ng-template
18920
+ *ngIf="statusBarTemplate"
18921
+ [ngTemplateOutlet]="statusBarTemplate?.templateRef"
18922
+ [ngTemplateOutletContext]="{ aggregates: aggregates }">
18923
+ </ng-template>
18924
+ `
18925
+ }]
18926
+ }], ctorParameters: function () { return [{ type: ContextService }, { type: SelectionService }, { type: LocalDataChangesService }, { type: ColumnInfoService }, { type: CellSelectionService }]; }, propDecorators: { hostClasses: [{
18927
+ type: HostBinding,
18928
+ args: ['class.k-selection-aggregates']
18929
+ }, {
18930
+ type: HostBinding,
18931
+ args: ['class.k-grid-selection-aggregates']
18932
+ }], isStatusBarTemplate: [{
18933
+ type: HostBinding,
18934
+ args: ['style.display']
18935
+ }], selectableSettings: [{
18936
+ type: Input
18937
+ }], statusBarTemplate: [{
18938
+ type: Input
18939
+ }] } });
18940
+
18603
18941
  /**
18604
18942
  * @hidden
18605
18943
  */
18606
18944
  class GridMessages extends ComponentMessages {
18607
18945
  }
18608
18946
  GridMessages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GridMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
18609
- 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 });
18947
+ 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 });
18610
18948
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GridMessages, decorators: [{
18611
18949
  type: Directive,
18612
18950
  args: [{
@@ -18649,6 +18987,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
18649
18987
  type: Input
18650
18988
  }], filterMenuLogicDropDownLabel: [{
18651
18989
  type: Input
18990
+ }], filterCellOperatorLabel: [{
18991
+ type: Input
18992
+ }], booleanFilterCellLabel: [{
18993
+ type: Input
18652
18994
  }], filterEqOperator: [{
18653
18995
  type: Input
18654
18996
  }], filterNotEqOperator: [{
@@ -19193,6 +19535,12 @@ class GridComponent {
19193
19535
  get group() {
19194
19536
  return this._group;
19195
19537
  }
19538
+ /**
19539
+ * @hidden
19540
+ */
19541
+ get showStatusBar() {
19542
+ return !!(this.selectable);
19543
+ }
19196
19544
  /**
19197
19545
  * @hidden
19198
19546
  */
@@ -19427,6 +19775,15 @@ class GridComponent {
19427
19775
  set loadingTemplate(loadingTemplate) {
19428
19776
  this._loadingTemplate = loadingTemplate;
19429
19777
  }
19778
+ get statusBarTemplate() {
19779
+ if (this._statusBarTemplate) {
19780
+ return this._statusBarTemplate;
19781
+ }
19782
+ return this.statusBarTemplateChildren ? this.statusBarTemplateChildren.first : undefined;
19783
+ }
19784
+ set statusBarTemplate(statusBarTemplate) {
19785
+ this._statusBarTemplate = statusBarTemplate;
19786
+ }
19430
19787
  get noRecordsTemplate() {
19431
19788
  if (this._customNoRecordsTemplate) {
19432
19789
  return this._customNoRecordsTemplate;
@@ -19476,7 +19833,7 @@ class GridComponent {
19476
19833
  return this.groupable && this.groupable.showFooter;
19477
19834
  }
19478
19835
  get ariaRowCount() {
19479
- return this.totalColumnLevels + 1 + this.view.total;
19836
+ return this.totalColumnLevels + 1 + this.view.total + (hasFilterRow(this.filterable) ? 1 : 0);
19480
19837
  }
19481
19838
  get ariaColCount() {
19482
19839
  return this.columnsContainer.leafColumnsToRender.length;
@@ -20690,7 +21047,7 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
20690
21047
  ContextService,
20691
21048
  SizingOptionsService,
20692
21049
  RowReorderService
20693
- ], 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: `
21050
+ ], 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: `
20694
21051
  <ng-container kendoGridLocalizedMessages
20695
21052
  i18n-groupPanelEmpty="kendo.grid.groupPanelEmpty|The label visible in the Grid group panel when it is empty"
20696
21053
  groupPanelEmpty="Drag a column header and drop it here to group by that column"
@@ -20739,6 +21096,12 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
20739
21096
 
20740
21097
  i18n-filterMenuOperatorsDropDownLabel="kendo.grid.filterMenuOperatorsDropDownLabel|The label of the filter menu operators dropdown"
20741
21098
  filterMenuOperatorsDropDownLabel="{{ '{columnName} Filter Operators' }}"
21099
+
21100
+ i18n-filterCellOperatorLabel="kendo.grid.filterCellOperatorLabel|The label of the filter cell operators dropdown"
21101
+ filterCellOperatorLabel="{{ 'Filter cell operators for {columnName}' }}"
21102
+
21103
+ i18n-booleanFilterCellLabel="kendo.grid.booleanFilterCellLabel|The label of the boolean filter cell dropdown"
21104
+ booleanFilterCellLabel="{{ 'Boolean filter cell for {columnName}' }}"
20742
21105
 
20743
21106
  i18n-filterMenuLogicDropDownLabel="kendo.grid.filterMenuLogicDropDownLabel|The label of the filter menu logic dropdown"
20744
21107
  filterMenuLogicDropDownLabel="{{ '{columnName} Filter Logic' }}"
@@ -20938,285 +21301,286 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
20938
21301
  [navigable]="navigation.toolbarEnabled"
20939
21302
  [attr.aria-controls]="ariaRootId"
20940
21303
  position="top"></kendo-grid-toolbar>
20941
- <kendo-pager
20942
- *ngIf="showTopPager"
20943
- [tabindex]="navigation.pagerEnabled ? '0' : '-1'"
20944
- [attr.role]="navigation.pagerEnabled ? 'application' : undefined"
20945
- class="k-grid-pager-top k-pager"
20946
- [template]="pagerTemplate"
20947
- [pageSize]="pageSize"
20948
- [total]="view.total"
20949
- [skip]="skip"
20950
- [size]="size"
20951
- [options]="pageable"
20952
- (pageChange)="notifyPageChange('pager', $event)">
20953
- </kendo-pager>
20954
- <kendo-grid-group-panel
20955
- *ngIf="showGroupPanel"
20956
- [navigable]="navigation.toolbarEnabled"
20957
- [text]="groupableEmptyText"
20958
- [groups]="group"
20959
- role="toolbar"
20960
- [attr.aria-label]="messageFor('groupPanelLabel')"
20961
- [attr.aria-controls]="ariaRootId"
20962
- (change)="groupChange.emit($event)">
20963
- </kendo-grid-group-panel>
20964
- <div #ariaRoot
20965
- class="k-grid-aria-root"
20966
- role="grid"
20967
- [id]="ariaRootId"
20968
- [attr.aria-label]="ariaLabel"
20969
- [attr.aria-rowcount]="ariaRowCount"
20970
- [attr.aria-colcount]="ariaColCount">
20971
- <ng-container *ngIf="isScrollable">
20972
- <div *ngIf="!hideHeader"
20973
- class="k-grid-header"
20974
- role="presentation"
20975
- [style.padding]="headerPadding">
20976
- <div *ngIf="isLocked"
20977
- #lockedHeader
20978
- role="presentation"
20979
- class="k-grid-header-locked"
20980
- [style.width.px]="lockedWidth">
20981
- <table
20982
- [locked]="true"
21304
+ <kendo-pager
21305
+ *ngIf="showTopPager"
21306
+ [tabindex]="navigation.pagerEnabled ? '0' : '-1'"
21307
+ [attr.role]="navigation.pagerEnabled ? 'application' : undefined"
21308
+ class="k-grid-pager-top k-pager"
21309
+ [template]="pagerTemplate"
21310
+ [pageSize]="pageSize"
21311
+ [total]="view.total"
21312
+ [skip]="skip"
21313
+ [size]="size"
21314
+ [options]="pageable"
21315
+ (pageChange)="notifyPageChange('pager', $event)">
21316
+ </kendo-pager>
21317
+ <kendo-grid-group-panel
21318
+ *ngIf="showGroupPanel"
21319
+ [navigable]="navigation.toolbarEnabled"
21320
+ [text]="groupableEmptyText"
21321
+ [groups]="group"
21322
+ role="toolbar"
21323
+ [attr.aria-label]="messageFor('groupPanelLabel')"
21324
+ [attr.aria-controls]="ariaRootId"
21325
+ (change)="groupChange.emit($event)">
21326
+ </kendo-grid-group-panel>
21327
+ <div #ariaRoot
21328
+ class="k-grid-aria-root"
21329
+ role="grid"
21330
+ [id]="ariaRootId"
21331
+ [attr.aria-label]="ariaLabel"
21332
+ [attr.aria-rowcount]="ariaRowCount"
21333
+ [attr.aria-colcount]="ariaColCount">
21334
+ <ng-container *ngIf="isScrollable">
21335
+ <div *ngIf="!hideHeader"
21336
+ class="k-grid-header"
21337
+ role="presentation"
21338
+ [style.padding]="headerPadding">
21339
+ <div *ngIf="isLocked"
21340
+ #lockedHeader
20983
21341
  role="presentation"
20984
- class="k-grid-header-table"
20985
- [style.width.px]="lockedWidth"
20986
- kendoGridTable
20987
- [size]="size">
20988
- <colgroup kendoGridColGroup
21342
+ class="k-grid-header-locked"
21343
+ [style.width.px]="lockedWidth">
21344
+ <table
21345
+ [locked]="true"
20989
21346
  role="presentation"
20990
- [columns]="$any(lockedLeafColumns)"
20991
- [groups]="group"
20992
- [detailTemplate]="detailTemplate">
20993
- </colgroup>
20994
- <thead kendoGridHeader
20995
- role="rowgroup"
20996
- [resizable]="resizable"
20997
- [scrollable]="true"
20998
- [columns]="$any(lockedColumns)"
20999
- [totalColumnLevels]="totalColumnLevels"
21000
- [sort]="sort"
21001
- [groups]="group"
21002
- [filter]="filter"
21003
- [filterable]="filterable"
21004
- [groupable]="showGroupPanel"
21005
- [reorderable]="reorderable"
21006
- [sortable]="sortable"
21007
- [columnMenu]="columnMenuOptions"
21008
- [columnMenuTemplate]="columnMenuTemplate"
21009
- [totalColumnsCount]="leafColumns.length"
21010
- [detailTemplate]="detailTemplate"
21011
- [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
21012
- </thead>
21013
- </table>
21014
- </div>
21015
- <div #header class="k-grid-header-wrap" role="presentation" data-scrollable
21016
- [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
21017
- [lockedWidth]="lockedWidth + scrollbarWidth + 2">
21018
- <table
21019
- role="presentation"
21020
- class="k-grid-header-table"
21021
- [style.width.px]="nonLockedWidth"
21022
- [virtualColumns]="virtualColumns"
21023
- kendoGridTable
21024
- [size]="size">
21025
- <colgroup kendoGridColGroup
21347
+ class="k-grid-header-table"
21348
+ [style.width.px]="lockedWidth"
21349
+ kendoGridTable
21350
+ [size]="size">
21351
+ <colgroup kendoGridColGroup
21352
+ [columns]="$any(lockedLeafColumns)"
21353
+ [groups]="group"
21354
+ [detailTemplate]="detailTemplate">
21355
+ </colgroup>
21356
+ <thead kendoGridHeader
21357
+ role="rowgroup"
21358
+ [resizable]="resizable"
21359
+ [scrollable]="true"
21360
+ [columns]="$any(lockedColumns)"
21361
+ [totalColumnLevels]="totalColumnLevels"
21362
+ [sort]="sort"
21363
+ [groups]="group"
21364
+ [filter]="filter"
21365
+ [filterable]="filterable"
21366
+ [groupable]="showGroupPanel"
21367
+ [reorderable]="reorderable"
21368
+ [sortable]="sortable"
21369
+ [columnMenu]="columnMenuOptions"
21370
+ [columnMenuTemplate]="columnMenuTemplate"
21371
+ [totalColumnsCount]="leafColumns.length"
21372
+ [detailTemplate]="detailTemplate"
21373
+ [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
21374
+ </thead>
21375
+ </table>
21376
+ </div>
21377
+ <div #header class="k-grid-header-wrap" role="presentation" data-scrollable
21378
+ [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
21379
+ [lockedWidth]="lockedWidth + scrollbarWidth + 2">
21380
+ <table
21026
21381
  role="presentation"
21027
- [columns]="headerLeafColumns"
21028
- [groups]="isLocked ? [] : group"
21029
- [detailTemplate]="detailTemplate">
21030
- </colgroup>
21031
- <thead kendoGridHeader
21032
- [resizable]="resizable"
21033
- role="rowgroup"
21034
- [scrollable]="true"
21035
- [columns]="headerColumns"
21036
- [totalColumnLevels]="totalColumnLevels"
21037
- [sort]="sort"
21038
- [filter]="filter"
21039
- [filterable]="filterable"
21040
- [groupable]="showGroupPanel"
21041
- [reorderable]="reorderable"
21042
- [groups]="isLocked ? [] : group"
21043
- [sortable]="sortable"
21044
- [columnMenu]="columnMenuOptions"
21045
- [columnMenuTemplate]="columnMenuTemplate"
21046
- [lockedColumnsCount]="lockedLeafColumns.length"
21047
- [totalColumnsCount]="leafColumns.length"
21048
- [detailTemplate]="detailTemplate"
21049
- [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
21050
- </thead>
21051
- </table>
21052
- <div *ngIf="virtualColumns" class="k-width-container" role="presentation">
21053
- <div [style.width.px]="columnsContainer.unlockedWidth"></div>
21382
+ class="k-grid-header-table"
21383
+ [style.width.px]="nonLockedWidth"
21384
+ [virtualColumns]="virtualColumns"
21385
+ kendoGridTable
21386
+ [size]="size">
21387
+ <colgroup kendoGridColGroup
21388
+ [columns]="headerLeafColumns"
21389
+ [groups]="isLocked ? [] : group"
21390
+ [detailTemplate]="detailTemplate">
21391
+ </colgroup>
21392
+ <thead kendoGridHeader
21393
+ [resizable]="resizable"
21394
+ role="rowgroup"
21395
+ [scrollable]="true"
21396
+ [columns]="headerColumns"
21397
+ [totalColumnLevels]="totalColumnLevels"
21398
+ [sort]="sort"
21399
+ [filter]="filter"
21400
+ [filterable]="filterable"
21401
+ [groupable]="showGroupPanel"
21402
+ [reorderable]="reorderable"
21403
+ [groups]="isLocked ? [] : group"
21404
+ [sortable]="sortable"
21405
+ [columnMenu]="columnMenuOptions"
21406
+ [columnMenuTemplate]="columnMenuTemplate"
21407
+ [lockedColumnsCount]="lockedLeafColumns.length"
21408
+ [totalColumnsCount]="leafColumns.length"
21409
+ [detailTemplate]="detailTemplate"
21410
+ [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
21411
+ </thead>
21412
+ </table>
21413
+ <div *ngIf="virtualColumns" class="k-width-container" role="presentation">
21414
+ <div [style.width.px]="columnsContainer.unlockedWidth"></div>
21415
+ </div>
21054
21416
  </div>
21055
21417
  </div>
21056
- </div>
21057
- <kendo-grid-list
21058
- kendoDragTargetContainer
21059
- kendoDropTargetContainer
21060
- mode="manual"
21061
- [dragDisabled]="!rowReorderable"
21062
- [dropDisabled]="!rowReorderable"
21063
- [dragTargetFilter]="getDefaultSelectors('dragTarget')"
21064
- [dropTargetFilter]="getDefaultSelectors('dropTarget')"
21065
- [dragHandle]="getDefaultSelectors('handle')"
21066
- [hint]="{hintTemplate: defaultHint}"
21067
- (press)="handleReorderEvents($event, 'press')"
21068
- (dragStart)="handleReorderEvents($event, 'dragStart')"
21069
- (drag)="handleReorderEvents($event, 'drag')"
21070
- (dragEnter)="handleReorderEvents($event, 'dragEnter')"
21071
- (dragLeave)="handleReorderEvents($event, 'dragLeave')"
21072
- (dragEnd)="handleReorderEvents($event, 'dragEnd')"
21073
- (drop)="handleReorderEvents($event, 'drop')"
21074
- [dragData]="gridData"
21075
- [data]="$any(view)"
21076
- [rowHeight]="rowHeight"
21077
- [detailRowHeight]="detailRowHeight"
21078
- [total]="totalCount"
21079
- [take]="pageSize"
21080
- [groups]="group"
21081
- [groupable]="groupable"
21082
- [skip]="skip"
21083
- [trackBy]="trackBy"
21084
- [columns]="columnsContainer"
21085
- [selectable]="selectable"
21086
- [filterable]="filterable"
21087
- [detailTemplate]="detailTemplate"
21088
- [noRecordsTemplate]="noRecordsTemplate"
21089
- [size]="size"
21090
- (pageChange)="notifyPageChange('list', $event)"
21091
- [rowClass]="rowClass"
21092
- [rowSticky]="rowSticky"
21093
- [loading]="loading"
21094
- [isVirtual]="isVirtual"
21095
- [cellLoadingTemplate]="cellLoadingTemplate?.templateRef"
21096
- [loadingTemplate]="loadingTemplate?.templateRef"
21097
- [virtualColumns]="virtualColumns"
21098
- (scrollBottom)="notifyScrollBottom()"
21099
- (contentScroll)="contentScroll.emit($event)"
21100
- kendoDraggable
21101
- kendoGridSelectionMarquee
21102
- [enableDrag]="marqueeSelection"
21103
- [sort]="sort"
21104
- >
21105
- </kendo-grid-list>
21106
- <div
21107
- *ngIf="showFooter"
21108
- class="k-grid-footer"
21109
- [style.padding]="headerPadding">
21110
- <div
21111
- *ngIf="lockedLeafColumns.length"
21112
- class="k-grid-footer-locked"
21113
- [style.width.px]="lockedWidth">
21114
- <table
21115
- role="presentation"
21116
- class="k-grid-footer-table"
21117
- [locked]="true"
21118
- [style.width.px]="lockedWidth"
21119
- kendoGridTable
21120
- [size]="size">
21121
- <colgroup kendoGridColGroup
21122
- [columns]="$any(lockedLeafColumns)"
21123
- [groups]="group"
21124
- [detailTemplate]="detailTemplate">
21125
- </colgroup>
21126
- <tfoot kendoGridFooter
21127
- [scrollable]="true"
21128
- [groups]="group"
21129
- [columns]="$any(lockedLeafColumns)"
21130
- [detailTemplate]="detailTemplate"
21131
- [logicalRowIndex]="ariaRowCount">
21132
- </tfoot>
21133
- </table>
21134
- </div>
21135
- <div #footer
21136
- class="k-grid-footer-wrap" data-scrollable
21137
- [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
21138
- [lockedWidth]="lockedWidth + scrollbarWidth + 3">
21139
- <table
21140
- role="presentation"
21141
- class="k-grid-footer-table"
21142
- [style.width.px]="nonLockedWidth"
21143
- kendoGridTable
21144
- [size]="size">
21145
- <colgroup kendoGridColGroup
21146
- [columns]="$any(nonLockedLeafColumns)"
21147
- [groups]="isLocked ? [] : group"
21148
- [detailTemplate]="detailTemplate">
21149
- </colgroup>
21150
- <tfoot kendoGridFooter
21151
- [logicalRowIndex]="ariaRowCount"
21152
- [scrollable]="true"
21153
- [groups]="isLocked ? [] : group"
21154
- [columns]="$any(nonLockedLeafColumns)"
21155
- [lockedColumnsCount]="lockedLeafColumns.length"
21156
- [detailTemplate]="detailTemplate">
21157
- </tfoot>
21158
- </table>
21159
- </div>
21160
- </div>
21161
- </ng-container>
21162
- <ng-container *ngIf="!isScrollable">
21163
- <table
21164
- [style.table-layout]="resizable ? 'fixed' : null"
21165
- kendoGridTable
21166
- [size]="size">
21167
- <colgroup kendoGridColGroup
21168
- [columns]="$any(leafColumns)"
21169
- [groups]="group"
21170
- [detailTemplate]="detailTemplate">
21171
- </colgroup>
21172
- <thead kendoGridHeader
21173
- *ngIf="!hideHeader"
21174
- [resizable]="resizable"
21175
- [scrollable]="false"
21176
- [columns]="$any(visibleColumns)"
21177
- [totalColumnLevels]="totalColumnLevels"
21178
- [groups]="group"
21179
- [groupable]="showGroupPanel"
21180
- [reorderable]="reorderable"
21181
- [sort]="sort"
21182
- [sortable]="sortable"
21183
- [filter]="filter"
21184
- [filterable]="filterable"
21185
- [columnMenu]="columnMenuOptions"
21186
- [columnMenuTemplate]="columnMenuTemplate"
21187
- [detailTemplate]="detailTemplate"
21188
- [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
21189
- </thead>
21190
- <tbody kendoGridTableBody
21191
- [isLoading]="loading"
21192
- [groups]="group"
21418
+ <kendo-grid-list
21419
+ kendoDragTargetContainer
21420
+ kendoDropTargetContainer
21421
+ mode="manual"
21422
+ [dragDisabled]="!rowReorderable"
21423
+ [dropDisabled]="!rowReorderable"
21424
+ [dragTargetFilter]="getDefaultSelectors('dragTarget')"
21425
+ [dropTargetFilter]="getDefaultSelectors('dropTarget')"
21426
+ [dragHandle]="getDefaultSelectors('handle')"
21427
+ [hint]="{hintTemplate: defaultHint}"
21428
+ (onPress)="handleReorderEvents($event, 'press')"
21429
+ (onDragStart)="handleReorderEvents($event, 'dragStart')"
21430
+ (onDrag)="handleReorderEvents($event, 'drag')"
21431
+ (onDragEnter)="handleReorderEvents($event, 'dragEnter')"
21432
+ (onDragLeave)="handleReorderEvents($event, 'dragLeave')"
21433
+ (onDragEnd)="handleReorderEvents($event, 'dragEnd')"
21434
+ (onDrop)="handleReorderEvents($event, 'drop')"
21435
+ [dragData]="gridData"
21193
21436
  [data]="$any(view)"
21437
+ [rowHeight]="rowHeight"
21438
+ [detailRowHeight]="detailRowHeight"
21439
+ [total]="totalCount"
21440
+ [take]="pageSize"
21441
+ [groups]="group"
21442
+ [groupable]="groupable"
21194
21443
  [skip]="skip"
21195
- [columns]="$any(leafColumns)"
21444
+ [trackBy]="trackBy"
21445
+ [columns]="columnsContainer"
21196
21446
  [selectable]="selectable"
21197
21447
  [filterable]="filterable"
21198
- [noRecordsTemplate]="noRecordsTemplate"
21199
21448
  [detailTemplate]="detailTemplate"
21200
- [showGroupFooters]="showGroupFooters"
21201
- [trackBy]="trackBy"
21449
+ [noRecordsTemplate]="noRecordsTemplate"
21450
+ [size]="size"
21451
+ (pageChange)="notifyPageChange('list', $event)"
21202
21452
  [rowClass]="rowClass"
21453
+ [rowSticky]="rowSticky"
21454
+ [loading]="loading"
21455
+ [isVirtual]="isVirtual"
21456
+ [cellLoadingTemplate]="cellLoadingTemplate?.templateRef"
21457
+ [loadingTemplate]="loadingTemplate?.templateRef"
21458
+ [virtualColumns]="virtualColumns"
21459
+ (scrollBottom)="notifyScrollBottom()"
21460
+ (contentScroll)="contentScroll.emit($event)"
21203
21461
  kendoDraggable
21204
21462
  kendoGridSelectionMarquee
21205
- [enableDrag]="marqueeSelection">
21206
- </tbody>
21207
- <tfoot kendoGridFooter
21463
+ [enableDrag]="marqueeSelection"
21464
+ [sort]="sort">
21465
+ </kendo-grid-list>
21466
+ <div
21208
21467
  *ngIf="showFooter"
21209
- [scrollable]="false"
21210
- [logicalRowIndex]="ariaRowCount"
21211
- [groups]="group"
21212
- [columns]="$any(leafColumns)"
21213
- [detailTemplate]="detailTemplate">
21214
- </tfoot>
21215
- </table>
21216
- </ng-container>
21217
- <div [loadingTemplate]="loadingTemplate" *ngIf="loading" kendoGridLoading>
21218
- </div>
21468
+ class="k-grid-footer"
21469
+ [style.padding]="headerPadding">
21470
+ <div
21471
+ *ngIf="lockedLeafColumns.length"
21472
+ class="k-grid-footer-locked"
21473
+ [style.width.px]="lockedWidth">
21474
+ <table
21475
+ role="presentation"
21476
+ class="k-grid-footer-table"
21477
+ [locked]="true"
21478
+ [style.width.px]="lockedWidth"
21479
+ kendoGridTable
21480
+ [size]="size">
21481
+ <colgroup kendoGridColGroup
21482
+ [columns]="$any(lockedLeafColumns)"
21483
+ [groups]="group"
21484
+ [detailTemplate]="detailTemplate">
21485
+ </colgroup>
21486
+ <tfoot kendoGridFooter
21487
+ [scrollable]="true"
21488
+ [groups]="group"
21489
+ [columns]="$any(lockedLeafColumns)"
21490
+ [detailTemplate]="detailTemplate"
21491
+ [logicalRowIndex]="ariaRowCount">
21492
+ </tfoot>
21493
+ </table>
21494
+ </div>
21495
+ <div #footer
21496
+ class="k-grid-footer-wrap" data-scrollable
21497
+ [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
21498
+ [lockedWidth]="lockedWidth + scrollbarWidth + 3">
21499
+ <table
21500
+ role="presentation"
21501
+ class="k-grid-footer-table"
21502
+ [style.width.px]="nonLockedWidth"
21503
+ kendoGridTable
21504
+ [size]="size">
21505
+ <colgroup kendoGridColGroup
21506
+ [columns]="$any(nonLockedLeafColumns)"
21507
+ [groups]="isLocked ? [] : group"
21508
+ [detailTemplate]="detailTemplate">
21509
+ </colgroup>
21510
+ <tfoot kendoGridFooter
21511
+ [logicalRowIndex]="ariaRowCount"
21512
+ [scrollable]="true"
21513
+ [groups]="isLocked ? [] : group"
21514
+ [columns]="$any(nonLockedLeafColumns)"
21515
+ [lockedColumnsCount]="lockedLeafColumns.length"
21516
+ [detailTemplate]="detailTemplate">
21517
+ </tfoot>
21518
+ </table>
21519
+ </div>
21520
+ </div>
21521
+ </ng-container>
21522
+ <ng-container *ngIf="!isScrollable">
21523
+ <table
21524
+ [style.table-layout]="resizable ? 'fixed' : null"
21525
+ kendoGridTable
21526
+ [size]="size">
21527
+ <colgroup kendoGridColGroup
21528
+ [columns]="$any(leafColumns)"
21529
+ [groups]="group"
21530
+ [detailTemplate]="detailTemplate">
21531
+ </colgroup>
21532
+ <thead kendoGridHeader
21533
+ *ngIf="!hideHeader"
21534
+ [resizable]="resizable"
21535
+ [scrollable]="false"
21536
+ [columns]="$any(visibleColumns)"
21537
+ [totalColumnLevels]="totalColumnLevels"
21538
+ [groups]="group"
21539
+ [groupable]="showGroupPanel"
21540
+ [reorderable]="reorderable"
21541
+ [sort]="sort"
21542
+ [sortable]="sortable"
21543
+ [filter]="filter"
21544
+ [filterable]="filterable"
21545
+ [columnMenu]="columnMenuOptions"
21546
+ [columnMenuTemplate]="columnMenuTemplate"
21547
+ [detailTemplate]="detailTemplate"
21548
+ [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
21549
+ </thead>
21550
+ <tbody kendoGridTableBody
21551
+ [isLoading]="loading"
21552
+ [groups]="group"
21553
+ [data]="$any(view)"
21554
+ [skip]="skip"
21555
+ [columns]="$any(leafColumns)"
21556
+ [selectable]="selectable"
21557
+ [filterable]="filterable"
21558
+ [noRecordsTemplate]="noRecordsTemplate"
21559
+ [detailTemplate]="detailTemplate"
21560
+ [showGroupFooters]="showGroupFooters"
21561
+ [trackBy]="trackBy"
21562
+ [rowClass]="rowClass"
21563
+ kendoDraggable
21564
+ kendoGridSelectionMarquee
21565
+ [enableDrag]="marqueeSelection">
21566
+ </tbody>
21567
+ <tfoot kendoGridFooter
21568
+ *ngIf="showFooter"
21569
+ [scrollable]="false"
21570
+ [logicalRowIndex]="ariaRowCount"
21571
+ [groups]="group"
21572
+ [columns]="$any(leafColumns)"
21573
+ [detailTemplate]="detailTemplate">
21574
+ </tfoot>
21575
+ </table>
21576
+ </ng-container>
21577
+ <div [loadingTemplate]="loadingTemplate" *ngIf="loading" kendoGridLoading></div>
21219
21578
  </div>
21579
+ <kendo-grid-status-bar
21580
+ *ngIf="showStatusBar"
21581
+ [selectableSettings]="selectable"
21582
+ [statusBarTemplate]="statusBarTemplate">
21583
+ </kendo-grid-status-bar>
21220
21584
  <kendo-pager
21221
21585
  *ngIf="showBottomPager"
21222
21586
  [tabindex]="navigation.pagerEnabled ? '0' : '-1'"
@@ -21248,7 +21612,7 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
21248
21612
  </kendo-icon-wrapper>
21249
21613
  {{hintText}}
21250
21614
  </ng-template>
21251
- `, 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 });
21615
+ `, 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 });
21252
21616
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GridComponent, decorators: [{
21253
21617
  type: Component,
21254
21618
  args: [{
@@ -21348,6 +21712,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
21348
21712
 
21349
21713
  i18n-filterMenuOperatorsDropDownLabel="kendo.grid.filterMenuOperatorsDropDownLabel|The label of the filter menu operators dropdown"
21350
21714
  filterMenuOperatorsDropDownLabel="{{ '{columnName} Filter Operators' }}"
21715
+
21716
+ i18n-filterCellOperatorLabel="kendo.grid.filterCellOperatorLabel|The label of the filter cell operators dropdown"
21717
+ filterCellOperatorLabel="{{ 'Filter cell operators for {columnName}' }}"
21718
+
21719
+ i18n-booleanFilterCellLabel="kendo.grid.booleanFilterCellLabel|The label of the boolean filter cell dropdown"
21720
+ booleanFilterCellLabel="{{ 'Boolean filter cell for {columnName}' }}"
21351
21721
 
21352
21722
  i18n-filterMenuLogicDropDownLabel="kendo.grid.filterMenuLogicDropDownLabel|The label of the filter menu logic dropdown"
21353
21723
  filterMenuLogicDropDownLabel="{{ '{columnName} Filter Logic' }}"
@@ -21547,285 +21917,286 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
21547
21917
  [navigable]="navigation.toolbarEnabled"
21548
21918
  [attr.aria-controls]="ariaRootId"
21549
21919
  position="top"></kendo-grid-toolbar>
21550
- <kendo-pager
21551
- *ngIf="showTopPager"
21552
- [tabindex]="navigation.pagerEnabled ? '0' : '-1'"
21553
- [attr.role]="navigation.pagerEnabled ? 'application' : undefined"
21554
- class="k-grid-pager-top k-pager"
21555
- [template]="pagerTemplate"
21556
- [pageSize]="pageSize"
21557
- [total]="view.total"
21558
- [skip]="skip"
21559
- [size]="size"
21560
- [options]="pageable"
21561
- (pageChange)="notifyPageChange('pager', $event)">
21562
- </kendo-pager>
21563
- <kendo-grid-group-panel
21564
- *ngIf="showGroupPanel"
21565
- [navigable]="navigation.toolbarEnabled"
21566
- [text]="groupableEmptyText"
21567
- [groups]="group"
21568
- role="toolbar"
21569
- [attr.aria-label]="messageFor('groupPanelLabel')"
21570
- [attr.aria-controls]="ariaRootId"
21571
- (change)="groupChange.emit($event)">
21572
- </kendo-grid-group-panel>
21573
- <div #ariaRoot
21574
- class="k-grid-aria-root"
21575
- role="grid"
21576
- [id]="ariaRootId"
21577
- [attr.aria-label]="ariaLabel"
21578
- [attr.aria-rowcount]="ariaRowCount"
21579
- [attr.aria-colcount]="ariaColCount">
21580
- <ng-container *ngIf="isScrollable">
21581
- <div *ngIf="!hideHeader"
21582
- class="k-grid-header"
21583
- role="presentation"
21584
- [style.padding]="headerPadding">
21585
- <div *ngIf="isLocked"
21586
- #lockedHeader
21587
- role="presentation"
21588
- class="k-grid-header-locked"
21589
- [style.width.px]="lockedWidth">
21590
- <table
21591
- [locked]="true"
21920
+ <kendo-pager
21921
+ *ngIf="showTopPager"
21922
+ [tabindex]="navigation.pagerEnabled ? '0' : '-1'"
21923
+ [attr.role]="navigation.pagerEnabled ? 'application' : undefined"
21924
+ class="k-grid-pager-top k-pager"
21925
+ [template]="pagerTemplate"
21926
+ [pageSize]="pageSize"
21927
+ [total]="view.total"
21928
+ [skip]="skip"
21929
+ [size]="size"
21930
+ [options]="pageable"
21931
+ (pageChange)="notifyPageChange('pager', $event)">
21932
+ </kendo-pager>
21933
+ <kendo-grid-group-panel
21934
+ *ngIf="showGroupPanel"
21935
+ [navigable]="navigation.toolbarEnabled"
21936
+ [text]="groupableEmptyText"
21937
+ [groups]="group"
21938
+ role="toolbar"
21939
+ [attr.aria-label]="messageFor('groupPanelLabel')"
21940
+ [attr.aria-controls]="ariaRootId"
21941
+ (change)="groupChange.emit($event)">
21942
+ </kendo-grid-group-panel>
21943
+ <div #ariaRoot
21944
+ class="k-grid-aria-root"
21945
+ role="grid"
21946
+ [id]="ariaRootId"
21947
+ [attr.aria-label]="ariaLabel"
21948
+ [attr.aria-rowcount]="ariaRowCount"
21949
+ [attr.aria-colcount]="ariaColCount">
21950
+ <ng-container *ngIf="isScrollable">
21951
+ <div *ngIf="!hideHeader"
21952
+ class="k-grid-header"
21953
+ role="presentation"
21954
+ [style.padding]="headerPadding">
21955
+ <div *ngIf="isLocked"
21956
+ #lockedHeader
21592
21957
  role="presentation"
21593
- class="k-grid-header-table"
21594
- [style.width.px]="lockedWidth"
21595
- kendoGridTable
21596
- [size]="size">
21597
- <colgroup kendoGridColGroup
21958
+ class="k-grid-header-locked"
21959
+ [style.width.px]="lockedWidth">
21960
+ <table
21961
+ [locked]="true"
21598
21962
  role="presentation"
21599
- [columns]="$any(lockedLeafColumns)"
21600
- [groups]="group"
21601
- [detailTemplate]="detailTemplate">
21602
- </colgroup>
21603
- <thead kendoGridHeader
21604
- role="rowgroup"
21605
- [resizable]="resizable"
21606
- [scrollable]="true"
21607
- [columns]="$any(lockedColumns)"
21608
- [totalColumnLevels]="totalColumnLevels"
21609
- [sort]="sort"
21610
- [groups]="group"
21611
- [filter]="filter"
21612
- [filterable]="filterable"
21613
- [groupable]="showGroupPanel"
21614
- [reorderable]="reorderable"
21615
- [sortable]="sortable"
21616
- [columnMenu]="columnMenuOptions"
21617
- [columnMenuTemplate]="columnMenuTemplate"
21618
- [totalColumnsCount]="leafColumns.length"
21619
- [detailTemplate]="detailTemplate"
21620
- [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
21621
- </thead>
21622
- </table>
21623
- </div>
21624
- <div #header class="k-grid-header-wrap" role="presentation" data-scrollable
21625
- [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
21626
- [lockedWidth]="lockedWidth + scrollbarWidth + 2">
21627
- <table
21628
- role="presentation"
21629
- class="k-grid-header-table"
21630
- [style.width.px]="nonLockedWidth"
21631
- [virtualColumns]="virtualColumns"
21632
- kendoGridTable
21633
- [size]="size">
21634
- <colgroup kendoGridColGroup
21963
+ class="k-grid-header-table"
21964
+ [style.width.px]="lockedWidth"
21965
+ kendoGridTable
21966
+ [size]="size">
21967
+ <colgroup kendoGridColGroup
21968
+ [columns]="$any(lockedLeafColumns)"
21969
+ [groups]="group"
21970
+ [detailTemplate]="detailTemplate">
21971
+ </colgroup>
21972
+ <thead kendoGridHeader
21973
+ role="rowgroup"
21974
+ [resizable]="resizable"
21975
+ [scrollable]="true"
21976
+ [columns]="$any(lockedColumns)"
21977
+ [totalColumnLevels]="totalColumnLevels"
21978
+ [sort]="sort"
21979
+ [groups]="group"
21980
+ [filter]="filter"
21981
+ [filterable]="filterable"
21982
+ [groupable]="showGroupPanel"
21983
+ [reorderable]="reorderable"
21984
+ [sortable]="sortable"
21985
+ [columnMenu]="columnMenuOptions"
21986
+ [columnMenuTemplate]="columnMenuTemplate"
21987
+ [totalColumnsCount]="leafColumns.length"
21988
+ [detailTemplate]="detailTemplate"
21989
+ [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
21990
+ </thead>
21991
+ </table>
21992
+ </div>
21993
+ <div #header class="k-grid-header-wrap" role="presentation" data-scrollable
21994
+ [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
21995
+ [lockedWidth]="lockedWidth + scrollbarWidth + 2">
21996
+ <table
21635
21997
  role="presentation"
21636
- [columns]="headerLeafColumns"
21637
- [groups]="isLocked ? [] : group"
21638
- [detailTemplate]="detailTemplate">
21639
- </colgroup>
21640
- <thead kendoGridHeader
21641
- [resizable]="resizable"
21642
- role="rowgroup"
21643
- [scrollable]="true"
21644
- [columns]="headerColumns"
21645
- [totalColumnLevels]="totalColumnLevels"
21646
- [sort]="sort"
21647
- [filter]="filter"
21648
- [filterable]="filterable"
21649
- [groupable]="showGroupPanel"
21650
- [reorderable]="reorderable"
21651
- [groups]="isLocked ? [] : group"
21652
- [sortable]="sortable"
21653
- [columnMenu]="columnMenuOptions"
21654
- [columnMenuTemplate]="columnMenuTemplate"
21655
- [lockedColumnsCount]="lockedLeafColumns.length"
21656
- [totalColumnsCount]="leafColumns.length"
21657
- [detailTemplate]="detailTemplate"
21658
- [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
21659
- </thead>
21660
- </table>
21661
- <div *ngIf="virtualColumns" class="k-width-container" role="presentation">
21662
- <div [style.width.px]="columnsContainer.unlockedWidth"></div>
21998
+ class="k-grid-header-table"
21999
+ [style.width.px]="nonLockedWidth"
22000
+ [virtualColumns]="virtualColumns"
22001
+ kendoGridTable
22002
+ [size]="size">
22003
+ <colgroup kendoGridColGroup
22004
+ [columns]="headerLeafColumns"
22005
+ [groups]="isLocked ? [] : group"
22006
+ [detailTemplate]="detailTemplate">
22007
+ </colgroup>
22008
+ <thead kendoGridHeader
22009
+ [resizable]="resizable"
22010
+ role="rowgroup"
22011
+ [scrollable]="true"
22012
+ [columns]="headerColumns"
22013
+ [totalColumnLevels]="totalColumnLevels"
22014
+ [sort]="sort"
22015
+ [filter]="filter"
22016
+ [filterable]="filterable"
22017
+ [groupable]="showGroupPanel"
22018
+ [reorderable]="reorderable"
22019
+ [groups]="isLocked ? [] : group"
22020
+ [sortable]="sortable"
22021
+ [columnMenu]="columnMenuOptions"
22022
+ [columnMenuTemplate]="columnMenuTemplate"
22023
+ [lockedColumnsCount]="lockedLeafColumns.length"
22024
+ [totalColumnsCount]="leafColumns.length"
22025
+ [detailTemplate]="detailTemplate"
22026
+ [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
22027
+ </thead>
22028
+ </table>
22029
+ <div *ngIf="virtualColumns" class="k-width-container" role="presentation">
22030
+ <div [style.width.px]="columnsContainer.unlockedWidth"></div>
22031
+ </div>
21663
22032
  </div>
21664
22033
  </div>
21665
- </div>
21666
- <kendo-grid-list
21667
- kendoDragTargetContainer
21668
- kendoDropTargetContainer
21669
- mode="manual"
21670
- [dragDisabled]="!rowReorderable"
21671
- [dropDisabled]="!rowReorderable"
21672
- [dragTargetFilter]="getDefaultSelectors('dragTarget')"
21673
- [dropTargetFilter]="getDefaultSelectors('dropTarget')"
21674
- [dragHandle]="getDefaultSelectors('handle')"
21675
- [hint]="{hintTemplate: defaultHint}"
21676
- (press)="handleReorderEvents($event, 'press')"
21677
- (dragStart)="handleReorderEvents($event, 'dragStart')"
21678
- (drag)="handleReorderEvents($event, 'drag')"
21679
- (dragEnter)="handleReorderEvents($event, 'dragEnter')"
21680
- (dragLeave)="handleReorderEvents($event, 'dragLeave')"
21681
- (dragEnd)="handleReorderEvents($event, 'dragEnd')"
21682
- (drop)="handleReorderEvents($event, 'drop')"
21683
- [dragData]="gridData"
21684
- [data]="$any(view)"
21685
- [rowHeight]="rowHeight"
21686
- [detailRowHeight]="detailRowHeight"
21687
- [total]="totalCount"
21688
- [take]="pageSize"
21689
- [groups]="group"
21690
- [groupable]="groupable"
21691
- [skip]="skip"
21692
- [trackBy]="trackBy"
21693
- [columns]="columnsContainer"
21694
- [selectable]="selectable"
21695
- [filterable]="filterable"
21696
- [detailTemplate]="detailTemplate"
21697
- [noRecordsTemplate]="noRecordsTemplate"
21698
- [size]="size"
21699
- (pageChange)="notifyPageChange('list', $event)"
21700
- [rowClass]="rowClass"
21701
- [rowSticky]="rowSticky"
21702
- [loading]="loading"
21703
- [isVirtual]="isVirtual"
21704
- [cellLoadingTemplate]="cellLoadingTemplate?.templateRef"
21705
- [loadingTemplate]="loadingTemplate?.templateRef"
21706
- [virtualColumns]="virtualColumns"
21707
- (scrollBottom)="notifyScrollBottom()"
21708
- (contentScroll)="contentScroll.emit($event)"
21709
- kendoDraggable
21710
- kendoGridSelectionMarquee
21711
- [enableDrag]="marqueeSelection"
21712
- [sort]="sort"
21713
- >
21714
- </kendo-grid-list>
21715
- <div
21716
- *ngIf="showFooter"
21717
- class="k-grid-footer"
21718
- [style.padding]="headerPadding">
21719
- <div
21720
- *ngIf="lockedLeafColumns.length"
21721
- class="k-grid-footer-locked"
21722
- [style.width.px]="lockedWidth">
21723
- <table
21724
- role="presentation"
21725
- class="k-grid-footer-table"
21726
- [locked]="true"
21727
- [style.width.px]="lockedWidth"
21728
- kendoGridTable
21729
- [size]="size">
21730
- <colgroup kendoGridColGroup
21731
- [columns]="$any(lockedLeafColumns)"
21732
- [groups]="group"
21733
- [detailTemplate]="detailTemplate">
21734
- </colgroup>
21735
- <tfoot kendoGridFooter
21736
- [scrollable]="true"
21737
- [groups]="group"
21738
- [columns]="$any(lockedLeafColumns)"
21739
- [detailTemplate]="detailTemplate"
21740
- [logicalRowIndex]="ariaRowCount">
21741
- </tfoot>
21742
- </table>
21743
- </div>
21744
- <div #footer
21745
- class="k-grid-footer-wrap" data-scrollable
21746
- [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
21747
- [lockedWidth]="lockedWidth + scrollbarWidth + 3">
21748
- <table
21749
- role="presentation"
21750
- class="k-grid-footer-table"
21751
- [style.width.px]="nonLockedWidth"
21752
- kendoGridTable
21753
- [size]="size">
21754
- <colgroup kendoGridColGroup
21755
- [columns]="$any(nonLockedLeafColumns)"
21756
- [groups]="isLocked ? [] : group"
21757
- [detailTemplate]="detailTemplate">
21758
- </colgroup>
21759
- <tfoot kendoGridFooter
21760
- [logicalRowIndex]="ariaRowCount"
21761
- [scrollable]="true"
21762
- [groups]="isLocked ? [] : group"
21763
- [columns]="$any(nonLockedLeafColumns)"
21764
- [lockedColumnsCount]="lockedLeafColumns.length"
21765
- [detailTemplate]="detailTemplate">
21766
- </tfoot>
21767
- </table>
21768
- </div>
21769
- </div>
21770
- </ng-container>
21771
- <ng-container *ngIf="!isScrollable">
21772
- <table
21773
- [style.table-layout]="resizable ? 'fixed' : null"
21774
- kendoGridTable
21775
- [size]="size">
21776
- <colgroup kendoGridColGroup
21777
- [columns]="$any(leafColumns)"
21778
- [groups]="group"
21779
- [detailTemplate]="detailTemplate">
21780
- </colgroup>
21781
- <thead kendoGridHeader
21782
- *ngIf="!hideHeader"
21783
- [resizable]="resizable"
21784
- [scrollable]="false"
21785
- [columns]="$any(visibleColumns)"
21786
- [totalColumnLevels]="totalColumnLevels"
21787
- [groups]="group"
21788
- [groupable]="showGroupPanel"
21789
- [reorderable]="reorderable"
21790
- [sort]="sort"
21791
- [sortable]="sortable"
21792
- [filter]="filter"
21793
- [filterable]="filterable"
21794
- [columnMenu]="columnMenuOptions"
21795
- [columnMenuTemplate]="columnMenuTemplate"
21796
- [detailTemplate]="detailTemplate"
21797
- [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
21798
- </thead>
21799
- <tbody kendoGridTableBody
21800
- [isLoading]="loading"
21801
- [groups]="group"
22034
+ <kendo-grid-list
22035
+ kendoDragTargetContainer
22036
+ kendoDropTargetContainer
22037
+ mode="manual"
22038
+ [dragDisabled]="!rowReorderable"
22039
+ [dropDisabled]="!rowReorderable"
22040
+ [dragTargetFilter]="getDefaultSelectors('dragTarget')"
22041
+ [dropTargetFilter]="getDefaultSelectors('dropTarget')"
22042
+ [dragHandle]="getDefaultSelectors('handle')"
22043
+ [hint]="{hintTemplate: defaultHint}"
22044
+ (onPress)="handleReorderEvents($event, 'press')"
22045
+ (onDragStart)="handleReorderEvents($event, 'dragStart')"
22046
+ (onDrag)="handleReorderEvents($event, 'drag')"
22047
+ (onDragEnter)="handleReorderEvents($event, 'dragEnter')"
22048
+ (onDragLeave)="handleReorderEvents($event, 'dragLeave')"
22049
+ (onDragEnd)="handleReorderEvents($event, 'dragEnd')"
22050
+ (onDrop)="handleReorderEvents($event, 'drop')"
22051
+ [dragData]="gridData"
21802
22052
  [data]="$any(view)"
22053
+ [rowHeight]="rowHeight"
22054
+ [detailRowHeight]="detailRowHeight"
22055
+ [total]="totalCount"
22056
+ [take]="pageSize"
22057
+ [groups]="group"
22058
+ [groupable]="groupable"
21803
22059
  [skip]="skip"
21804
- [columns]="$any(leafColumns)"
22060
+ [trackBy]="trackBy"
22061
+ [columns]="columnsContainer"
21805
22062
  [selectable]="selectable"
21806
22063
  [filterable]="filterable"
21807
- [noRecordsTemplate]="noRecordsTemplate"
21808
22064
  [detailTemplate]="detailTemplate"
21809
- [showGroupFooters]="showGroupFooters"
21810
- [trackBy]="trackBy"
22065
+ [noRecordsTemplate]="noRecordsTemplate"
22066
+ [size]="size"
22067
+ (pageChange)="notifyPageChange('list', $event)"
21811
22068
  [rowClass]="rowClass"
22069
+ [rowSticky]="rowSticky"
22070
+ [loading]="loading"
22071
+ [isVirtual]="isVirtual"
22072
+ [cellLoadingTemplate]="cellLoadingTemplate?.templateRef"
22073
+ [loadingTemplate]="loadingTemplate?.templateRef"
22074
+ [virtualColumns]="virtualColumns"
22075
+ (scrollBottom)="notifyScrollBottom()"
22076
+ (contentScroll)="contentScroll.emit($event)"
21812
22077
  kendoDraggable
21813
22078
  kendoGridSelectionMarquee
21814
- [enableDrag]="marqueeSelection">
21815
- </tbody>
21816
- <tfoot kendoGridFooter
22079
+ [enableDrag]="marqueeSelection"
22080
+ [sort]="sort">
22081
+ </kendo-grid-list>
22082
+ <div
21817
22083
  *ngIf="showFooter"
21818
- [scrollable]="false"
21819
- [logicalRowIndex]="ariaRowCount"
21820
- [groups]="group"
21821
- [columns]="$any(leafColumns)"
21822
- [detailTemplate]="detailTemplate">
21823
- </tfoot>
21824
- </table>
21825
- </ng-container>
21826
- <div [loadingTemplate]="loadingTemplate" *ngIf="loading" kendoGridLoading>
21827
- </div>
22084
+ class="k-grid-footer"
22085
+ [style.padding]="headerPadding">
22086
+ <div
22087
+ *ngIf="lockedLeafColumns.length"
22088
+ class="k-grid-footer-locked"
22089
+ [style.width.px]="lockedWidth">
22090
+ <table
22091
+ role="presentation"
22092
+ class="k-grid-footer-table"
22093
+ [locked]="true"
22094
+ [style.width.px]="lockedWidth"
22095
+ kendoGridTable
22096
+ [size]="size">
22097
+ <colgroup kendoGridColGroup
22098
+ [columns]="$any(lockedLeafColumns)"
22099
+ [groups]="group"
22100
+ [detailTemplate]="detailTemplate">
22101
+ </colgroup>
22102
+ <tfoot kendoGridFooter
22103
+ [scrollable]="true"
22104
+ [groups]="group"
22105
+ [columns]="$any(lockedLeafColumns)"
22106
+ [detailTemplate]="detailTemplate"
22107
+ [logicalRowIndex]="ariaRowCount">
22108
+ </tfoot>
22109
+ </table>
22110
+ </div>
22111
+ <div #footer
22112
+ class="k-grid-footer-wrap" data-scrollable
22113
+ [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
22114
+ [lockedWidth]="lockedWidth + scrollbarWidth + 3">
22115
+ <table
22116
+ role="presentation"
22117
+ class="k-grid-footer-table"
22118
+ [style.width.px]="nonLockedWidth"
22119
+ kendoGridTable
22120
+ [size]="size">
22121
+ <colgroup kendoGridColGroup
22122
+ [columns]="$any(nonLockedLeafColumns)"
22123
+ [groups]="isLocked ? [] : group"
22124
+ [detailTemplate]="detailTemplate">
22125
+ </colgroup>
22126
+ <tfoot kendoGridFooter
22127
+ [logicalRowIndex]="ariaRowCount"
22128
+ [scrollable]="true"
22129
+ [groups]="isLocked ? [] : group"
22130
+ [columns]="$any(nonLockedLeafColumns)"
22131
+ [lockedColumnsCount]="lockedLeafColumns.length"
22132
+ [detailTemplate]="detailTemplate">
22133
+ </tfoot>
22134
+ </table>
22135
+ </div>
22136
+ </div>
22137
+ </ng-container>
22138
+ <ng-container *ngIf="!isScrollable">
22139
+ <table
22140
+ [style.table-layout]="resizable ? 'fixed' : null"
22141
+ kendoGridTable
22142
+ [size]="size">
22143
+ <colgroup kendoGridColGroup
22144
+ [columns]="$any(leafColumns)"
22145
+ [groups]="group"
22146
+ [detailTemplate]="detailTemplate">
22147
+ </colgroup>
22148
+ <thead kendoGridHeader
22149
+ *ngIf="!hideHeader"
22150
+ [resizable]="resizable"
22151
+ [scrollable]="false"
22152
+ [columns]="$any(visibleColumns)"
22153
+ [totalColumnLevels]="totalColumnLevels"
22154
+ [groups]="group"
22155
+ [groupable]="showGroupPanel"
22156
+ [reorderable]="reorderable"
22157
+ [sort]="sort"
22158
+ [sortable]="sortable"
22159
+ [filter]="filter"
22160
+ [filterable]="filterable"
22161
+ [columnMenu]="columnMenuOptions"
22162
+ [columnMenuTemplate]="columnMenuTemplate"
22163
+ [detailTemplate]="detailTemplate"
22164
+ [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
22165
+ </thead>
22166
+ <tbody kendoGridTableBody
22167
+ [isLoading]="loading"
22168
+ [groups]="group"
22169
+ [data]="$any(view)"
22170
+ [skip]="skip"
22171
+ [columns]="$any(leafColumns)"
22172
+ [selectable]="selectable"
22173
+ [filterable]="filterable"
22174
+ [noRecordsTemplate]="noRecordsTemplate"
22175
+ [detailTemplate]="detailTemplate"
22176
+ [showGroupFooters]="showGroupFooters"
22177
+ [trackBy]="trackBy"
22178
+ [rowClass]="rowClass"
22179
+ kendoDraggable
22180
+ kendoGridSelectionMarquee
22181
+ [enableDrag]="marqueeSelection">
22182
+ </tbody>
22183
+ <tfoot kendoGridFooter
22184
+ *ngIf="showFooter"
22185
+ [scrollable]="false"
22186
+ [logicalRowIndex]="ariaRowCount"
22187
+ [groups]="group"
22188
+ [columns]="$any(leafColumns)"
22189
+ [detailTemplate]="detailTemplate">
22190
+ </tfoot>
22191
+ </table>
22192
+ </ng-container>
22193
+ <div [loadingTemplate]="loadingTemplate" *ngIf="loading" kendoGridLoading></div>
21828
22194
  </div>
22195
+ <kendo-grid-status-bar
22196
+ *ngIf="showStatusBar"
22197
+ [selectableSettings]="selectable"
22198
+ [statusBarTemplate]="statusBarTemplate">
22199
+ </kendo-grid-status-bar>
21829
22200
  <kendo-pager
21830
22201
  *ngIf="showBottomPager"
21831
22202
  [tabindex]="navigation.pagerEnabled ? '0' : '-1'"
@@ -22008,6 +22379,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
22008
22379
  }], loadingTemplateChildren: [{
22009
22380
  type: ContentChildren,
22010
22381
  args: [LoadingTemplateDirective]
22382
+ }], statusBarTemplateChildren: [{
22383
+ type: ContentChildren,
22384
+ args: [StatusBarTemplateDirective]
22011
22385
  }], noRecordsTemplateChildren: [{
22012
22386
  type: ContentChildren,
22013
22387
  args: [NoRecordsTemplateDirective]
@@ -23638,7 +24012,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
23638
24012
  }] });
23639
24013
 
23640
24014
  /**
23641
- * Represents the component for toggling the Grid columns visibility. [See example](slug:columnmenu_grid#toc-using-standalone-column-chooser).
24015
+ * Represents the component for toggling visibility of the Grid columns visibility. [See example](slug:columnmenu_grid#toc-using-standalone-column-chooser).
23642
24016
  * To show and hide the columns without including the column chooser item in the [Column Menu](slug:columnmenu_grid),
23643
24017
  * add the component inside the [ToolbarTemplate](slug:toolbartemplate_grid) directive.
23644
24018
  *
@@ -24054,7 +24428,7 @@ EditCommandDirective.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
24054
24428
  </span>
24055
24429
  <span *ngIf="iconClass" class="k-button-icon" [ngClass]="iconClass"></span>
24056
24430
  <span class="k-button-text"><ng-content></ng-content></span>
24057
- `, 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"] }] });
24431
+ `, 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"] }] });
24058
24432
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: EditCommandDirective, decorators: [{
24059
24433
  type: Component,
24060
24434
  args: [{
@@ -24153,7 +24527,7 @@ CancelCommandDirective.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
24153
24527
  </span>
24154
24528
  <span *ngIf="iconClass" class="k-button-icon" [ngClass]="iconClass"></span>
24155
24529
  <span class="k-button-text"><ng-content></ng-content></span>
24156
- `, 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"] }] });
24530
+ `, 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"] }] });
24157
24531
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CancelCommandDirective, decorators: [{
24158
24532
  type: Component,
24159
24533
  args: [{
@@ -24252,7 +24626,7 @@ SaveCommandDirective.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
24252
24626
  </span>
24253
24627
  <span *ngIf="iconClass" class="k-button-icon" [ngClass]="iconClass"></span>
24254
24628
  <span class="k-button-text"><ng-content></ng-content></span>
24255
- `, 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"] }] });
24629
+ `, 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"] }] });
24256
24630
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SaveCommandDirective, decorators: [{
24257
24631
  type: Component,
24258
24632
  args: [{
@@ -24348,7 +24722,7 @@ RemoveCommandDirective.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
24348
24722
  </span>
24349
24723
  <span *ngIf="iconClass" class="k-button-icon" [ngClass]="iconClass"></span>
24350
24724
  <span class="k-button-text"><ng-content></ng-content></span>
24351
- `, 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"] }] });
24725
+ `, 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"] }] });
24352
24726
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RemoveCommandDirective, decorators: [{
24353
24727
  type: Component,
24354
24728
  args: [{
@@ -24429,7 +24803,7 @@ AddCommandDirective.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
24429
24803
  </span>
24430
24804
  <span *ngIf="iconClass" class="k-button-icon" [ngClass]="iconClass"></span>
24431
24805
  <span class="k-button-text"><ng-content></ng-content></span>
24432
- `, 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"] }] });
24806
+ `, 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"] }] });
24433
24807
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AddCommandDirective, decorators: [{
24434
24808
  type: Component,
24435
24809
  args: [{
@@ -25329,6 +25703,7 @@ const exportedModules$1 = [
25329
25703
  ToolbarTemplateDirective,
25330
25704
  ToolbarComponent,
25331
25705
  GridSpacerComponent,
25706
+ StatusBarTemplateDirective,
25332
25707
  DataBindingDirective,
25333
25708
  SelectionDirective,
25334
25709
  CustomMessagesComponent,
@@ -25366,7 +25741,9 @@ const declarations$2 = [
25366
25741
  GroupBindingDirective,
25367
25742
  GridMarqueeDirective,
25368
25743
  GridSpacerComponent,
25369
- GridToolbarFocusableDirective
25744
+ GridToolbarFocusableDirective,
25745
+ StatusBarComponent,
25746
+ StatusBarTemplateDirective
25370
25747
  ];
25371
25748
  /**
25372
25749
  * Represents the [NgModule](link:site.data.urls.angular['ngmoduleapi'])
@@ -25408,7 +25785,9 @@ GridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13
25408
25785
  GroupBindingDirective,
25409
25786
  GridMarqueeDirective,
25410
25787
  GridSpacerComponent,
25411
- GridToolbarFocusableDirective], imports: [CommonModule,
25788
+ GridToolbarFocusableDirective,
25789
+ StatusBarComponent,
25790
+ StatusBarTemplateDirective], imports: [CommonModule,
25412
25791
  GroupModule,
25413
25792
  SharedModule,
25414
25793
  BodyModule,
@@ -25423,6 +25802,7 @@ GridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13
25423
25802
  ToolbarTemplateDirective,
25424
25803
  ToolbarComponent,
25425
25804
  GridSpacerComponent,
25805
+ StatusBarTemplateDirective,
25426
25806
  DataBindingDirective,
25427
25807
  SelectionDirective,
25428
25808
  CustomMessagesComponent,
@@ -25971,7 +26351,7 @@ PDFCommandDirective.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
25971
26351
  </span>
25972
26352
  <span *ngIf="iconClass" class="k-button-icon" [ngClass]="iconClass"></span>
25973
26353
  <span class="k-button-text"><ng-content></ng-content></span>
25974
- `, 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"] }] });
26354
+ `, 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"] }] });
25975
26355
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PDFCommandDirective, decorators: [{
25976
26356
  type: Component,
25977
26357
  args: [{
@@ -26254,7 +26634,7 @@ ExcelCommandDirective.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
26254
26634
  </span>
26255
26635
  <span *ngIf="iconClass" class="k-button-icon" [ngClass]="iconClass"></span>
26256
26636
  <span class="k-button-text"><ng-content></ng-content></span>
26257
- `, 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"] }] });
26637
+ `, 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"] }] });
26258
26638
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ExcelCommandDirective, decorators: [{
26259
26639
  type: Component,
26260
26640
  args: [{
@@ -26320,5 +26700,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
26320
26700
  * Generated bundle index. Do not edit.
26321
26701
  */
26322
26702
 
26323
- 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 };
26703
+ 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 };
26324
26704