@progress/kendo-angular-grid 12.2.0-develop.7 → 13.0.0-develop.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (171) hide show
  1. package/column-menu/column-chooser.component.d.ts +4 -4
  2. package/column-menu/column-menu-autosize-all.component.d.ts +2 -4
  3. package/column-menu/column-menu-autosize.component.d.ts +1 -3
  4. package/column-menu/column-menu-chooser.component.d.ts +3 -3
  5. package/column-menu/column-menu-filter.component.d.ts +3 -3
  6. package/column-menu/column-menu-lock.component.d.ts +3 -3
  7. package/column-menu/column-menu-position.component.d.ts +4 -4
  8. package/column-menu/column-menu-settings.interface.d.ts +5 -0
  9. package/column-menu/column-menu-sort.component.d.ts +6 -3
  10. package/column-menu/column-menu-stick.component.d.ts +3 -3
  11. package/column-menu/column-menu.component.d.ts +39 -5
  12. package/column-menu/column-menu.module.d.ts +2 -1
  13. package/column-resizing/column-handle.directive.d.ts +3 -3
  14. package/common/provider.service.d.ts +3 -1
  15. package/common/single-popup.service.d.ts +3 -3
  16. package/editing/add-command.directive.d.ts +2 -2
  17. package/editing/cancel-command.directive.d.ts +2 -2
  18. package/editing/edit-command.directive.d.ts +2 -2
  19. package/editing/remove-command.directive.d.ts +2 -2
  20. package/editing/save-command.directive.d.ts +2 -2
  21. package/esm2020/column-menu/column-chooser.component.mjs +17 -17
  22. package/esm2020/column-menu/column-list.component.mjs +3 -3
  23. package/esm2020/column-menu/column-menu-autosize-all.component.mjs +15 -18
  24. package/esm2020/column-menu/column-menu-autosize.component.mjs +9 -12
  25. package/esm2020/column-menu/column-menu-chooser.component.mjs +13 -13
  26. package/esm2020/column-menu/column-menu-filter.component.mjs +9 -9
  27. package/esm2020/column-menu/column-menu-item.component.mjs +1 -1
  28. package/esm2020/column-menu/column-menu-lock.component.mjs +7 -7
  29. package/esm2020/column-menu/column-menu-position.component.mjs +9 -9
  30. package/esm2020/column-menu/column-menu-sort.component.mjs +13 -10
  31. package/esm2020/column-menu/column-menu-stick.component.mjs +7 -7
  32. package/esm2020/column-menu/column-menu.component.mjs +257 -17
  33. package/esm2020/column-menu/column-menu.module.mjs +4 -3
  34. package/esm2020/column-resizing/column-handle.directive.mjs +7 -7
  35. package/esm2020/common/provider.service.mjs +6 -3
  36. package/esm2020/common/single-popup.service.mjs +8 -8
  37. package/esm2020/editing/add-command.directive.mjs +7 -7
  38. package/esm2020/editing/cancel-command.directive.mjs +7 -7
  39. package/esm2020/editing/edit-command.directive.mjs +7 -7
  40. package/esm2020/editing/remove-command.directive.mjs +7 -7
  41. package/esm2020/editing/save-command.directive.mjs +7 -7
  42. package/esm2020/excel/excel-command.directive.mjs +7 -7
  43. package/esm2020/excel/excel.component.mjs +7 -7
  44. package/esm2020/filtering/boolean-filter.component.mjs +13 -13
  45. package/esm2020/filtering/cell/autocomplete-filter-cell.component.mjs +7 -7
  46. package/esm2020/filtering/cell/boolean-filter-cell.component.mjs +7 -7
  47. package/esm2020/filtering/cell/date-filter-cell.component.mjs +9 -9
  48. package/esm2020/filtering/cell/filter-cell-operators.component.mjs +7 -7
  49. package/esm2020/filtering/cell/numeric-filter-cell.component.mjs +10 -10
  50. package/esm2020/filtering/cell/string-filter-cell.component.mjs +7 -7
  51. package/esm2020/filtering/date-filter.component.mjs +9 -9
  52. package/esm2020/filtering/filter-row.component.mjs +7 -7
  53. package/esm2020/filtering/menu/boolean-filter-menu.component.mjs +10 -8
  54. package/esm2020/filtering/menu/date-filter-menu-input.component.mjs +8 -8
  55. package/esm2020/filtering/menu/date-filter-menu.component.mjs +9 -9
  56. package/esm2020/filtering/menu/filter-menu-container.component.mjs +20 -20
  57. package/esm2020/filtering/menu/filter-menu-input-wrapper.component.mjs +10 -8
  58. package/esm2020/filtering/menu/filter-menu.component.mjs +8 -8
  59. package/esm2020/filtering/menu/menu-tabbing.service.mjs +1 -0
  60. package/esm2020/filtering/menu/numeric-filter-menu-input.component.mjs +8 -8
  61. package/esm2020/filtering/menu/numeric-filter-menu.component.mjs +9 -9
  62. package/esm2020/filtering/menu/string-filter-menu-input.component.mjs +7 -7
  63. package/esm2020/filtering/menu/string-filter-menu.component.mjs +9 -9
  64. package/esm2020/filtering/numeric-filter.component.mjs +9 -9
  65. package/esm2020/filtering/operators/after-eq-filter-operator.component.mjs +5 -5
  66. package/esm2020/filtering/operators/after-filter-operator.component.mjs +5 -5
  67. package/esm2020/filtering/operators/before-eq-filter-operator.component.mjs +5 -5
  68. package/esm2020/filtering/operators/before-filter-operator.component.mjs +5 -5
  69. package/esm2020/filtering/operators/contains-filter-operator.component.mjs +5 -5
  70. package/esm2020/filtering/operators/ends-with-filter-operator.component.mjs +5 -5
  71. package/esm2020/filtering/operators/eq-filter-operator.component.mjs +5 -5
  72. package/esm2020/filtering/operators/filter-operator.base.mjs +9 -9
  73. package/esm2020/filtering/operators/gt-filter-operator.component.mjs +5 -5
  74. package/esm2020/filtering/operators/gte-filter-operator.component.mjs +5 -5
  75. package/esm2020/filtering/operators/is-empty-filter-operator.component.mjs +5 -5
  76. package/esm2020/filtering/operators/is-not-empty-filter-operator.component.mjs +5 -5
  77. package/esm2020/filtering/operators/is-not-null-filter-operator.component.mjs +5 -5
  78. package/esm2020/filtering/operators/isnull-filter-operator.component.mjs +5 -5
  79. package/esm2020/filtering/operators/lt-filter-operator.component.mjs +5 -5
  80. package/esm2020/filtering/operators/lte-filter-operator.component.mjs +5 -5
  81. package/esm2020/filtering/operators/neq-filter-operator.component.mjs +5 -5
  82. package/esm2020/filtering/operators/not-contains-filter-operator.component.mjs +5 -5
  83. package/esm2020/filtering/operators/starts-with-filter-operator.component.mjs +5 -5
  84. package/esm2020/filtering/string-filter.component.mjs +8 -8
  85. package/esm2020/grid.component.mjs +33 -15
  86. package/esm2020/grouping/group-header.component.mjs +32 -15
  87. package/esm2020/grouping/group-panel.component.mjs +10 -10
  88. package/esm2020/localization/messages.mjs +7 -1
  89. package/esm2020/navigation/navigation.service.mjs +8 -8
  90. package/esm2020/package-metadata.mjs +2 -2
  91. package/esm2020/pager/pager-element.component.mjs +25 -8
  92. package/esm2020/pager/pager-info.component.mjs +6 -6
  93. package/esm2020/pager/pager-input.component.mjs +6 -6
  94. package/esm2020/pager/pager-next-buttons.component.mjs +14 -17
  95. package/esm2020/pager/pager-numeric-buttons.component.mjs +6 -6
  96. package/esm2020/pager/pager-page-sizes.component.mjs +7 -7
  97. package/esm2020/pager/pager-prev-buttons.component.mjs +14 -17
  98. package/esm2020/pager/pager.component.mjs +7 -7
  99. package/esm2020/pdf/pdf-command.directive.mjs +7 -7
  100. package/esm2020/rendering/cell.component.mjs +9 -9
  101. package/esm2020/rendering/common/loading.component.mjs +7 -7
  102. package/esm2020/rendering/header/header.component.mjs +27 -30
  103. package/esm2020/rendering/list.component.mjs +7 -7
  104. package/esm2020/rendering/table-body.component.mjs +12 -12
  105. package/excel/excel-command.directive.d.ts +2 -2
  106. package/excel/excel.component.d.ts +3 -3
  107. package/fesm2015/progress-kendo-angular-grid.mjs +858 -558
  108. package/fesm2020/progress-kendo-angular-grid.mjs +855 -558
  109. package/filtering/base-filter-cell.component.d.ts +1 -1
  110. package/filtering/boolean-filter.component.d.ts +3 -3
  111. package/filtering/cell/autocomplete-filter-cell.component.d.ts +3 -3
  112. package/filtering/cell/boolean-filter-cell.component.d.ts +2 -2
  113. package/filtering/cell/date-filter-cell.component.d.ts +3 -3
  114. package/filtering/cell/filter-cell-operators.component.d.ts +3 -3
  115. package/filtering/cell/numeric-filter-cell.component.d.ts +4 -4
  116. package/filtering/cell/string-filter-cell.component.d.ts +2 -2
  117. package/filtering/date-filter.component.d.ts +3 -3
  118. package/filtering/filter-row.component.d.ts +3 -3
  119. package/filtering/menu/boolean-filter-menu.component.d.ts +2 -2
  120. package/filtering/menu/date-filter-menu-input.component.d.ts +3 -3
  121. package/filtering/menu/date-filter-menu.component.d.ts +2 -2
  122. package/filtering/menu/filter-menu-container.component.d.ts +3 -3
  123. package/filtering/menu/filter-menu-input-wrapper.component.d.ts +3 -3
  124. package/filtering/menu/filter-menu.component.d.ts +3 -3
  125. package/filtering/menu/menu-tabbing.service.d.ts +1 -0
  126. package/filtering/menu/numeric-filter-menu-input.component.d.ts +3 -3
  127. package/filtering/menu/numeric-filter-menu.component.d.ts +2 -2
  128. package/filtering/menu/string-filter-menu-input.component.d.ts +3 -3
  129. package/filtering/menu/string-filter-menu.component.d.ts +2 -2
  130. package/filtering/numeric-filter.component.d.ts +3 -3
  131. package/filtering/operators/after-eq-filter-operator.component.d.ts +2 -2
  132. package/filtering/operators/after-filter-operator.component.d.ts +2 -2
  133. package/filtering/operators/before-eq-filter-operator.component.d.ts +2 -2
  134. package/filtering/operators/before-filter-operator.component.d.ts +2 -2
  135. package/filtering/operators/contains-filter-operator.component.d.ts +2 -2
  136. package/filtering/operators/ends-with-filter-operator.component.d.ts +2 -2
  137. package/filtering/operators/eq-filter-operator.component.d.ts +2 -2
  138. package/filtering/operators/filter-operator.base.d.ts +3 -3
  139. package/filtering/operators/gt-filter-operator.component.d.ts +2 -2
  140. package/filtering/operators/gte-filter-operator.component.d.ts +2 -2
  141. package/filtering/operators/is-empty-filter-operator.component.d.ts +2 -2
  142. package/filtering/operators/is-not-empty-filter-operator.component.d.ts +2 -2
  143. package/filtering/operators/is-not-null-filter-operator.component.d.ts +2 -2
  144. package/filtering/operators/isnull-filter-operator.component.d.ts +2 -2
  145. package/filtering/operators/lt-filter-operator.component.d.ts +2 -2
  146. package/filtering/operators/lte-filter-operator.component.d.ts +2 -2
  147. package/filtering/operators/neq-filter-operator.component.d.ts +2 -2
  148. package/filtering/operators/not-contains-filter-operator.component.d.ts +2 -2
  149. package/filtering/operators/starts-with-filter-operator.component.d.ts +2 -2
  150. package/filtering/string-filter.component.d.ts +3 -3
  151. package/grouping/group-header.component.d.ts +8 -5
  152. package/grouping/group-panel.component.d.ts +3 -3
  153. package/localization/messages.d.ts +13 -1
  154. package/navigation/navigation.service.d.ts +3 -3
  155. package/package.json +16 -15
  156. package/pager/pager-element.component.d.ts +12 -3
  157. package/pager/pager-info.component.d.ts +2 -2
  158. package/pager/pager-input.component.d.ts +2 -2
  159. package/pager/pager-next-buttons.component.d.ts +2 -5
  160. package/pager/pager-numeric-buttons.component.d.ts +2 -2
  161. package/pager/pager-page-sizes.component.d.ts +2 -2
  162. package/pager/pager-prev-buttons.component.d.ts +2 -5
  163. package/pager/pager.component.d.ts +3 -3
  164. package/pdf/pdf-command.directive.d.ts +2 -2
  165. package/rendering/cell.component.d.ts +3 -3
  166. package/rendering/common/loading.component.d.ts +3 -3
  167. package/rendering/header/header.component.d.ts +1 -3
  168. package/rendering/list.component.d.ts +3 -3
  169. package/rendering/table-body.component.d.ts +3 -3
  170. package/schematics/ngAdd/index.js +5 -3
  171. package/scrolling/scroll-request.service.d.ts +6 -0
@@ -7,9 +7,9 @@ import { InjectionToken, Component, HostBinding, Input, EventEmitter, Injectable
7
7
  import * as i1$1 from '@progress/kendo-angular-common';
8
8
  import { isDocumentAvailable, Keys, isPresent as isPresent$1, closest as closest$1, isFocusable as isFocusable$1, anyChanged, isChanged as isChanged$1, KendoInput, guid, hasObservers, ResizeSensorComponent, DraggableModule, EventsModule, ResizeSensorModule } from '@progress/kendo-angular-common';
9
9
  import { merge, of, Subject, from, Subscription, interval, fromEvent, zip as zip$1, BehaviorSubject, Observable } from 'rxjs';
10
+ import { switchMap, take, map, filter, takeUntil, switchMapTo, delay, auditTime, distinctUntilChanged, tap, throttleTime, debounceTime, bufferCount } from 'rxjs/operators';
10
11
  import * as i1 from '@progress/kendo-angular-l10n';
11
12
  import { ComponentMessages, LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
12
- import { switchMap, take, map, filter, takeUntil, switchMapTo, delay, auditTime, distinctUntilChanged, tap, throttleTime, debounceTime, bufferCount } from 'rxjs/operators';
13
13
  import * as i4 from '@angular/common';
14
14
  import { CommonModule } from '@angular/common';
15
15
  import * as i4$2 from '@angular/forms';
@@ -21,7 +21,7 @@ import { PopupModule } from '@progress/kendo-angular-popup';
21
21
  import * as i1$3 from '@angular/platform-browser';
22
22
  import * as i3 from '@progress/kendo-angular-icons';
23
23
  import { IconsModule } from '@progress/kendo-angular-icons';
24
- import { plusIcon, cancelIcon, lockIcon, unlockIcon, insertMiddleIcon, caretAltLeftIcon, caretAltToLeftIcon, caretAltRightIcon, caretAltToRightIcon, sortDescSmallIcon, sortAscSmallIcon, filterIcon, stickIcon, unstickIcon, setColumnPositionIcon, columnsIcon, maxWidthIcon, displayInlineBlockIcon, moreVerticalIcon, filterClearIcon, reorderIcon, caretAltDownIcon, minusIcon } from '@progress/kendo-svg-icons';
24
+ import { plusIcon, cancelIcon, lockIcon, unlockIcon, insertMiddleIcon, caretAltLeftIcon, caretAltToLeftIcon, caretAltRightIcon, caretAltToRightIcon, sortDescSmallIcon, sortAscSmallIcon, filterIcon, stickIcon, unstickIcon, setColumnPositionIcon, columnsIcon, maxWidthIcon, displayInlineFlexIcon, moreHorizontalIcon, moreVerticalIcon, filterClearIcon, reorderIcon, caretAltDownIcon, minusIcon } from '@progress/kendo-svg-icons';
25
25
  import * as i40 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';
@@ -34,6 +34,8 @@ import * as i5 from '@progress/kendo-angular-label';
34
34
  import { LabelModule } from '@progress/kendo-angular-label';
35
35
  import * as i4$3 from '@progress/kendo-angular-dateinputs';
36
36
  import { DatePickerModule } from '@progress/kendo-angular-dateinputs';
37
+ import * as i16 from '@progress/kendo-angular-layout';
38
+ import { TabStripComponent, TabStripModule } from '@progress/kendo-angular-layout';
37
39
  import { trigger, state, style, transition, animate } from '@angular/animations';
38
40
  import { getter } from '@progress/kendo-common';
39
41
  import * as i1$5 from '@progress/kendo-angular-intl';
@@ -1420,6 +1422,76 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1420
1422
  type: Injectable
1421
1423
  }] });
1422
1424
 
1425
+ /**
1426
+ * @hidden
1427
+ */
1428
+ class GridToolbarNavigationService {
1429
+ constructor(renderer) {
1430
+ this.renderer = renderer;
1431
+ this.navigableElements = [];
1432
+ this.currentActiveIndex = 0;
1433
+ this.defaultFocusableSelector = `
1434
+ [kendogridtoolbarfocusable],
1435
+ [kendogridaddcommand],
1436
+ [kendogridcancelcommand],
1437
+ [kendogrideditcommand],
1438
+ [kendogridremovecommand],
1439
+ [kendogridsavecommand],
1440
+ [kendogridexcelcommand],
1441
+ [kendogridpdfcommand]
1442
+ `;
1443
+ }
1444
+ notify() {
1445
+ // ensure focusable elements are in the same order as in the DOM
1446
+ this.navigableElements = this.navigableElements.length && Array.from(this.navigableElements[0].parentElement.querySelectorAll(this.defaultFocusableSelector)) || [];
1447
+ this.currentActiveIndex = 0;
1448
+ this.updateFocus();
1449
+ }
1450
+ focus() {
1451
+ this.navigableElements[this.currentActiveIndex]?.focus();
1452
+ }
1453
+ updateFocus() {
1454
+ if (!this.navigableElements.length) {
1455
+ return;
1456
+ }
1457
+ this.navigableElements.forEach(el => {
1458
+ this.renderer.setAttribute(el, 'tabindex', '-1');
1459
+ });
1460
+ this.renderer.setAttribute(this.navigableElements[this.currentActiveIndex], 'tabindex', '0');
1461
+ if (isDocumentAvailable() && document.activeElement.closest('.k-toolbar')) {
1462
+ this.navigableElements[this.currentActiveIndex].focus();
1463
+ }
1464
+ }
1465
+ }
1466
+ GridToolbarNavigationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GridToolbarNavigationService, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Injectable });
1467
+ GridToolbarNavigationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GridToolbarNavigationService });
1468
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GridToolbarNavigationService, decorators: [{
1469
+ type: Injectable
1470
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }]; } });
1471
+
1472
+ /**
1473
+ * @hidden
1474
+ *
1475
+ * The Context service is used to provide common
1476
+ * services and DI tokens for a Grid instance.
1477
+ *
1478
+ * This keeps the constructor parameters stable
1479
+ * and a avoids dependency cycles between components.
1480
+ */
1481
+ class ContextService {
1482
+ constructor(renderer, localization) {
1483
+ this.renderer = renderer;
1484
+ this.localization = localization;
1485
+ this.topToolbarNavigation = new GridToolbarNavigationService(this.renderer);
1486
+ this.bottomToolbarNavigation = new GridToolbarNavigationService(this.renderer);
1487
+ }
1488
+ }
1489
+ ContextService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ContextService, deps: [{ token: i0.Renderer2 }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Injectable });
1490
+ ContextService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ContextService });
1491
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ContextService, decorators: [{
1492
+ type: Injectable
1493
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i1.LocalizationService }]; } });
1494
+
1423
1495
  const isInSameGrid = (element, gridElement) => closest(element, matchesNodeName('kendo-grid')) === gridElement;
1424
1496
  const matchHeaderCell = matchesNodeName('th');
1425
1497
  const matchDataCell = matchesNodeName('td');
@@ -1475,7 +1547,7 @@ class NavigationViewport {
1475
1547
  * @hidden
1476
1548
  */
1477
1549
  class NavigationService {
1478
- constructor(zone, domEvents, pagerContextService, scrollRequestService, groupsService, detailsService, focusRoot, editService, cd, localization, focusableParent) {
1550
+ constructor(zone, domEvents, pagerContextService, scrollRequestService, groupsService, detailsService, focusRoot, editService, cd, ctx, focusableParent) {
1479
1551
  this.zone = zone;
1480
1552
  this.domEvents = domEvents;
1481
1553
  this.pagerContextService = pagerContextService;
@@ -1485,7 +1557,7 @@ class NavigationService {
1485
1557
  this.focusRoot = focusRoot;
1486
1558
  this.editService = editService;
1487
1559
  this.cd = cd;
1488
- this.localization = localization;
1560
+ this.ctx = ctx;
1489
1561
  this.focusableParent = focusableParent;
1490
1562
  this.cellKeydown = new EventEmitter();
1491
1563
  this.activeRowIndex = 0;
@@ -1773,10 +1845,10 @@ class NavigationService {
1773
1845
  .forEach(cell => cell.focusGroup && cell.focusGroup.activate());
1774
1846
  }
1775
1847
  moveCursorFwd() {
1776
- return this.localization.rtl ? this.cursor.moveLeft() : this.cursor.moveRight();
1848
+ return this.ctx.localization.rtl ? this.cursor.moveLeft() : this.cursor.moveRight();
1777
1849
  }
1778
1850
  moveCursorBwd() {
1779
- return this.localization.rtl ? this.cursor.moveRight() : this.cursor.moveLeft();
1851
+ return this.ctx.localization.rtl ? this.cursor.moveRight() : this.cursor.moveLeft();
1780
1852
  }
1781
1853
  onCursorKeydown(args) {
1782
1854
  let preventDefault = false;
@@ -1985,11 +2057,11 @@ class NavigationService {
1985
2057
  this.cursor.reset();
1986
2058
  }
1987
2059
  }
1988
- NavigationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: NavigationService, deps: [{ token: i0.NgZone }, { token: DomEventsService }, { token: PagerContextService }, { token: ScrollRequestService }, { token: GroupsService }, { token: DetailsService }, { token: FocusRoot }, { token: EditService }, { token: i0.ChangeDetectorRef }, { token: i1.LocalizationService }, { token: FocusableDirective, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
2060
+ NavigationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: NavigationService, deps: [{ token: i0.NgZone }, { token: DomEventsService }, { token: PagerContextService }, { token: ScrollRequestService }, { token: GroupsService }, { token: DetailsService }, { token: FocusRoot }, { token: EditService }, { token: i0.ChangeDetectorRef }, { token: ContextService }, { token: FocusableDirective, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
1989
2061
  NavigationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: NavigationService });
1990
2062
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: NavigationService, decorators: [{
1991
2063
  type: Injectable
1992
- }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: DomEventsService }, { type: PagerContextService }, { type: ScrollRequestService }, { type: GroupsService }, { type: DetailsService }, { type: FocusRoot }, { type: EditService }, { type: i0.ChangeDetectorRef }, { type: i1.LocalizationService }, { type: FocusableDirective, decorators: [{
2064
+ }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: DomEventsService }, { type: PagerContextService }, { type: ScrollRequestService }, { type: GroupsService }, { type: DetailsService }, { type: FocusRoot }, { type: EditService }, { type: i0.ChangeDetectorRef }, { type: ContextService }, { type: FocusableDirective, decorators: [{
1993
2065
  type: Optional
1994
2066
  }] }]; } });
1995
2067
 
@@ -2827,8 +2899,8 @@ const packageMetadata = {
2827
2899
  name: '@progress/kendo-angular-grid',
2828
2900
  productName: 'Kendo UI for Angular',
2829
2901
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
2830
- publishDate: 1684780267,
2831
- version: '12.2.0-develop.7',
2902
+ publishDate: 1685119790,
2903
+ version: '13.0.0-develop.10',
2832
2904
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
2833
2905
  };
2834
2906
 
@@ -4434,75 +4506,6 @@ class PairSet {
4434
4506
  }
4435
4507
  }
4436
4508
 
4437
- /**
4438
- * @hidden
4439
- */
4440
- class GridToolbarNavigationService {
4441
- constructor(renderer) {
4442
- this.renderer = renderer;
4443
- this.navigableElements = [];
4444
- this.currentActiveIndex = 0;
4445
- this.defaultFocusableSelector = `
4446
- [kendogridtoolbarfocusable],
4447
- [kendogridaddcommand],
4448
- [kendogridcancelcommand],
4449
- [kendogrideditcommand],
4450
- [kendogridremovecommand],
4451
- [kendogridsavecommand],
4452
- [kendogridexcelcommand],
4453
- [kendogridpdfcommand]
4454
- `;
4455
- }
4456
- notify() {
4457
- // ensure focusable elements are in the same order as in the DOM
4458
- this.navigableElements = this.navigableElements.length && Array.from(this.navigableElements[0].parentElement.querySelectorAll(this.defaultFocusableSelector)) || [];
4459
- this.currentActiveIndex = 0;
4460
- this.updateFocus();
4461
- }
4462
- focus() {
4463
- this.navigableElements[this.currentActiveIndex]?.focus();
4464
- }
4465
- updateFocus() {
4466
- if (!this.navigableElements.length) {
4467
- return;
4468
- }
4469
- this.navigableElements.forEach(el => {
4470
- this.renderer.setAttribute(el, 'tabindex', '-1');
4471
- });
4472
- this.renderer.setAttribute(this.navigableElements[this.currentActiveIndex], 'tabindex', '0');
4473
- if (isDocumentAvailable() && document.activeElement.closest('.k-toolbar')) {
4474
- this.navigableElements[this.currentActiveIndex].focus();
4475
- }
4476
- }
4477
- }
4478
- GridToolbarNavigationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GridToolbarNavigationService, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Injectable });
4479
- GridToolbarNavigationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GridToolbarNavigationService });
4480
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GridToolbarNavigationService, decorators: [{
4481
- type: Injectable
4482
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }]; } });
4483
-
4484
- /**
4485
- * @hidden
4486
- *
4487
- * The Context service is used to provide common
4488
- * services and DI tokens for a Grid instance.
4489
- *
4490
- * This keeps the constructor parameters stable
4491
- * and a avoids dependency cycles between components.
4492
- */
4493
- class ContextService {
4494
- constructor(renderer) {
4495
- this.renderer = renderer;
4496
- this.topToolbarNavigation = new GridToolbarNavigationService(this.renderer);
4497
- this.bottomToolbarNavigation = new GridToolbarNavigationService(this.renderer);
4498
- }
4499
- }
4500
- ContextService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ContextService, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Injectable });
4501
- ContextService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ContextService });
4502
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ContextService, decorators: [{
4503
- type: Injectable
4504
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }]; } });
4505
-
4506
4509
  /**
4507
4510
  * @hidden
4508
4511
  */
@@ -4981,6 +4984,7 @@ class MenuTabbingService {
4981
4984
  constructor() {
4982
4985
  this.isColumnMenu = false;
4983
4986
  this.isPopupOpen = false;
4987
+ this.isTabbedInterface = false;
4984
4988
  }
4985
4989
  }
4986
4990
  MenuTabbingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MenuTabbingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
@@ -5496,11 +5500,11 @@ class SinglePopupService {
5496
5500
  /**
5497
5501
  * @hidden
5498
5502
  */
5499
- constructor(popupService, renderer, ngZone, scrollSyncService, localization) {
5503
+ constructor(popupService, renderer, ngZone, scrollSyncService, ctx) {
5500
5504
  this.popupService = popupService;
5501
5505
  this.renderer = renderer;
5502
5506
  this.ngZone = ngZone;
5503
- this.localization = localization;
5507
+ this.ctx = ctx;
5504
5508
  /**
5505
5509
  * Fires when the filter or column menus are about to close because the user clicked outside their popups.
5506
5510
  * Used to prevent the popup from closing.
@@ -5516,7 +5520,7 @@ class SinglePopupService {
5516
5520
  const toggle = isPresent(popupRef) && this.popupRef === popupRef;
5517
5521
  this.destroy();
5518
5522
  if (!toggle) {
5519
- const direction = this.localization.rtl ? 'right' : 'left';
5523
+ const direction = this.ctx.localization.rtl ? 'right' : 'left';
5520
5524
  this.popupRef = this.popupService.open({
5521
5525
  anchorAlign: { vertical: 'bottom', horizontal: direction },
5522
5526
  popupAlign: { vertical: 'top', horizontal: direction },
@@ -5525,7 +5529,7 @@ class SinglePopupService {
5525
5529
  content: template,
5526
5530
  positionMode: "absolute"
5527
5531
  });
5528
- this.renderer.setAttribute(this.popupRef.popupElement, 'dir', this.localization.rtl ? 'rtl' : 'ltr');
5532
+ this.renderer.setAttribute(this.popupRef.popupElement, 'dir', this.ctx.localization.rtl ? 'rtl' : 'ltr');
5529
5533
  this.attachClose(anchor);
5530
5534
  }
5531
5535
  const popupEl = this.popupRef?.popupElement;
@@ -5584,11 +5588,11 @@ class SinglePopupService {
5584
5588
  });
5585
5589
  }
5586
5590
  }
5587
- SinglePopupService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SinglePopupService, deps: [{ token: i1$2.PopupService }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: ScrollSyncService }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Injectable });
5591
+ SinglePopupService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SinglePopupService, deps: [{ token: i1$2.PopupService }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: ScrollSyncService }, { token: ContextService }], target: i0.ɵɵFactoryTarget.Injectable });
5588
5592
  SinglePopupService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SinglePopupService });
5589
5593
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SinglePopupService, decorators: [{
5590
5594
  type: Injectable
5591
- }], ctorParameters: function () { return [{ type: i1$2.PopupService }, { type: i0.Renderer2 }, { type: i0.NgZone }, { type: ScrollSyncService }, { type: i1.LocalizationService }]; } });
5595
+ }], ctorParameters: function () { return [{ type: i1$2.PopupService }, { type: i0.Renderer2 }, { type: i0.NgZone }, { type: ScrollSyncService }, { type: ContextService }]; } });
5592
5596
 
5593
5597
  /* eslint-disable no-bitwise */
5594
5598
  /**
@@ -6663,13 +6667,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
6663
6667
  * @hidden
6664
6668
  */
6665
6669
  class PagerElementComponent {
6666
- constructor(localization, pagerContext, cd) {
6667
- this.localization = localization;
6670
+ constructor(ctx, pagerContext, cd) {
6671
+ this.ctx = ctx;
6668
6672
  this.pagerContext = pagerContext;
6669
6673
  this.cd = cd;
6670
6674
  this.total = this.pagerContext.total;
6671
6675
  this.skip = this.pagerContext.skip;
6672
6676
  this.pageSize = this.pagerContext.pageSize;
6677
+ this.caretAltLeftIcon = caretAltLeftIcon;
6678
+ this.caretAltToLeftIcon = caretAltToLeftIcon;
6679
+ this.caretAltRightIcon = caretAltRightIcon;
6680
+ this.caretAltToRightIcon = caretAltToRightIcon;
6673
6681
  /**
6674
6682
  * Sets the pager element sizing option.
6675
6683
  * @default `medium`
@@ -6705,7 +6713,7 @@ class PagerElementComponent {
6705
6713
  * @memberOf PagerElementComponent
6706
6714
  */
6707
6715
  textFor(key) {
6708
- return this.localization.get(key);
6716
+ return this.ctx.localization.get(key);
6709
6717
  }
6710
6718
  /**
6711
6719
  * @hidden
@@ -6725,20 +6733,32 @@ class PagerElementComponent {
6725
6733
  */
6726
6734
  ngOnInit() {
6727
6735
  this.subscriptions = this.pagerContext.changes.subscribe(this.onChanges.bind(this));
6728
- this.subscriptions.add(this.localization.changes.subscribe(() => this.cd.markForCheck()));
6736
+ this.subscriptions.add(this.ctx.localization.changes.subscribe(() => this.cd.markForCheck()));
6729
6737
  }
6730
6738
  ngOnDestroy() {
6731
6739
  if (this.subscriptions) {
6732
6740
  this.subscriptions.unsubscribe();
6733
6741
  }
6734
6742
  }
6743
+ get prevArrowIcons() {
6744
+ return !this.ctx.localization.rtl ? ['caret-alt-to-left', 'caret-alt-left'] : ['caret-alt-to-right', 'caret-alt-right'];
6745
+ }
6746
+ get prevArrowSVGIcons() {
6747
+ return !this.ctx.localization.rtl ? [this.caretAltToLeftIcon, this.caretAltLeftIcon] : [this.caretAltToRightIcon, this.caretAltRightIcon];
6748
+ }
6749
+ get nextArrowIcons() {
6750
+ return !this.ctx.localization.rtl ? ['caret-alt-right', 'caret-alt-to-right'] : ['caret-alt-left', 'caret-alt-to-left'];
6751
+ }
6752
+ get nextArrowSVGIcons() {
6753
+ return !this.ctx.localization.rtl ? [this.caretAltRightIcon, this.caretAltToRightIcon] : [this.caretAltLeftIcon, this.caretAltToLeftIcon];
6754
+ }
6735
6755
  }
6736
- PagerElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerElementComponent, deps: [{ token: i1.LocalizationService }, { token: PagerContextService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
6756
+ 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 });
6737
6757
  PagerElementComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: PagerElementComponent, inputs: { size: "size" }, ngImport: i0 });
6738
6758
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerElementComponent, decorators: [{
6739
6759
  type: Directive,
6740
6760
  args: [{}]
6741
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: PagerContextService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { size: [{
6761
+ }], ctorParameters: function () { return [{ type: ContextService }, { type: PagerContextService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { size: [{
6742
6762
  type: Input
6743
6763
  }] } });
6744
6764
 
@@ -6746,11 +6766,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
6746
6766
  * Displays buttons for navigating to the first and to the previous page ([see example](slug:pager_template_grid#toc-using-built-in-pager-components)).
6747
6767
  */
6748
6768
  class PagerPrevButtonsComponent extends PagerElementComponent {
6749
- constructor(localization, pagerContext, cd, navigationService) {
6750
- super(localization, pagerContext, cd);
6769
+ constructor(ctx, pagerContext, cd, navigationService) {
6770
+ super(ctx, pagerContext, cd);
6751
6771
  this.navigationService = navigationService;
6752
- this.caretAltLeftIcon = caretAltLeftIcon;
6753
- this.caretAltToLeftIcon = caretAltToLeftIcon;
6754
6772
  }
6755
6773
  /**
6756
6774
  * @hidden
@@ -6769,7 +6787,7 @@ class PagerPrevButtonsComponent extends PagerElementComponent {
6769
6787
  this.cd.markForCheck();
6770
6788
  }
6771
6789
  }
6772
- PagerPrevButtonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerPrevButtonsComponent, deps: [{ token: i1.LocalizationService }, { token: PagerContextService }, { token: i0.ChangeDetectorRef }, { token: NavigationService }], target: i0.ɵɵFactoryTarget.Component });
6790
+ PagerPrevButtonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerPrevButtonsComponent, deps: [{ token: ContextService }, { token: PagerContextService }, { token: i0.ChangeDetectorRef }, { token: NavigationService }], target: i0.ɵɵFactoryTarget.Component });
6773
6791
  PagerPrevButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: PagerPrevButtonsComponent, selector: "kendo-pager-prev-buttons", usesInheritance: true, ngImport: i0, template: `
6774
6792
  <button
6775
6793
  [kendoGridFocusable]="!disabled"
@@ -6779,8 +6797,8 @@ PagerPrevButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
6779
6797
  [attr.aria-label]="textFor('pagerFirstPage')"
6780
6798
  (click)="currentPage !== 1 ? changePage(0) : false"
6781
6799
  role="button"
6782
- icon="caret-alt-to-left"
6783
- [svgIcon]="caretAltToLeftIcon"
6800
+ [icon]="prevArrowIcons[0]"
6801
+ [svgIcon]="prevArrowSVGIcons[0]"
6784
6802
  class="k-pager-nav k-pager-first"
6785
6803
  [disabled]="disabled"
6786
6804
  fillMode="flat"
@@ -6793,8 +6811,8 @@ PagerPrevButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
6793
6811
  type="button"
6794
6812
  class="k-pager-nav"
6795
6813
  [disabled]="disabled"
6796
- icon="caret-alt-left"
6797
- [svgIcon]="caretAltLeftIcon"
6814
+ [icon]="prevArrowIcons[1]"
6815
+ [svgIcon]="prevArrowSVGIcons[1]"
6798
6816
  fillMode="flat"
6799
6817
  rounded="none"
6800
6818
  [size]="size"
@@ -6817,8 +6835,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
6817
6835
  [attr.aria-label]="textFor('pagerFirstPage')"
6818
6836
  (click)="currentPage !== 1 ? changePage(0) : false"
6819
6837
  role="button"
6820
- icon="caret-alt-to-left"
6821
- [svgIcon]="caretAltToLeftIcon"
6838
+ [icon]="prevArrowIcons[0]"
6839
+ [svgIcon]="prevArrowSVGIcons[0]"
6822
6840
  class="k-pager-nav k-pager-first"
6823
6841
  [disabled]="disabled"
6824
6842
  fillMode="flat"
@@ -6831,8 +6849,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
6831
6849
  type="button"
6832
6850
  class="k-pager-nav"
6833
6851
  [disabled]="disabled"
6834
- icon="caret-alt-left"
6835
- [svgIcon]="caretAltLeftIcon"
6852
+ [icon]="prevArrowIcons[1]"
6853
+ [svgIcon]="prevArrowSVGIcons[1]"
6836
6854
  fillMode="flat"
6837
6855
  rounded="none"
6838
6856
  [size]="size"
@@ -6842,14 +6860,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
6842
6860
  </button>
6843
6861
  `
6844
6862
  }]
6845
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: PagerContextService }, { type: i0.ChangeDetectorRef }, { type: NavigationService }]; } });
6863
+ }], ctorParameters: function () { return [{ type: ContextService }, { type: PagerContextService }, { type: i0.ChangeDetectorRef }, { type: NavigationService }]; } });
6846
6864
 
6847
6865
  /**
6848
6866
  * Displays numeric buttons to enable navigation between the pages ([see example](slug:pager_template_grid#toc-using-built-in-pager-components)).
6849
6867
  */
6850
6868
  class PagerNumericButtonsComponent extends PagerElementComponent {
6851
- constructor(localization, cd, pagerContext) {
6852
- super(localization, pagerContext, cd);
6869
+ constructor(ctx, cd, pagerContext) {
6870
+ super(ctx, pagerContext, cd);
6853
6871
  this.pagerContext = pagerContext;
6854
6872
  this.numbersWrapClass = true;
6855
6873
  }
@@ -6920,7 +6938,7 @@ class PagerNumericButtonsComponent extends PagerElementComponent {
6920
6938
  this.cd.markForCheck();
6921
6939
  }
6922
6940
  }
6923
- PagerNumericButtonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerNumericButtonsComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: PagerContextService }], target: i0.ɵɵFactoryTarget.Component });
6941
+ PagerNumericButtonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerNumericButtonsComponent, deps: [{ token: ContextService }, { token: i0.ChangeDetectorRef }, { token: PagerContextService }], target: i0.ɵɵFactoryTarget.Component });
6924
6942
  PagerNumericButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: PagerNumericButtonsComponent, selector: "kendo-pager-numeric-buttons", inputs: { buttonCount: "buttonCount" }, host: { properties: { "class.k-pager-numbers-wrap": "this.numbersWrapClass" } }, usesInheritance: true, ngImport: i0, template: `
6925
6943
  <select
6926
6944
  class="k-dropdown-list k-dropdown k-picker k-picker-solid k-rounded-md"
@@ -7073,7 +7091,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
7073
7091
  </div>
7074
7092
  `
7075
7093
  }]
7076
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: PagerContextService }]; }, propDecorators: { numbersWrapClass: [{
7094
+ }], ctorParameters: function () { return [{ type: ContextService }, { type: i0.ChangeDetectorRef }, { type: PagerContextService }]; }, propDecorators: { numbersWrapClass: [{
7077
7095
  type: HostBinding,
7078
7096
  args: ['class.k-pager-numbers-wrap']
7079
7097
  }], buttonCount: [{
@@ -7104,8 +7122,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
7104
7122
  * Displays an input element which allows the typing and rendering of page numbers ([see example](slug:pager_template_grid#toc-using-built-in-pager-components)).
7105
7123
  */
7106
7124
  class PagerInputComponent extends PagerElementComponent {
7107
- constructor(localization, pagerContext, zone, navigationService, cd) {
7108
- super(localization, pagerContext, cd);
7125
+ constructor(ctx, pagerContext, zone, navigationService, cd) {
7126
+ super(ctx, pagerContext, cd);
7109
7127
  this.pagerContext = pagerContext;
7110
7128
  this.zone = zone;
7111
7129
  this.navigationService = navigationService;
@@ -7163,7 +7181,7 @@ class PagerInputComponent extends PagerElementComponent {
7163
7181
  this.cd.markForCheck();
7164
7182
  }
7165
7183
  }
7166
- PagerInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerInputComponent, deps: [{ token: i1.LocalizationService }, { token: PagerContextService }, { token: i0.NgZone }, { token: NavigationService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
7184
+ PagerInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerInputComponent, deps: [{ token: ContextService }, { token: PagerContextService }, { token: i0.NgZone }, { token: NavigationService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
7167
7185
  PagerInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: PagerInputComponent, selector: "kendo-pager-input", viewQueries: [{ propertyName: "numericInput", first: true, predicate: NumericTextBoxComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: `
7168
7186
  <span class="k-pager-input k-label">
7169
7187
  {{textFor('pagerPage')}}
@@ -7219,7 +7237,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
7219
7237
  </span>
7220
7238
  `
7221
7239
  }]
7222
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: PagerContextService }, { type: i0.NgZone }, { type: NavigationService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { numericInput: [{
7240
+ }], ctorParameters: function () { return [{ type: ContextService }, { type: PagerContextService }, { type: i0.NgZone }, { type: NavigationService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { numericInput: [{
7223
7241
  type: ViewChild,
7224
7242
  args: [NumericTextBoxComponent, { static: false }]
7225
7243
  }] } });
@@ -7228,11 +7246,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
7228
7246
  * Displays buttons for navigating to the next and to the last page ([see example](slug:pager_template_grid#toc-using-built-in-pager-components)).
7229
7247
  */
7230
7248
  class PagerNextButtonsComponent extends PagerElementComponent {
7231
- constructor(localization, pagerContext, cd, navigationService) {
7232
- super(localization, pagerContext, cd);
7249
+ constructor(ctx, pagerContext, cd, navigationService) {
7250
+ super(ctx, pagerContext, cd);
7233
7251
  this.navigationService = navigationService;
7234
- this.caretAltRightIcon = caretAltRightIcon;
7235
- this.caretAltToRightIcon = caretAltToRightIcon;
7236
7252
  }
7237
7253
  /**
7238
7254
  * @hidden
@@ -7251,15 +7267,15 @@ class PagerNextButtonsComponent extends PagerElementComponent {
7251
7267
  this.cd.markForCheck();
7252
7268
  }
7253
7269
  }
7254
- PagerNextButtonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerNextButtonsComponent, deps: [{ token: i1.LocalizationService }, { token: PagerContextService }, { token: i0.ChangeDetectorRef }, { token: NavigationService }], target: i0.ɵɵFactoryTarget.Component });
7270
+ PagerNextButtonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerNextButtonsComponent, deps: [{ token: ContextService }, { token: PagerContextService }, { token: i0.ChangeDetectorRef }, { token: NavigationService }], target: i0.ɵɵFactoryTarget.Component });
7255
7271
  PagerNextButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: PagerNextButtonsComponent, selector: "kendo-pager-next-buttons", usesInheritance: true, ngImport: i0, template: `
7256
7272
  <button
7257
7273
  kendoButton
7258
7274
  [kendoGridFocusable]="!disabled"
7259
7275
  type="button"
7260
7276
  [size]="size"
7261
- icon="caret-alt-right"
7262
- [svgIcon]="caretAltRightIcon"
7277
+ [icon]="nextArrowIcons[0]"
7278
+ [svgIcon]="nextArrowSVGIcons[0]"
7263
7279
  fillMode="flat"
7264
7280
  rounded="none"
7265
7281
  class="k-pager-nav"
@@ -7273,8 +7289,8 @@ PagerNextButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
7273
7289
  [kendoGridFocusable]="!disabled"
7274
7290
  type="button"
7275
7291
  [size]="size"
7276
- icon="caret-alt-to-right"
7277
- [svgIcon]="caretAltToRightIcon"
7292
+ [icon]="nextArrowIcons[1]"
7293
+ [svgIcon]="nextArrowSVGIcons[1]"
7278
7294
  fillMode="flat"
7279
7295
  rounded="none"
7280
7296
  class="k-pager-nav k-pager-last"
@@ -7295,8 +7311,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
7295
7311
  [kendoGridFocusable]="!disabled"
7296
7312
  type="button"
7297
7313
  [size]="size"
7298
- icon="caret-alt-right"
7299
- [svgIcon]="caretAltRightIcon"
7314
+ [icon]="nextArrowIcons[0]"
7315
+ [svgIcon]="nextArrowSVGIcons[0]"
7300
7316
  fillMode="flat"
7301
7317
  rounded="none"
7302
7318
  class="k-pager-nav"
@@ -7310,8 +7326,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
7310
7326
  [kendoGridFocusable]="!disabled"
7311
7327
  type="button"
7312
7328
  [size]="size"
7313
- icon="caret-alt-to-right"
7314
- [svgIcon]="caretAltToRightIcon"
7329
+ [icon]="nextArrowIcons[1]"
7330
+ [svgIcon]="nextArrowSVGIcons[1]"
7315
7331
  fillMode="flat"
7316
7332
  rounded="none"
7317
7333
  class="k-pager-nav k-pager-last"
@@ -7322,15 +7338,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
7322
7338
  </button>
7323
7339
  `
7324
7340
  }]
7325
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: PagerContextService }, { type: i0.ChangeDetectorRef }, { type: NavigationService }]; } });
7341
+ }], ctorParameters: function () { return [{ type: ContextService }, { type: PagerContextService }, { type: i0.ChangeDetectorRef }, { type: NavigationService }]; } });
7326
7342
 
7327
7343
  // eslint-disable no-access-missing-member
7328
7344
  /**
7329
7345
  * Displays information about the current page and the total number of records ([see example](slug:pager_template_grid#toc-using-built-in-pager-components)).
7330
7346
  */
7331
7347
  class PagerInfoComponent extends PagerElementComponent {
7332
- constructor(localization, cd, pagerContext) {
7333
- super(localization, pagerContext, cd);
7348
+ constructor(ctx, cd, pagerContext) {
7349
+ super(ctx, pagerContext, cd);
7334
7350
  this.pagerContext = pagerContext;
7335
7351
  }
7336
7352
  /**
@@ -7372,7 +7388,7 @@ class PagerInfoComponent extends PagerElementComponent {
7372
7388
  this.cd.markForCheck();
7373
7389
  }
7374
7390
  }
7375
- PagerInfoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerInfoComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: PagerContextService }], target: i0.ɵɵFactoryTarget.Component });
7391
+ PagerInfoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerInfoComponent, deps: [{ token: ContextService }, { token: i0.ChangeDetectorRef }, { token: PagerContextService }], target: i0.ɵɵFactoryTarget.Component });
7376
7392
  PagerInfoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: PagerInfoComponent, selector: "kendo-pager-info", host: { properties: { "class.k-pager-info": "this.classes", "class.k-label": "this.classes" } }, usesInheritance: true, ngImport: i0, template: `{{currentPageText}} - {{maxItems}} {{textFor('pagerOf')}} {{total}} {{textFor('pagerItems')}}`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
7377
7393
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerInfoComponent, decorators: [{
7378
7394
  type: Component,
@@ -7381,7 +7397,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
7381
7397
  selector: 'kendo-pager-info',
7382
7398
  template: `{{currentPageText}} - {{maxItems}} {{textFor('pagerOf')}} {{total}} {{textFor('pagerItems')}}`
7383
7399
  }]
7384
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: PagerContextService }]; }, propDecorators: { classes: [{
7400
+ }], ctorParameters: function () { return [{ type: ContextService }, { type: i0.ChangeDetectorRef }, { type: PagerContextService }]; }, propDecorators: { classes: [{
7385
7401
  type: HostBinding,
7386
7402
  args: ["class.k-pager-info"]
7387
7403
  }, {
@@ -7421,8 +7437,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
7421
7437
  * Displays a drop-down list for the page size selection ([see example](slug:pager_template_grid#toc-using-built-in-pager-components)).
7422
7438
  */
7423
7439
  class PagerPageSizesComponent extends PagerElementComponent {
7424
- constructor(localization, cd, pagerContext, navigationService) {
7425
- super(localization, pagerContext, cd);
7440
+ constructor(ctx, cd, pagerContext, navigationService) {
7441
+ super(ctx, pagerContext, cd);
7426
7442
  this.pagerContext = pagerContext;
7427
7443
  this.navigationService = navigationService;
7428
7444
  this._pageSizes = [];
@@ -7495,7 +7511,7 @@ class PagerPageSizesComponent extends PagerElementComponent {
7495
7511
  this.cd.markForCheck();
7496
7512
  }
7497
7513
  }
7498
- PagerPageSizesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerPageSizesComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: PagerContextService }, { token: NavigationService }], target: i0.ɵɵFactoryTarget.Component });
7514
+ PagerPageSizesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerPageSizesComponent, deps: [{ token: ContextService }, { token: i0.ChangeDetectorRef }, { token: PagerContextService }, { token: NavigationService }], target: i0.ɵɵFactoryTarget.Component });
7499
7515
  PagerPageSizesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: PagerPageSizesComponent, selector: "kendo-pager-page-sizes", inputs: { pageSizes: "pageSizes" }, host: { properties: { "class.k-pager-sizes": "this.classes", "class.k-label": "this.classes" } }, usesInheritance: true, ngImport: i0, template: `
7500
7516
  <kendo-dropdownlist
7501
7517
  class="k-dropdown"
@@ -7511,7 +7527,7 @@ PagerPageSizesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
7511
7527
  [value]="pageSize"
7512
7528
  (valueChange)="pageSizeChange($event)"></kendo-dropdownlist>
7513
7529
  <kendo-label [for]="dropdownlist" [text]="textFor('pagerItemsPerPage')"></kendo-label>
7514
- `, 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 });
7530
+ `, 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 });
7515
7531
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerPageSizesComponent, decorators: [{
7516
7532
  type: Component,
7517
7533
  args: [{
@@ -7534,7 +7550,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
7534
7550
  <kendo-label [for]="dropdownlist" [text]="textFor('pagerItemsPerPage')"></kendo-label>
7535
7551
  `
7536
7552
  }]
7537
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: PagerContextService }, { type: NavigationService }]; }, propDecorators: { pageSizes: [{
7553
+ }], ctorParameters: function () { return [{ type: ContextService }, { type: i0.ChangeDetectorRef }, { type: PagerContextService }, { type: NavigationService }]; }, propDecorators: { pageSizes: [{
7538
7554
  type: Input
7539
7555
  }], classes: [{
7540
7556
  type: HostBinding,
@@ -7548,13 +7564,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
7548
7564
  * @hidden
7549
7565
  */
7550
7566
  class PagerComponent {
7551
- constructor(pagerContext, navigationService, element, renderer, zone, localizationService, cellContext, focusRoot, focusGroup) {
7567
+ constructor(pagerContext, navigationService, element, renderer, zone, ctx, cellContext, focusRoot, focusGroup) {
7552
7568
  this.pagerContext = pagerContext;
7553
7569
  this.navigationService = navigationService;
7554
7570
  this.element = element;
7555
7571
  this.renderer = renderer;
7556
7572
  this.zone = zone;
7557
- this.localizationService = localizationService;
7573
+ this.ctx = ctx;
7558
7574
  this.cellContext = cellContext;
7559
7575
  this.focusRoot = focusRoot;
7560
7576
  this.focusGroup = focusGroup;
@@ -7613,7 +7629,7 @@ class PagerComponent {
7613
7629
  return this.navigationService.pagerEnabled ? this.pagerLabel : undefined;
7614
7630
  }
7615
7631
  get pagerLabel() {
7616
- const localizationMsg = this.localizationService.get('pagerLabel') || '';
7632
+ const localizationMsg = this.ctx.localization.get('pagerLabel') || '';
7617
7633
  return replaceMessagePlaceholder(replaceMessagePlaceholder(localizationMsg, 'currentPage', this.currentPage.toString()), 'totalPages', this.totalPages.toString());
7618
7634
  }
7619
7635
  get focusTrapTabIndex() {
@@ -7762,7 +7778,7 @@ class PagerComponent {
7762
7778
  }
7763
7779
  }
7764
7780
  }
7765
- PagerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerComponent, deps: [{ token: PagerContextService }, { token: NavigationService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i1.LocalizationService }, { token: CELL_CONTEXT, optional: true }, { token: FocusRoot }, { token: FocusGroup }], target: i0.ɵɵFactoryTarget.Component });
7781
+ PagerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerComponent, deps: [{ token: PagerContextService }, { token: NavigationService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: ContextService }, { token: CELL_CONTEXT, optional: true }, { token: FocusRoot }, { token: FocusGroup }], target: i0.ɵɵFactoryTarget.Component });
7766
7782
  PagerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: PagerComponent, selector: "kendo-pager", inputs: { total: "total", skip: "skip", pageSize: "pageSize", options: "options", size: "size", template: "template" }, outputs: { pageChange: "pageChange" }, host: { listeners: { "focusin": "onFocusIn($event)", "focusout": "onFocusOut()", "keydown.escape": "onEscape()", "keydown.enter": "onEnter($event)", "keydown.arrowleft": "navigateToPreviousPage($event)", "keydown.pageup": "navigateToPreviousPage($event)", "keydown.arrowright": "navigateToNextPage($event)", "keydown.pagedown": "navigateToNextPage($event)", "keydown.home": "navigateToFirstPage($event)", "keydown.end": "navigateToLastPage($event)" }, properties: { "class.k-pager-wrap": "this.pagerWrapClass", "class.k-grid-pager": "this.gridPagerClass", "class.k-pager-sm": "this.sizeSmallClass", "class.k-pager-md": "this.sizeMediumClass", "class.k-focus": "this.isFocused", "attr.aria-label": "this.pagerAriaLabel" } }, providers: [{
7767
7783
  provide: FOCUS_ROOT_ACTIVE,
7768
7784
  useValue: true
@@ -7869,7 +7885,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
7869
7885
  <kendo-resize-sensor *ngIf="settings.responsive" (resize)="resizeHandler()"></kendo-resize-sensor>
7870
7886
  `
7871
7887
  }]
7872
- }], ctorParameters: function () { return [{ type: PagerContextService }, { type: NavigationService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.NgZone }, { type: i1.LocalizationService }, { type: undefined, decorators: [{
7888
+ }], ctorParameters: function () { return [{ type: PagerContextService }, { type: NavigationService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.NgZone }, { type: ContextService }, { type: undefined, decorators: [{
7873
7889
  type: Optional
7874
7890
  }, {
7875
7891
  type: Inject,
@@ -8123,11 +8139,11 @@ const indicatorRules = or(overSameTarget, and(overLastTarget, isLastGroup));
8123
8139
  * @hidden
8124
8140
  */
8125
8141
  class GroupPanelComponent {
8126
- constructor(hint, cue, groupInfoService, localization, cd) {
8142
+ constructor(hint, cue, groupInfoService, ctx, cd) {
8127
8143
  this.hint = hint;
8128
8144
  this.cue = cue;
8129
8145
  this.groupInfoService = groupInfoService;
8130
- this.localization = localization;
8146
+ this.ctx = ctx;
8131
8147
  this.cd = cd;
8132
8148
  this.change = new EventEmitter();
8133
8149
  this.groups = [];
@@ -8142,14 +8158,14 @@ class GroupPanelComponent {
8142
8158
  this.emptyText = value;
8143
8159
  }
8144
8160
  get text() {
8145
- return this.emptyText ? this.emptyText : this.localization.get('groupPanelEmpty');
8161
+ return this.emptyText ? this.emptyText : this.ctx.localization.get('groupPanelEmpty');
8146
8162
  }
8147
8163
  ngAfterViewInit() {
8148
8164
  this.subscription.add(observe(this.dropTargets)
8149
8165
  .subscribe(this.attachTargets.bind(this)));
8150
8166
  }
8151
8167
  ngOnInit() {
8152
- this.subscription.add(this.localization.changes.subscribe(() => this.cd.markForCheck()));
8168
+ this.subscription.add(this.ctx.localization.changes.subscribe(() => this.cd.markForCheck()));
8153
8169
  }
8154
8170
  ngDoCheck() {
8155
8171
  const currentTitles = this.groups.map(group => this.groupInfoService.groupTitle(group));
@@ -8167,7 +8183,7 @@ class GroupPanelComponent {
8167
8183
  }
8168
8184
  }
8169
8185
  messageFor(token) {
8170
- return this.localization.get(token);
8186
+ return this.ctx.localization.get(token);
8171
8187
  }
8172
8188
  getTitle(group) {
8173
8189
  return this.messageFor(group.dir === 'desc' ? 'sortedDescending' : 'sortedAscending');
@@ -8221,7 +8237,7 @@ class GroupPanelComponent {
8221
8237
  enter({ draggable, target }) {
8222
8238
  this.hint.enable();
8223
8239
  let before = target.context.lastTarget || isTargetBefore(draggable.element.nativeElement, target.element.nativeElement);
8224
- if (this.localization.rtl) {
8240
+ if (this.ctx.localization.rtl) {
8225
8241
  before = !before;
8226
8242
  }
8227
8243
  this.cue.position(position(target.element.nativeElement, before));
@@ -8236,7 +8252,7 @@ class GroupPanelComponent {
8236
8252
  this.insert(field, index);
8237
8253
  }
8238
8254
  }
8239
- GroupPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GroupPanelComponent, deps: [{ token: DragHintService }, { token: DropCueService }, { token: GroupInfoService }, { token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
8255
+ GroupPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GroupPanelComponent, deps: [{ token: DragHintService }, { token: DropCueService }, { token: GroupInfoService }, { token: ContextService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
8240
8256
  GroupPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GroupPanelComponent, selector: "kendo-grid-group-panel", inputs: { text: "text", navigable: "navigable", groups: "groups" }, outputs: { change: "change" }, host: { properties: { "class.k-grouping-header": "this.groupHeaderClass" } }, viewQueries: [{ propertyName: "dropTargets", predicate: DropTargetDirective, descendants: true }], ngImport: i0, template: `
8241
8257
  <div
8242
8258
  *ngIf="groups.length === 0"
@@ -8337,7 +8353,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
8337
8353
  >&nbsp;</div>
8338
8354
  `
8339
8355
  }]
8340
- }], ctorParameters: function () { return [{ type: DragHintService }, { type: DropCueService }, { type: GroupInfoService }, { type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { change: [{
8356
+ }], ctorParameters: function () { return [{ type: DragHintService }, { type: DropCueService }, { type: GroupInfoService }, { type: ContextService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { change: [{
8341
8357
  type: Output
8342
8358
  }], groupHeaderClass: [{
8343
8359
  type: HostBinding,
@@ -8513,12 +8529,12 @@ const toJSON = (xs) => xs.map(x => x.toJSON());
8513
8529
  * @hidden
8514
8530
  */
8515
8531
  class FilterOperatorBase {
8516
- constructor(operator, localization) {
8532
+ constructor(operator, ctx) {
8517
8533
  this.operator = operator;
8518
- this.localization = localization;
8519
- this.messages = operatorTexts(this.localization);
8534
+ this.ctx = ctx;
8535
+ this.messages = operatorTexts(this.ctx.localization);
8520
8536
  this._text = this.messages[this.operator];
8521
- this.subscription = this.localization.changes.subscribe(this.refreshText.bind(this));
8537
+ this.subscription = this.ctx.localization.changes.subscribe(this.refreshText.bind(this));
8522
8538
  }
8523
8539
  /**
8524
8540
  * The text that will be displayed in the drop-down list.
@@ -8548,13 +8564,13 @@ class FilterOperatorBase {
8548
8564
  }
8549
8565
  refreshText() {
8550
8566
  const update = this._text === this.messages[this.operator];
8551
- this.messages = operatorTexts(this.localization);
8567
+ this.messages = operatorTexts(this.ctx.localization);
8552
8568
  if (update) {
8553
8569
  this._text = this.messages[this.operator];
8554
8570
  }
8555
8571
  }
8556
8572
  }
8557
- FilterOperatorBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FilterOperatorBase, deps: [{ token: 'filterOperator' }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
8573
+ FilterOperatorBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FilterOperatorBase, deps: [{ token: 'filterOperator' }, { token: ContextService }], target: i0.ɵɵFactoryTarget.Component });
8558
8574
  FilterOperatorBase.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: FilterOperatorBase, selector: "kendo-grid-filter-operator-base", inputs: { text: "text" }, ngImport: i0, template: ``, isInline: true });
8559
8575
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FilterOperatorBase, decorators: [{
8560
8576
  type: Component,
@@ -8565,7 +8581,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
8565
8581
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
8566
8582
  type: Inject,
8567
8583
  args: ['filterOperator']
8568
- }] }, { type: i1.LocalizationService }]; }, propDecorators: { text: [{
8584
+ }] }, { type: ContextService }]; }, propDecorators: { text: [{
8569
8585
  type: Input
8570
8586
  }] } });
8571
8587
 
@@ -8849,9 +8865,9 @@ const stringOperators$1 = localizeOperators({
8849
8865
  * Represents a base string filter component.
8850
8866
  */
8851
8867
  class StringFilterComponent extends BaseFilterCellComponent {
8852
- constructor(filterService, localization) {
8868
+ constructor(filterService, ctx) {
8853
8869
  super(filterService);
8854
- this.localization = localization;
8870
+ this.ctx = ctx;
8855
8871
  /**
8856
8872
  * The default filter operator.
8857
8873
  * @type {string}
@@ -8876,7 +8892,7 @@ class StringFilterComponent extends BaseFilterCellComponent {
8876
8892
  return this.currentFilter ? this.currentFilter.operator : this.operator;
8877
8893
  }
8878
8894
  ngOnInit() {
8879
- this.subscription = this.localization.changes.subscribe(this.localizationChange.bind(this));
8895
+ this.subscription = this.ctx.localization.changes.subscribe(this.localizationChange.bind(this));
8880
8896
  }
8881
8897
  ngOnDestroy() {
8882
8898
  if (this.subscription) {
@@ -8885,18 +8901,18 @@ class StringFilterComponent extends BaseFilterCellComponent {
8885
8901
  super.ngOnDestroy();
8886
8902
  }
8887
8903
  localizationChange() {
8888
- this.defaultOperators = stringOperators$1(this.localization);
8904
+ this.defaultOperators = stringOperators$1(this.ctx.localization);
8889
8905
  if (this.operatorList.length) {
8890
8906
  this.operators = toJSON(this.operatorList.toArray());
8891
8907
  }
8892
8908
  }
8893
8909
  }
8894
- StringFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StringFilterComponent, deps: [{ token: FilterService }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
8910
+ StringFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StringFilterComponent, deps: [{ token: FilterService }, { token: ContextService }], target: i0.ɵɵFactoryTarget.Directive });
8895
8911
  StringFilterComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: StringFilterComponent, inputs: { column: "column", filter: "filter", operator: "operator" }, usesInheritance: true, ngImport: i0 });
8896
8912
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StringFilterComponent, decorators: [{
8897
8913
  type: Directive,
8898
8914
  args: [{}]
8899
- }], ctorParameters: function () { return [{ type: FilterService }, { type: i1.LocalizationService }]; }, propDecorators: { column: [{
8915
+ }], ctorParameters: function () { return [{ type: FilterService }, { type: ContextService }]; }, propDecorators: { column: [{
8900
8916
  type: Input
8901
8917
  }], filter: [{
8902
8918
  type: Input
@@ -9133,9 +9149,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
9133
9149
  * @hidden
9134
9150
  */
9135
9151
  class FilterMenuInputWrapperComponent extends FilterInputWrapperComponent {
9136
- constructor(localizationService) {
9152
+ constructor(ctx) {
9137
9153
  super(null);
9138
- this.localizationService = localizationService;
9154
+ this.ctx = ctx;
9139
9155
  }
9140
9156
  /**
9141
9157
  * @hidden
@@ -9144,7 +9160,9 @@ class FilterMenuInputWrapperComponent extends FilterInputWrapperComponent {
9144
9160
  return false;
9145
9161
  }
9146
9162
  ngAfterViewInit() {
9147
- if (this.isFirstDropDown && this.filterService && this.filterService.menuTabbingService) {
9163
+ const shouldFocusFirstFocusable = this.isFirstDropDown && this.filterService && this.filterService.menuTabbingService;
9164
+ const isTabbedInterface = this.menuTabbingService?.isTabbedInterface;
9165
+ if (shouldFocusFirstFocusable && !isTabbedInterface) {
9148
9166
  this.filterService.menuTabbingService.firstFocusable = this.firstOperatorDropDown;
9149
9167
  this.firstOperatorDropDown.focus();
9150
9168
  }
@@ -9190,12 +9208,12 @@ class FilterMenuInputWrapperComponent extends FilterInputWrapperComponent {
9190
9208
  }
9191
9209
  }
9192
9210
  get filterMenuDropDownLabel() {
9193
- const localizationMsg = this.localizationService.get('filterMenuOperatorsDropDownLabel') || '';
9211
+ const localizationMsg = this.ctx.localization.get('filterMenuOperatorsDropDownLabel') || '';
9194
9212
  const columnName = this.column ? this.column.title || this.column.field : '';
9195
9213
  return replaceMessagePlaceholder(localizationMsg, 'columnName', columnName);
9196
9214
  }
9197
9215
  }
9198
- FilterMenuInputWrapperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FilterMenuInputWrapperComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
9216
+ FilterMenuInputWrapperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FilterMenuInputWrapperComponent, deps: [{ token: ContextService }], target: i0.ɵɵFactoryTarget.Component });
9199
9217
  FilterMenuInputWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: FilterMenuInputWrapperComponent, selector: "kendo-grid-filter-menu-input-wrapper", inputs: { filterService: "filterService", isFirstDropDown: "isFirstDropDown", menuTabbingService: "menuTabbingService", currentFilter: "currentFilter" }, viewQueries: [{ propertyName: "firstOperatorDropDown", first: true, predicate: DropDownListComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: `
9200
9218
  <kendo-dropdownlist
9201
9219
  kendoFilterMenuDropDown
@@ -9229,7 +9247,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
9229
9247
  <ng-content></ng-content>
9230
9248
  `
9231
9249
  }]
9232
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }]; }, propDecorators: { filterService: [{
9250
+ }], ctorParameters: function () { return [{ type: ContextService }]; }, propDecorators: { filterService: [{
9233
9251
  type: Input
9234
9252
  }], isFirstDropDown: [{
9235
9253
  type: Input
@@ -9246,17 +9264,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
9246
9264
  * @hidden
9247
9265
  */
9248
9266
  class StringFilterMenuInputComponent {
9249
- constructor(localizationService) {
9250
- this.localizationService = localizationService;
9267
+ constructor(ctx) {
9268
+ this.ctx = ctx;
9251
9269
  this.operators = [];
9252
9270
  }
9253
9271
  get columnLabel() {
9254
- const localizationMsg = this.localizationService.get('filterInputLabel') || '';
9272
+ const localizationMsg = this.ctx.localization.get('filterInputLabel') || '';
9255
9273
  const columnName = this.column ? this.column.title || this.column.field : '';
9256
9274
  return replaceMessagePlaceholder(localizationMsg, 'columnName', columnName);
9257
9275
  }
9258
9276
  }
9259
- StringFilterMenuInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StringFilterMenuInputComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
9277
+ StringFilterMenuInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StringFilterMenuInputComponent, deps: [{ token: ContextService }], target: i0.ɵɵFactoryTarget.Component });
9260
9278
  StringFilterMenuInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: StringFilterMenuInputComponent, selector: "kendo-grid-string-filter-menu-input", inputs: { operators: "operators", column: "column", filter: "filter", operator: "operator", currentFilter: "currentFilter", filterService: "filterService", isFirstDropDown: "isFirstDropDown", menuTabbingService: "menuTabbingService" }, ngImport: i0, template: `
9261
9279
  <kendo-grid-filter-menu-input-wrapper
9262
9280
  [column]="column"
@@ -9300,7 +9318,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
9300
9318
  </kendo-grid-filter-menu-input-wrapper>
9301
9319
  `
9302
9320
  }]
9303
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }]; }, propDecorators: { operators: [{
9321
+ }], ctorParameters: function () { return [{ type: ContextService }]; }, propDecorators: { operators: [{
9304
9322
  type: Input
9305
9323
  }], column: [{
9306
9324
  type: Input
@@ -9335,9 +9353,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
9335
9353
  * ```
9336
9354
  */
9337
9355
  class StringFilterMenuComponent extends StringFilterComponent {
9338
- constructor(localization) {
9339
- super(null, localization);
9340
- this.logicOperators = logicOperators(this.localization);
9356
+ constructor(ctx) {
9357
+ super(null, ctx);
9358
+ this.logicOperators = logicOperators(this.ctx.localization);
9341
9359
  /**
9342
9360
  * The current menu filter.
9343
9361
  * @type {CompositeFilterDescriptor}
@@ -9365,16 +9383,16 @@ class StringFilterMenuComponent extends StringFilterComponent {
9365
9383
  this.filter.logic = value;
9366
9384
  }
9367
9385
  get filterMenuDropDownLabel() {
9368
- const localizationMsg = this.localization.get('filterMenuLogicDropDownLabel') || '';
9386
+ const localizationMsg = this.ctx.localization.get('filterMenuLogicDropDownLabel') || '';
9369
9387
  const columnName = this.column ? this.column.title || this.column.field : '';
9370
9388
  return replaceMessagePlaceholder(localizationMsg, 'columnName', columnName);
9371
9389
  }
9372
9390
  localizationChange() {
9373
- this.logicOperators = logicOperators(this.localization);
9391
+ this.logicOperators = logicOperators(this.ctx.localization);
9374
9392
  super.localizationChange();
9375
9393
  }
9376
9394
  }
9377
- StringFilterMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StringFilterMenuComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
9395
+ StringFilterMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StringFilterMenuComponent, deps: [{ token: ContextService }], target: i0.ɵɵFactoryTarget.Component });
9378
9396
  StringFilterMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: StringFilterMenuComponent, selector: "kendo-grid-string-filter-menu", inputs: { column: "column", filter: "filter", extra: "extra", filterService: "filterService", menuTabbingService: "menuTabbingService" }, host: { properties: { "class.k-filtercell": "this.hostClasses" } }, usesInheritance: true, ngImport: i0, template: `
9379
9397
  <kendo-grid-string-filter-menu-input
9380
9398
  [currentFilter]="firstFilter"
@@ -9442,7 +9460,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
9442
9460
  </kendo-grid-string-filter-menu-input>
9443
9461
  `
9444
9462
  }]
9445
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }]; }, propDecorators: { hostClasses: [{
9463
+ }], ctorParameters: function () { return [{ type: ContextService }]; }, propDecorators: { hostClasses: [{
9446
9464
  type: HostBinding,
9447
9465
  args: ['class.k-filtercell']
9448
9466
  }], column: [{
@@ -9472,9 +9490,9 @@ const numericOperators = localizeOperators({
9472
9490
  * Represents a base numeric filter component.
9473
9491
  */
9474
9492
  class NumericFilterComponent extends BaseFilterCellComponent {
9475
- constructor(filterService, localization) {
9493
+ constructor(filterService, ctx) {
9476
9494
  super(filterService);
9477
- this.localization = localization;
9495
+ this.ctx = ctx;
9478
9496
  /**
9479
9497
  * The default filter operator.
9480
9498
  * @type {string}
@@ -9493,7 +9511,7 @@ class NumericFilterComponent extends BaseFilterCellComponent {
9493
9511
  * @default true
9494
9512
  */
9495
9513
  this.spinners = true;
9496
- this.defaultOperators = numericOperators(this.localization);
9514
+ this.defaultOperators = numericOperators(this.ctx.localization);
9497
9515
  }
9498
9516
  /**
9499
9517
  * Specifies the number format used when the component is not focused.
@@ -9530,7 +9548,7 @@ class NumericFilterComponent extends BaseFilterCellComponent {
9530
9548
  extractFormat(this.column.format) : "n2";
9531
9549
  }
9532
9550
  ngOnInit() {
9533
- this.subscription = this.localization.changes.subscribe(this.localizationChange.bind(this));
9551
+ this.subscription = this.ctx.localization.changes.subscribe(this.localizationChange.bind(this));
9534
9552
  }
9535
9553
  ngOnDestroy() {
9536
9554
  if (this.subscription) {
@@ -9539,18 +9557,18 @@ class NumericFilterComponent extends BaseFilterCellComponent {
9539
9557
  super.ngOnDestroy();
9540
9558
  }
9541
9559
  localizationChange() {
9542
- this.defaultOperators = numericOperators(this.localization);
9560
+ this.defaultOperators = numericOperators(this.ctx.localization);
9543
9561
  if (this.operatorList.length) {
9544
9562
  this.operators = toJSON(this.operatorList.toArray());
9545
9563
  }
9546
9564
  }
9547
9565
  }
9548
- NumericFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: NumericFilterComponent, deps: [{ token: FilterService }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
9566
+ NumericFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: NumericFilterComponent, deps: [{ token: FilterService }, { token: ContextService }], target: i0.ɵɵFactoryTarget.Directive });
9549
9567
  NumericFilterComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: NumericFilterComponent, inputs: { column: "column", filter: "filter", operator: "operator", step: "step", min: "min", max: "max", spinners: "spinners", decimals: "decimals", format: "format" }, usesInheritance: true, ngImport: i0 });
9550
9568
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: NumericFilterComponent, decorators: [{
9551
9569
  type: Directive,
9552
9570
  args: [{}]
9553
- }], ctorParameters: function () { return [{ type: FilterService }, { type: i1.LocalizationService }]; }, propDecorators: { column: [{
9571
+ }], ctorParameters: function () { return [{ type: FilterService }, { type: ContextService }]; }, propDecorators: { column: [{
9554
9572
  type: Input
9555
9573
  }], filter: [{
9556
9574
  type: Input
@@ -9574,8 +9592,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
9574
9592
  * @hidden
9575
9593
  */
9576
9594
  class NumericFilterMenuInputComponent {
9577
- constructor(localization) {
9578
- this.localization = localization;
9595
+ constructor(ctx) {
9596
+ this.ctx = ctx;
9579
9597
  this.operators = [];
9580
9598
  /**
9581
9599
  * Specifies the value which is used to increment or decrement the component value.
@@ -9589,18 +9607,18 @@ class NumericFilterMenuInputComponent {
9589
9607
  this.spinners = true;
9590
9608
  }
9591
9609
  messageFor(key) {
9592
- return this.localization.get(key);
9610
+ return this.ctx.localization.get(key);
9593
9611
  }
9594
9612
  /**
9595
9613
  * @hidden
9596
9614
  */
9597
9615
  get columnLabel() {
9598
- const localizationMsg = this.localization.get('filterInputLabel') || '';
9616
+ const localizationMsg = this.ctx.localization.get('filterInputLabel') || '';
9599
9617
  const columnName = this.column ? this.column.title || this.column.field : '';
9600
9618
  return replaceMessagePlaceholder(localizationMsg, 'columnName', columnName);
9601
9619
  }
9602
9620
  }
9603
- NumericFilterMenuInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: NumericFilterMenuInputComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
9621
+ NumericFilterMenuInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: NumericFilterMenuInputComponent, deps: [{ token: ContextService }], target: i0.ɵɵFactoryTarget.Component });
9604
9622
  NumericFilterMenuInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: NumericFilterMenuInputComponent, selector: "kendo-grid-numeric-filter-menu-input", inputs: { operators: "operators", column: "column", filter: "filter", operator: "operator", currentFilter: "currentFilter", filterService: "filterService", filterDelay: "filterDelay", isFirstDropDown: "isFirstDropDown", menuTabbingService: "menuTabbingService", step: "step", min: "min", max: "max", spinners: "spinners", decimals: "decimals", format: "format" }, ngImport: i0, template: `
9605
9623
  <kendo-grid-filter-menu-input-wrapper
9606
9624
  [column]="column"
@@ -9670,7 +9688,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
9670
9688
  </kendo-grid-filter-menu-input-wrapper>
9671
9689
  `
9672
9690
  }]
9673
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }]; }, propDecorators: { operators: [{
9691
+ }], ctorParameters: function () { return [{ type: ContextService }]; }, propDecorators: { operators: [{
9674
9692
  type: Input
9675
9693
  }], column: [{
9676
9694
  type: Input
@@ -9719,9 +9737,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
9719
9737
  * ```
9720
9738
  */
9721
9739
  class NumericFilterMenuComponent extends NumericFilterComponent {
9722
- constructor(localization) {
9723
- super(null, localization);
9724
- this.logicOperators = logicOperators(this.localization);
9740
+ constructor(ctx) {
9741
+ super(null, ctx);
9742
+ this.logicOperators = logicOperators(this.ctx.localization);
9725
9743
  /**
9726
9744
  * The current menu filter.
9727
9745
  * @type {CompositeFilterDescriptor}
@@ -9755,16 +9773,16 @@ class NumericFilterMenuComponent extends NumericFilterComponent {
9755
9773
  this.filter.logic = value;
9756
9774
  }
9757
9775
  get filterMenuDropDownLabel() {
9758
- const localizationMsg = this.localization.get('filterMenuLogicDropDownLabel') || '';
9776
+ const localizationMsg = this.ctx.localization.get('filterMenuLogicDropDownLabel') || '';
9759
9777
  const columnName = this.column ? this.column.title || this.column.field : '';
9760
9778
  return replaceMessagePlaceholder(localizationMsg, 'columnName', columnName);
9761
9779
  }
9762
9780
  localizationChange() {
9763
- this.logicOperators = logicOperators(this.localization);
9781
+ this.logicOperators = logicOperators(this.ctx.localization);
9764
9782
  super.localizationChange();
9765
9783
  }
9766
9784
  }
9767
- NumericFilterMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: NumericFilterMenuComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
9785
+ NumericFilterMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: NumericFilterMenuComponent, deps: [{ token: ContextService }], target: i0.ɵɵFactoryTarget.Component });
9768
9786
  NumericFilterMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: NumericFilterMenuComponent, selector: "kendo-grid-numeric-filter-menu", inputs: { column: "column", filter: "filter", extra: "extra", filterService: "filterService", filterDelay: "filterDelay", menuTabbingService: "menuTabbingService" }, host: { properties: { "class.k-filtercell": "this.hostClasses" } }, usesInheritance: true, ngImport: i0, template: `
9769
9787
  <kendo-grid-numeric-filter-menu-input
9770
9788
  [currentFilter]="firstFilter"
@@ -9864,7 +9882,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
9864
9882
  </kendo-grid-numeric-filter-menu-input>
9865
9883
  `
9866
9884
  }]
9867
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }]; }, propDecorators: { hostClasses: [{
9885
+ }], ctorParameters: function () { return [{ type: ContextService }]; }, propDecorators: { hostClasses: [{
9868
9886
  type: HostBinding,
9869
9887
  args: ['class.k-filtercell']
9870
9888
  }], column: [{
@@ -9896,9 +9914,9 @@ const dateOperators = localizeOperators({
9896
9914
  * @hidden
9897
9915
  */
9898
9916
  class DateFilterComponent extends BaseFilterCellComponent {
9899
- constructor(filterService, localization) {
9917
+ constructor(filterService, ctx) {
9900
9918
  super(filterService);
9901
- this.localization = localization;
9919
+ this.ctx = ctx;
9902
9920
  /**
9903
9921
  * The default filter operator. Defaults to `contains`.
9904
9922
  * @type {string}
@@ -9927,7 +9945,7 @@ class DateFilterComponent extends BaseFilterCellComponent {
9927
9945
  * @default false
9928
9946
  */
9929
9947
  this.weekNumber = false;
9930
- this.defaultOperators = dateOperators(this.localization);
9948
+ this.defaultOperators = dateOperators(this.ctx.localization);
9931
9949
  }
9932
9950
  /**
9933
9951
  * The current filter for the associated column field.
@@ -9967,7 +9985,7 @@ class DateFilterComponent extends BaseFilterCellComponent {
9967
9985
  extractFormat(this.column.format) : "d";
9968
9986
  }
9969
9987
  ngOnInit() {
9970
- this.subscription = this.localization.changes.subscribe(this.localizationChange.bind(this));
9988
+ this.subscription = this.ctx.localization.changes.subscribe(this.localizationChange.bind(this));
9971
9989
  }
9972
9990
  ngOnDestroy() {
9973
9991
  if (this.subscription) {
@@ -9976,13 +9994,13 @@ class DateFilterComponent extends BaseFilterCellComponent {
9976
9994
  super.ngOnDestroy();
9977
9995
  }
9978
9996
  localizationChange() {
9979
- this.defaultOperators = dateOperators(this.localization);
9997
+ this.defaultOperators = dateOperators(this.ctx.localization);
9980
9998
  if (this.operatorList.length) {
9981
9999
  this.operators = toJSON(this.operatorList.toArray());
9982
10000
  }
9983
10001
  }
9984
10002
  }
9985
- DateFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DateFilterComponent, deps: [{ token: FilterService }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
10003
+ DateFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DateFilterComponent, deps: [{ token: FilterService }, { token: ContextService }], target: i0.ɵɵFactoryTarget.Component });
9986
10004
  DateFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: DateFilterComponent, selector: "kendo-grid-date-filter-base", inputs: { column: "column", filter: "filter", operator: "operator", format: "format", min: "min", max: "max", formatPlaceholder: "formatPlaceholder", placeholder: "placeholder", activeView: "activeView", bottomView: "bottomView", topView: "topView", weekNumber: "weekNumber" }, usesInheritance: true, ngImport: i0, template: ``, isInline: true });
9987
10005
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DateFilterComponent, decorators: [{
9988
10006
  type: Component,
@@ -9990,7 +10008,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
9990
10008
  selector: 'kendo-grid-date-filter-base',
9991
10009
  template: ``
9992
10010
  }]
9993
- }], ctorParameters: function () { return [{ type: FilterService }, { type: i1.LocalizationService }]; }, propDecorators: { column: [{
10011
+ }], ctorParameters: function () { return [{ type: FilterService }, { type: ContextService }]; }, propDecorators: { column: [{
9994
10012
  type: Input
9995
10013
  }], filter: [{
9996
10014
  type: Input
@@ -10020,9 +10038,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
10020
10038
  * @hidden
10021
10039
  */
10022
10040
  class DateFilterMenuInputComponent {
10023
- constructor(popupService, localizationService) {
10041
+ constructor(popupService, ctx) {
10024
10042
  this.popupService = popupService;
10025
- this.localizationService = localizationService;
10043
+ this.ctx = ctx;
10026
10044
  this.operators = [];
10027
10045
  }
10028
10046
  ngOnDestroy() {
@@ -10036,15 +10054,15 @@ class DateFilterMenuInputComponent {
10036
10054
  .subscribe(e => e.preventDefault());
10037
10055
  }
10038
10056
  messageFor(key) {
10039
- return this.localizationService.get(key);
10057
+ return this.ctx.localization.get(key);
10040
10058
  }
10041
10059
  get columnLabel() {
10042
- const localizationMsg = this.localizationService.get('filterInputLabel') || '';
10060
+ const localizationMsg = this.ctx.localization.get('filterInputLabel') || '';
10043
10061
  const columnName = this.column ? this.column.title || this.column.field : '';
10044
10062
  return replaceMessagePlaceholder(localizationMsg, 'columnName', columnName);
10045
10063
  }
10046
10064
  }
10047
- DateFilterMenuInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DateFilterMenuInputComponent, deps: [{ token: SinglePopupService }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
10065
+ DateFilterMenuInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DateFilterMenuInputComponent, deps: [{ token: SinglePopupService }, { token: ContextService }], target: i0.ɵɵFactoryTarget.Component });
10048
10066
  DateFilterMenuInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: DateFilterMenuInputComponent, selector: "kendo-grid-date-filter-menu-input", inputs: { operators: "operators", column: "column", filter: "filter", operator: "operator", currentFilter: "currentFilter", filterService: "filterService", menuTabbingService: "menuTabbingService", format: "format", formatPlaceholder: "formatPlaceholder", placeholder: "placeholder", min: "min", max: "max", activeView: "activeView", bottomView: "bottomView", topView: "topView", weekNumber: "weekNumber", isFirstDropDown: "isFirstDropDown" }, ngImport: i0, template: `
10049
10067
  <kendo-grid-filter-menu-input-wrapper
10050
10068
  [column]="column"
@@ -10122,7 +10140,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
10122
10140
  </kendo-grid-filter-menu-input-wrapper>
10123
10141
  `
10124
10142
  }]
10125
- }], ctorParameters: function () { return [{ type: SinglePopupService }, { type: i1.LocalizationService }]; }, propDecorators: { operators: [{
10143
+ }], ctorParameters: function () { return [{ type: SinglePopupService }, { type: ContextService }]; }, propDecorators: { operators: [{
10126
10144
  type: Input
10127
10145
  }], column: [{
10128
10146
  type: Input
@@ -10175,9 +10193,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
10175
10193
  * ```
10176
10194
  */
10177
10195
  class DateFilterMenuComponent extends DateFilterComponent {
10178
- constructor(localization) {
10179
- super(null, localization);
10180
- this.logicOperators = logicOperators(this.localization);
10196
+ constructor(ctx) {
10197
+ super(null, ctx);
10198
+ this.logicOperators = logicOperators(this.ctx.localization);
10181
10199
  /**
10182
10200
  * The current menu filter.
10183
10201
  * @type {CompositeFilterDescriptor}
@@ -10205,16 +10223,16 @@ class DateFilterMenuComponent extends DateFilterComponent {
10205
10223
  this.filter.logic = value;
10206
10224
  }
10207
10225
  get filterMenuDropDownLabel() {
10208
- const localizationMsg = this.localization.get('filterMenuLogicDropDownLabel') || '';
10226
+ const localizationMsg = this.ctx.localization.get('filterMenuLogicDropDownLabel') || '';
10209
10227
  const columnName = this.column ? this.column.title || this.column.field : '';
10210
10228
  return replaceMessagePlaceholder(localizationMsg, 'columnName', columnName);
10211
10229
  }
10212
10230
  localizationChange() {
10213
- this.logicOperators = logicOperators(this.localization);
10231
+ this.logicOperators = logicOperators(this.ctx.localization);
10214
10232
  super.localizationChange();
10215
10233
  }
10216
10234
  }
10217
- DateFilterMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DateFilterMenuComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
10235
+ DateFilterMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DateFilterMenuComponent, deps: [{ token: ContextService }], target: i0.ɵɵFactoryTarget.Component });
10218
10236
  DateFilterMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: DateFilterMenuComponent, selector: "kendo-grid-date-filter-menu", inputs: { column: "column", filter: "filter", extra: "extra", filterService: "filterService", menuTabbingService: "menuTabbingService" }, host: { properties: { "class.k-filtercell": "this.hostClasses" } }, usesInheritance: true, ngImport: i0, template: `
10219
10237
  <kendo-grid-date-filter-menu-input
10220
10238
  [currentFilter]="firstFilter"
@@ -10324,7 +10342,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
10324
10342
  </kendo-grid-date-filter-menu-input>
10325
10343
  `
10326
10344
  }]
10327
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }]; }, propDecorators: { hostClasses: [{
10345
+ }], ctorParameters: function () { return [{ type: ContextService }]; }, propDecorators: { hostClasses: [{
10328
10346
  type: HostBinding,
10329
10347
  args: ['class.k-filtercell']
10330
10348
  }], column: [{
@@ -10344,9 +10362,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
10344
10362
  * @hidden
10345
10363
  */
10346
10364
  class BooleanFilterComponent extends BaseFilterCellComponent {
10347
- constructor(filterService, localization) {
10365
+ constructor(filterService, ctx) {
10348
10366
  super(filterService);
10349
- this.localization = localization;
10367
+ this.ctx = ctx;
10350
10368
  /**
10351
10369
  * @hidden
10352
10370
  */
@@ -10355,13 +10373,13 @@ class BooleanFilterComponent extends BaseFilterCellComponent {
10355
10373
  * @hidden
10356
10374
  */
10357
10375
  this.items = [
10358
- { text: this.localization.get("filterIsTrue"), value: true },
10359
- { text: this.localization.get("filterIsFalse"), value: false }
10376
+ { text: this.ctx.localization.get("filterIsTrue"), value: true },
10377
+ { text: this.ctx.localization.get("filterIsFalse"), value: false }
10360
10378
  ];
10361
10379
  /**
10362
10380
  * @hidden
10363
10381
  */
10364
- this.defaultItem = { text: this.localization.get("filterBooleanAll"), value: null };
10382
+ this.defaultItem = { text: this.ctx.localization.get("filterBooleanAll"), value: null };
10365
10383
  }
10366
10384
  /**
10367
10385
  * @hidden
@@ -10386,7 +10404,7 @@ class BooleanFilterComponent extends BaseFilterCellComponent {
10386
10404
  return this.currentFilter ? this.currentFilter.operator : this.operator;
10387
10405
  }
10388
10406
  ngOnInit() {
10389
- this.subscription = this.localization.changes.subscribe(this.localizationChange.bind(this));
10407
+ this.subscription = this.ctx.localization.changes.subscribe(this.localizationChange.bind(this));
10390
10408
  }
10391
10409
  ngOnDestroy() {
10392
10410
  if (this.subscription) {
@@ -10396,13 +10414,13 @@ class BooleanFilterComponent extends BaseFilterCellComponent {
10396
10414
  }
10397
10415
  localizationChange() {
10398
10416
  this.items = [
10399
- { text: this.localization.get("filterIsTrue"), value: true },
10400
- { text: this.localization.get("filterIsFalse"), value: false }
10417
+ { text: this.ctx.localization.get("filterIsTrue"), value: true },
10418
+ { text: this.ctx.localization.get("filterIsFalse"), value: false }
10401
10419
  ];
10402
- this.defaultItem = { text: this.localization.get("filterBooleanAll"), value: null };
10420
+ this.defaultItem = { text: this.ctx.localization.get("filterBooleanAll"), value: null };
10403
10421
  }
10404
10422
  }
10405
- BooleanFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BooleanFilterComponent, deps: [{ token: FilterService }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
10423
+ BooleanFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BooleanFilterComponent, deps: [{ token: FilterService }, { token: ContextService }], target: i0.ɵɵFactoryTarget.Component });
10406
10424
  BooleanFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: BooleanFilterComponent, selector: "kendo-grid-boolean-filter-base", inputs: { column: "column", filter: "filter" }, host: { properties: { "class.k-filtercell-boolean": "this.hostClasses" } }, usesInheritance: true, ngImport: i0, template: ``, isInline: true });
10407
10425
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BooleanFilterComponent, decorators: [{
10408
10426
  type: Component,
@@ -10410,7 +10428,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
10410
10428
  selector: 'kendo-grid-boolean-filter-base',
10411
10429
  template: ``
10412
10430
  }]
10413
- }], ctorParameters: function () { return [{ type: FilterService }, { type: i1.LocalizationService }]; }, propDecorators: { hostClasses: [{
10431
+ }], ctorParameters: function () { return [{ type: FilterService }, { type: ContextService }]; }, propDecorators: { hostClasses: [{
10414
10432
  type: HostBinding,
10415
10433
  args: ['class.k-filtercell-boolean']
10416
10434
  }], column: [{
@@ -10459,8 +10477,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
10459
10477
  * ```
10460
10478
  */
10461
10479
  class BooleanFilterMenuComponent extends BooleanFilterComponent {
10462
- constructor(localization) {
10463
- super(null, localization);
10480
+ constructor(ctx) {
10481
+ super(null, ctx);
10464
10482
  /**
10465
10483
  * The current menu filter.
10466
10484
  * @type {CompositeFilterDescriptor}
@@ -10476,7 +10494,9 @@ class BooleanFilterMenuComponent extends BooleanFilterComponent {
10476
10494
  }
10477
10495
  ngAfterViewInit() {
10478
10496
  this.filterService.menuTabbingService.firstFocusable = this.radioButtons.first.radioButtonEl;
10479
- this.radioButtons.first.radioButtonEl.focus();
10497
+ if (!this.menuTabbingService?.isTabbedInterface) {
10498
+ this.radioButtons.first.radioButtonEl.focus();
10499
+ }
10480
10500
  }
10481
10501
  /**
10482
10502
  * @hidden
@@ -10514,12 +10534,12 @@ class BooleanFilterMenuComponent extends BooleanFilterComponent {
10514
10534
  * @hidden
10515
10535
  */
10516
10536
  get columnLabel() {
10517
- const localizationMsg = this.localization.get('filterInputLabel') || '';
10537
+ const localizationMsg = this.ctx.localization.get('filterInputLabel') || '';
10518
10538
  const columnName = this.column.title || this.column.field;
10519
10539
  return replaceMessagePlaceholder(localizationMsg, 'columnName', columnName);
10520
10540
  }
10521
10541
  }
10522
- BooleanFilterMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BooleanFilterMenuComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
10542
+ BooleanFilterMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BooleanFilterMenuComponent, deps: [{ token: ContextService }], target: i0.ɵɵFactoryTarget.Component });
10523
10543
  BooleanFilterMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: BooleanFilterMenuComponent, selector: "kendo-grid-boolean-filter-menu", inputs: { filter: "filter", filterService: "filterService", menuTabbingService: "menuTabbingService" }, host: { properties: { "class.k-filtercell": "this.hostClasses" } }, viewQueries: [{ propertyName: "radioButtons", predicate: BooleanFilterRadioButtonDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: `
10524
10544
  <ul class="k-radio-list k-reset">
10525
10545
  <li *ngFor="let item of items">
@@ -10561,7 +10581,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
10561
10581
  </ul>
10562
10582
  `
10563
10583
  }]
10564
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }]; }, propDecorators: { hostClasses: [{
10584
+ }], ctorParameters: function () { return [{ type: ContextService }]; }, propDecorators: { hostClasses: [{
10565
10585
  type: HostBinding,
10566
10586
  args: ['class.k-filtercell']
10567
10587
  }], filter: [{
@@ -10650,16 +10670,16 @@ const parentLogicOfDefault = (filter, field, def = "and") => {
10650
10670
  * @hidden
10651
10671
  */
10652
10672
  class FilterMenuContainerComponent {
10653
- constructor(parentService, childService, localization, cd, menuTabbingService) {
10673
+ constructor(parentService, childService, ctx, cd, menuTabbingService) {
10654
10674
  this.parentService = parentService;
10655
10675
  this.childService = childService;
10656
- this.localization = localization;
10676
+ this.ctx = ctx;
10657
10677
  this.cd = cd;
10658
10678
  this.close = new EventEmitter();
10659
10679
  /**
10660
10680
  * @hidden
10661
10681
  */
10662
- this.actionsClass = 'k-actions';
10682
+ this.actionsClass = 'k-actions k-actions-stretched k-actions-horizontal';
10663
10683
  this._templateContext = {};
10664
10684
  this.menuTabbingService = menuTabbingService;
10665
10685
  }
@@ -10684,7 +10704,7 @@ class FilterMenuContainerComponent {
10684
10704
  }
10685
10705
  ngOnInit() {
10686
10706
  this.subscription = this.childService.changes.subscribe(filter => this._childFilter = filter);
10687
- this.subscription.add(this.localization.changes.subscribe(() => this.cd.markForCheck()));
10707
+ this.subscription.add(this.ctx.localization.changes.subscribe(() => this.cd.markForCheck()));
10688
10708
  }
10689
10709
  ngAfterViewChecked() {
10690
10710
  if (!this.menuTabbingService.isColumnMenu || (this.isLast && this.isExpanded)) {
@@ -10747,13 +10767,13 @@ class FilterMenuContainerComponent {
10747
10767
  }
10748
10768
  }
10749
10769
  get clearText() {
10750
- return this.localization.get("filterClearButton");
10770
+ return this.ctx.localization.get("filterClearButton");
10751
10771
  }
10752
10772
  get filterText() {
10753
- return this.localization.get("filterFilterButton");
10773
+ return this.ctx.localization.get("filterFilterButton");
10754
10774
  }
10755
10775
  }
10756
- FilterMenuContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FilterMenuContainerComponent, deps: [{ token: FilterService, skipSelf: true }, { token: FilterService }, { token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: MenuTabbingService }], target: i0.ɵɵFactoryTarget.Component });
10776
+ FilterMenuContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FilterMenuContainerComponent, deps: [{ token: FilterService, skipSelf: true }, { token: FilterService }, { token: ContextService }, { token: i0.ChangeDetectorRef }, { token: MenuTabbingService }], target: i0.ɵɵFactoryTarget.Component });
10757
10777
  FilterMenuContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: FilterMenuContainerComponent, selector: "kendo-grid-filter-menu-container", inputs: { column: "column", isLast: "isLast", isExpanded: "isExpanded", menuTabbingService: "menuTabbingService", filter: "filter", actionsClass: "actionsClass" }, outputs: { close: "close" }, providers: [
10758
10778
  FilterService,
10759
10779
  MenuTabbingService
@@ -10781,16 +10801,16 @@ FilterMenuContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
10781
10801
  </ng-container>
10782
10802
  </ng-container>
10783
10803
  <div [ngClass]="actionsClass">
10784
- <button
10785
- #resetButton
10786
- type="reset"
10787
- class="k-button k-button-solid-base k-button-solid k-button-md k-rounded-md k-button-rectangle"
10788
- (keydown.tab)="onTab($event, 'reset')">{{clearText}}</button>
10789
10804
  <button #filterButton
10790
10805
  type="submit"
10791
10806
  class="k-button k-button-solid-primary k-button-solid k-button-md k-rounded-md k-button-rectangle"
10792
10807
  [disabled]="disabled"
10793
10808
  (keydown.tab)="onTab($event, 'filter')">{{filterText}}</button>
10809
+ <button
10810
+ #resetButton
10811
+ type="reset"
10812
+ class="k-button k-button-solid-base k-button-solid k-button-md k-rounded-md k-button-rectangle"
10813
+ (keydown.tab)="onTab($event, 'reset')">{{clearText}}</button>
10794
10814
  </div>
10795
10815
  </div>
10796
10816
  </form>
@@ -10827,16 +10847,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
10827
10847
  </ng-container>
10828
10848
  </ng-container>
10829
10849
  <div [ngClass]="actionsClass">
10830
- <button
10831
- #resetButton
10832
- type="reset"
10833
- class="k-button k-button-solid-base k-button-solid k-button-md k-rounded-md k-button-rectangle"
10834
- (keydown.tab)="onTab($event, 'reset')">{{clearText}}</button>
10835
10850
  <button #filterButton
10836
10851
  type="submit"
10837
10852
  class="k-button k-button-solid-primary k-button-solid k-button-md k-rounded-md k-button-rectangle"
10838
10853
  [disabled]="disabled"
10839
10854
  (keydown.tab)="onTab($event, 'filter')">{{filterText}}</button>
10855
+ <button
10856
+ #resetButton
10857
+ type="reset"
10858
+ class="k-button k-button-solid-base k-button-solid k-button-md k-rounded-md k-button-rectangle"
10859
+ (keydown.tab)="onTab($event, 'reset')">{{clearText}}</button>
10840
10860
  </div>
10841
10861
  </div>
10842
10862
  </form>
@@ -10844,7 +10864,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
10844
10864
  }]
10845
10865
  }], ctorParameters: function () { return [{ type: FilterService, decorators: [{
10846
10866
  type: SkipSelf
10847
- }] }, { type: FilterService }, { type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: MenuTabbingService }]; }, propDecorators: { close: [{
10867
+ }] }, { type: FilterService }, { type: ContextService }, { type: i0.ChangeDetectorRef }, { type: MenuTabbingService }]; }, propDecorators: { close: [{
10848
10868
  type: Output
10849
10869
  }], column: [{
10850
10870
  type: Input
@@ -10870,10 +10890,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
10870
10890
  * @hidden
10871
10891
  */
10872
10892
  class FilterMenuComponent {
10873
- constructor(filterService, popupService, localization, navigationService) {
10893
+ constructor(filterService, popupService, ctx, navigationService) {
10874
10894
  this.filterService = filterService;
10875
10895
  this.popupService = popupService;
10876
- this.localization = localization;
10896
+ this.ctx = ctx;
10877
10897
  this.navigationService = navigationService;
10878
10898
  this.filterIcon = filterIcon;
10879
10899
  this.tabIndex = '-1';
@@ -10885,7 +10905,7 @@ class FilterMenuComponent {
10885
10905
  * @hidden
10886
10906
  */
10887
10907
  get filterLabel() {
10888
- const localizationMsg = this.localization.get('filterMenuTitle') || '';
10908
+ const localizationMsg = this.ctx.localization.get('filterMenuTitle') || '';
10889
10909
  const columnName = this.column.title || this.column.field;
10890
10910
  return replaceMessagePlaceholder(localizationMsg, 'columnName', columnName);
10891
10911
  }
@@ -10911,7 +10931,7 @@ class FilterMenuComponent {
10911
10931
  }
10912
10932
  }
10913
10933
  }
10914
- FilterMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FilterMenuComponent, deps: [{ token: FilterService }, { token: SinglePopupService }, { token: i1.LocalizationService }, { token: NavigationService }], target: i0.ɵɵFactoryTarget.Component });
10934
+ FilterMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FilterMenuComponent, deps: [{ token: FilterService }, { token: SinglePopupService }, { token: ContextService }, { token: NavigationService }], target: i0.ɵɵFactoryTarget.Component });
10915
10935
  FilterMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: FilterMenuComponent, selector: "kendo-grid-filter-menu", inputs: { column: "column", filter: "filter", tabIndex: "tabIndex" }, viewQueries: [{ propertyName: "anchor", first: true, predicate: ["anchor"], descendants: true, static: true }, { propertyName: "template", first: true, predicate: ["template"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: `
10916
10936
  <a #anchor
10917
10937
  class="k-grid-filter-menu k-grid-header-menu"
@@ -10935,7 +10955,7 @@ FilterMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
10935
10955
  >
10936
10956
  </kendo-grid-filter-menu-container>
10937
10957
  </ng-template>
10938
- `, 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"] }] });
10958
+ `, 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"] }] });
10939
10959
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FilterMenuComponent, decorators: [{
10940
10960
  type: Component,
10941
10961
  args: [{
@@ -10965,7 +10985,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
10965
10985
  </ng-template>
10966
10986
  `
10967
10987
  }]
10968
- }], ctorParameters: function () { return [{ type: FilterService }, { type: SinglePopupService }, { type: i1.LocalizationService }, { type: NavigationService }]; }, propDecorators: { column: [{
10988
+ }], ctorParameters: function () { return [{ type: FilterService }, { type: SinglePopupService }, { type: ContextService }, { type: NavigationService }]; }, propDecorators: { column: [{
10969
10989
  type: Input
10970
10990
  }], filter: [{
10971
10991
  type: Input
@@ -11173,7 +11193,7 @@ ColumnMenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
11173
11193
  <ng-container [ngTemplateOutlet]="contentTemplate.templateRef">
11174
11194
  </ng-container>
11175
11195
  <div>
11176
- `, 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: [
11196
+ `, 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: [
11177
11197
  trigger('state', [
11178
11198
  state('collapsed', style({ display: 'none' })),
11179
11199
  state('expanded', style({ display: 'block' })),
@@ -11284,16 +11304,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
11284
11304
  * ```
11285
11305
  */
11286
11306
  class ColumnMenuLockComponent extends ColumnMenuItemBase {
11287
- constructor(localization, columnInfoService, changeDetector) {
11307
+ constructor(ctx, columnInfoService, changeDetector) {
11288
11308
  super();
11289
- this.localization = localization;
11309
+ this.ctx = ctx;
11290
11310
  this.columnInfoService = columnInfoService;
11291
11311
  this.changeDetector = changeDetector;
11292
11312
  this.unlockIcon = unlockIcon;
11293
11313
  this.lockIcon = lockIcon;
11294
11314
  }
11295
11315
  get text() {
11296
- return this.localization.get(this.locked ? 'unlock' : 'lock');
11316
+ return this.ctx.localization.get(this.locked ? 'unlock' : 'lock');
11297
11317
  }
11298
11318
  get icon() {
11299
11319
  return this.locked ? 'unlock' : 'lock';
@@ -11333,7 +11353,7 @@ class ColumnMenuLockComponent extends ColumnMenuItemBase {
11333
11353
  return this.service.column.locked;
11334
11354
  }
11335
11355
  }
11336
- ColumnMenuLockComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnMenuLockComponent, deps: [{ token: i1.LocalizationService }, { token: ColumnInfoService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
11356
+ ColumnMenuLockComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnMenuLockComponent, deps: [{ token: ContextService }, { token: ColumnInfoService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
11337
11357
  ColumnMenuLockComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ColumnMenuLockComponent, selector: "kendo-grid-columnmenu-lock", usesInheritance: true, ngImport: i0, template: `
11338
11358
  <kendo-grid-columnmenu-item
11339
11359
  [text]="text"
@@ -11357,7 +11377,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
11357
11377
  </kendo-grid-columnmenu-item>
11358
11378
  `
11359
11379
  }]
11360
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: ColumnInfoService }, { type: i0.ChangeDetectorRef }]; } });
11380
+ }], ctorParameters: function () { return [{ type: ContextService }, { type: ColumnInfoService }, { type: i0.ChangeDetectorRef }]; } });
11361
11381
 
11362
11382
  /**
11363
11383
  * Represents the column-menu item that sticks or unsticks columns in the Grid.
@@ -11379,16 +11399,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
11379
11399
  * ```
11380
11400
  */
11381
11401
  class ColumnMenuStickComponent extends ColumnMenuItemBase {
11382
- constructor(localization, columnInfoService, changeDetector) {
11402
+ constructor(ctx, columnInfoService, changeDetector) {
11383
11403
  super();
11384
- this.localization = localization;
11404
+ this.ctx = ctx;
11385
11405
  this.columnInfoService = columnInfoService;
11386
11406
  this.changeDetector = changeDetector;
11387
11407
  this.stickIcon = stickIcon;
11388
11408
  this.unstickIcon = unstickIcon;
11389
11409
  }
11390
11410
  get text() {
11391
- return this.localization.get(this.sticky ? 'unstick' : 'stick');
11411
+ return this.ctx.localization.get(this.sticky ? 'unstick' : 'stick');
11392
11412
  }
11393
11413
  get icon() {
11394
11414
  return this.sticky ? 'unstick' : 'stick';
@@ -11428,7 +11448,7 @@ class ColumnMenuStickComponent extends ColumnMenuItemBase {
11428
11448
  return this.service.column.sticky;
11429
11449
  }
11430
11450
  }
11431
- ColumnMenuStickComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnMenuStickComponent, deps: [{ token: i1.LocalizationService }, { token: ColumnInfoService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
11451
+ ColumnMenuStickComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnMenuStickComponent, deps: [{ token: ContextService }, { token: ColumnInfoService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
11432
11452
  ColumnMenuStickComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ColumnMenuStickComponent, selector: "kendo-grid-columnmenu-stick", usesInheritance: true, ngImport: i0, template: `
11433
11453
  <kendo-grid-columnmenu-item
11434
11454
  [text]="text"
@@ -11452,14 +11472,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
11452
11472
  </kendo-grid-columnmenu-item>
11453
11473
  `
11454
11474
  }]
11455
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: ColumnInfoService }, { type: i0.ChangeDetectorRef }]; } });
11475
+ }], ctorParameters: function () { return [{ type: ContextService }, { type: ColumnInfoService }, { type: i0.ChangeDetectorRef }]; } });
11456
11476
 
11457
11477
  /**
11458
11478
  * Represents the column-menu item which combines the lock and sticky column functionalities.
11459
11479
  *
11460
11480
  * The component can be placed inside a [ColumnMenuTemplate]({% slug api_grid_columnmenutemplatedirective %}) directive.
11461
11481
  * To register the component as a known column menu item, set the [ColumnMenuService]({% slug api_grid_columnmenuservice %}) that is passed by
11462
- * the template to the service input of the `kendo-grid-columnmenu-filter` component. [See example](slug:columnmenu_grid#toc-set-column-position-item).
11482
+ * the template to the service input of the `kendo-grid-columnmenu-position` component. [See example](slug:columnmenu_grid#toc-set-column-position-item).
11463
11483
  *
11464
11484
  * @example
11465
11485
  * ```html
@@ -11472,9 +11492,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
11472
11492
  * ```
11473
11493
  */
11474
11494
  class ColumnMenuPositionComponent extends ColumnMenuItemBase {
11475
- constructor(localization, hostElement) {
11495
+ constructor(ctx, hostElement) {
11476
11496
  super();
11477
- this.localization = localization;
11497
+ this.ctx = ctx;
11478
11498
  this.hostElement = hostElement;
11479
11499
  /**
11480
11500
  * Fires when the content is expanded.
@@ -11547,10 +11567,10 @@ class ColumnMenuPositionComponent extends ColumnMenuItemBase {
11547
11567
  return menuItems[lastFocusableIndex];
11548
11568
  }
11549
11569
  }
11550
- ColumnMenuPositionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnMenuPositionComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
11570
+ ColumnMenuPositionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnMenuPositionComponent, deps: [{ token: ContextService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
11551
11571
  ColumnMenuPositionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ColumnMenuPositionComponent, selector: "kendo-grid-columnmenu-position", inputs: { expanded: "expanded", showLock: "showLock", showStick: "showStick", isLast: "isLast" }, outputs: { expand: "expand", collapse: "collapse" }, usesInheritance: true, ngImport: i0, template: `
11552
11572
  <kendo-grid-columnmenu-item
11553
- [text]="localization.get('setColumnPosition')"
11573
+ [text]="ctx.localization.get('setColumnPosition')"
11554
11574
  icon="set-column-position"
11555
11575
  [svgIcon]="setColumnPositionIcon"
11556
11576
  [expanded]="expanded"
@@ -11577,7 +11597,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
11577
11597
  selector: 'kendo-grid-columnmenu-position',
11578
11598
  template: `
11579
11599
  <kendo-grid-columnmenu-item
11580
- [text]="localization.get('setColumnPosition')"
11600
+ [text]="ctx.localization.get('setColumnPosition')"
11581
11601
  icon="set-column-position"
11582
11602
  [svgIcon]="setColumnPositionIcon"
11583
11603
  [expanded]="expanded"
@@ -11599,7 +11619,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
11599
11619
  </kendo-grid-columnmenu-item>
11600
11620
  `
11601
11621
  }]
11602
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i0.ElementRef }]; }, propDecorators: { expand: [{
11622
+ }], ctorParameters: function () { return [{ type: ContextService }, { type: i0.ElementRef }]; }, propDecorators: { expand: [{
11603
11623
  type: Output
11604
11624
  }], collapse: [{
11605
11625
  type: Output
@@ -11626,7 +11646,7 @@ class ColumnListComponent {
11626
11646
  this.columnChange = new EventEmitter();
11627
11647
  this.autoSync = true;
11628
11648
  this.allowHideAll = false;
11629
- this.actionsClass = 'k-actions';
11649
+ this.actionsClass = 'k-actions k-actions-stretched k-actions-horizontal';
11630
11650
  this.unlockedCount = 0;
11631
11651
  }
11632
11652
  get className() {
@@ -11765,8 +11785,8 @@ ColumnListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
11765
11785
  </label>
11766
11786
  </div>
11767
11787
  <div [ngClass]="actionsClass" *ngIf="!autoSync">
11768
- <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>
11769
11788
  <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>
11789
+ <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>
11770
11790
  </div>
11771
11791
  `, 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"] }] });
11772
11792
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnListComponent, decorators: [{
@@ -11780,8 +11800,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
11780
11800
  </label>
11781
11801
  </div>
11782
11802
  <div [ngClass]="actionsClass" *ngIf="!autoSync">
11783
- <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>
11784
11803
  <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>
11804
+ <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>
11785
11805
  </div>
11786
11806
  `
11787
11807
  }]
@@ -11834,9 +11854,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
11834
11854
  * ```
11835
11855
  */
11836
11856
  class ColumnMenuChooserComponent extends ColumnMenuItemBase {
11837
- constructor(localization, columnInfoService, changeDetector, hostElement) {
11857
+ constructor(ctx, columnInfoService, changeDetector, hostElement) {
11838
11858
  super();
11839
- this.localization = localization;
11859
+ this.ctx = ctx;
11840
11860
  this.columnInfoService = columnInfoService;
11841
11861
  this.changeDetector = changeDetector;
11842
11862
  this.hostElement = hostElement;
@@ -11860,7 +11880,7 @@ class ColumnMenuChooserComponent extends ColumnMenuItemBase {
11860
11880
  /**
11861
11881
  * @hidden
11862
11882
  */
11863
- this.actionsClass = 'k-actions';
11883
+ this.actionsClass = 'k-actions k-actions-stretched k-actions-horizontal';
11864
11884
  this.columnsIcon = columnsIcon;
11865
11885
  }
11866
11886
  get columns() {
@@ -11894,10 +11914,10 @@ class ColumnMenuChooserComponent extends ColumnMenuItemBase {
11894
11914
  this.expand.emit();
11895
11915
  }
11896
11916
  }
11897
- ColumnMenuChooserComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnMenuChooserComponent, deps: [{ token: i1.LocalizationService }, { token: ColumnInfoService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
11917
+ ColumnMenuChooserComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnMenuChooserComponent, deps: [{ token: ContextService }, { token: ColumnInfoService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
11898
11918
  ColumnMenuChooserComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ColumnMenuChooserComponent, selector: "kendo-grid-columnmenu-chooser", inputs: { expanded: "expanded", isLast: "isLast" }, outputs: { expand: "expand", collapse: "collapse" }, usesInheritance: true, ngImport: i0, template: `
11899
11919
  <kendo-grid-columnmenu-item
11900
- [text]="localization.get('columns')"
11920
+ [text]="ctx.localization.get('columns')"
11901
11921
  icon="columns"
11902
11922
  [svgIcon]="columnsIcon"
11903
11923
  [expanded]="expanded"
@@ -11905,8 +11925,8 @@ ColumnMenuChooserComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
11905
11925
  (expand)="onExpand()">
11906
11926
  <ng-template kendoGridColumnMenuItemContentTemplate>
11907
11927
  <kendo-grid-columnlist
11908
- [applyText]="localization.get('columnsApply')"
11909
- [resetText]="localization.get('columnsReset')"
11928
+ [applyText]="ctx.localization.get('columnsApply')"
11929
+ [resetText]="ctx.localization.get('columnsReset')"
11910
11930
  [columns]="columns"
11911
11931
  [autoSync]="false"
11912
11932
  [allowHideAll]="false"
@@ -11925,7 +11945,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
11925
11945
  selector: 'kendo-grid-columnmenu-chooser',
11926
11946
  template: `
11927
11947
  <kendo-grid-columnmenu-item
11928
- [text]="localization.get('columns')"
11948
+ [text]="ctx.localization.get('columns')"
11929
11949
  icon="columns"
11930
11950
  [svgIcon]="columnsIcon"
11931
11951
  [expanded]="expanded"
@@ -11933,8 +11953,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
11933
11953
  (expand)="onExpand()">
11934
11954
  <ng-template kendoGridColumnMenuItemContentTemplate>
11935
11955
  <kendo-grid-columnlist
11936
- [applyText]="localization.get('columnsApply')"
11937
- [resetText]="localization.get('columnsReset')"
11956
+ [applyText]="ctx.localization.get('columnsApply')"
11957
+ [resetText]="ctx.localization.get('columnsReset')"
11938
11958
  [columns]="columns"
11939
11959
  [autoSync]="false"
11940
11960
  [allowHideAll]="false"
@@ -11948,7 +11968,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
11948
11968
  </kendo-grid-columnmenu-item>
11949
11969
  `
11950
11970
  }]
11951
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: ColumnInfoService }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }]; }, propDecorators: { expand: [{
11971
+ }], ctorParameters: function () { return [{ type: ContextService }, { type: ColumnInfoService }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }]; }, propDecorators: { expand: [{
11952
11972
  type: Output
11953
11973
  }], collapse: [{
11954
11974
  type: Output
@@ -11976,9 +11996,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
11976
11996
  * ```
11977
11997
  */
11978
11998
  class ColumnMenuFilterComponent extends ColumnMenuItemBase {
11979
- constructor(localization, hostElement) {
11999
+ constructor(ctx, hostElement) {
11980
12000
  super();
11981
- this.localization = localization;
12001
+ this.ctx = ctx;
11982
12002
  this.hostElement = hostElement;
11983
12003
  /**
11984
12004
  * Fires when the content is expanded.
@@ -12000,7 +12020,7 @@ class ColumnMenuFilterComponent extends ColumnMenuItemBase {
12000
12020
  /**
12001
12021
  * @hidden
12002
12022
  */
12003
- this.actionsClass = 'k-actions';
12023
+ this.actionsClass = 'k-actions k-actions-stretched k-actions-horizontal';
12004
12024
  this.filterIcon = filterIcon;
12005
12025
  }
12006
12026
  /**
@@ -12021,10 +12041,10 @@ class ColumnMenuFilterComponent extends ColumnMenuItemBase {
12021
12041
  this.expand.emit();
12022
12042
  }
12023
12043
  }
12024
- ColumnMenuFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnMenuFilterComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
12044
+ ColumnMenuFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnMenuFilterComponent, deps: [{ token: ContextService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
12025
12045
  ColumnMenuFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ColumnMenuFilterComponent, selector: "kendo-grid-columnmenu-filter", inputs: { expanded: "expanded", isLast: "isLast" }, outputs: { expand: "expand", collapse: "collapse" }, usesInheritance: true, ngImport: i0, template: `
12026
12046
  <kendo-grid-columnmenu-item
12027
- [text]="localization.get('filter')"
12047
+ [text]="ctx.localization.get('filter')"
12028
12048
  icon="filter"
12029
12049
  [svgIcon]="filterIcon"
12030
12050
  [expanded]="expanded"
@@ -12050,7 +12070,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
12050
12070
  selector: 'kendo-grid-columnmenu-filter',
12051
12071
  template: `
12052
12072
  <kendo-grid-columnmenu-item
12053
- [text]="localization.get('filter')"
12073
+ [text]="ctx.localization.get('filter')"
12054
12074
  icon="filter"
12055
12075
  [svgIcon]="filterIcon"
12056
12076
  [expanded]="expanded"
@@ -12071,7 +12091,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
12071
12091
  </kendo-grid-columnmenu-item>
12072
12092
  `
12073
12093
  }]
12074
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i0.ElementRef }]; }, propDecorators: { expand: [{
12094
+ }], ctorParameters: function () { return [{ type: ContextService }, { type: i0.ElementRef }]; }, propDecorators: { expand: [{
12075
12095
  type: Output
12076
12096
  }], collapse: [{
12077
12097
  type: Output
@@ -12217,6 +12237,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
12217
12237
  * To register the component as a known column menu item, set the [ColumnMenuService]({% slug api_grid_columnmenuservice %}) that is passed by
12218
12238
  * the template to the service input of the `kendo-grid-columnmenu-sort` component. [See example](slug:columnmenu_grid#toc-customizing-the-content).
12219
12239
  *
12240
+ * You have to set the [ColumnMenuService]({% slug api_grid_columnmenuservice %}) that is passed by
12241
+ * the template to the service input of the `kendo-grid-columnmenu-sort` component.
12242
+ *
12220
12243
  * @example
12221
12244
  * ```html
12222
12245
  * <kendo-grid [kendoGridBinding]="data" [sortable]="true" [columnMenu]="true">
@@ -12228,9 +12251,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
12228
12251
  * ```
12229
12252
  */
12230
12253
  class ColumnMenuSortComponent extends ColumnMenuItemBase {
12231
- constructor(localization, sortService, renderer) {
12254
+ constructor(ctx, sortService, renderer) {
12232
12255
  super();
12233
- this.localization = localization;
12256
+ this.ctx = ctx;
12234
12257
  this.sortService = sortService;
12235
12258
  this.renderer = renderer;
12236
12259
  this.sortAscSmallIcon = sortAscSmallIcon;
@@ -12267,17 +12290,17 @@ class ColumnMenuSortComponent extends ColumnMenuItemBase {
12267
12290
  return [].concat(this.service.sort || []).find(s => s.field === this.service.column.field);
12268
12291
  }
12269
12292
  }
12270
- ColumnMenuSortComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnMenuSortComponent, deps: [{ token: i1.LocalizationService }, { token: SortService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
12293
+ ColumnMenuSortComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnMenuSortComponent, deps: [{ token: ContextService }, { token: SortService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
12271
12294
  ColumnMenuSortComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ColumnMenuSortComponent, selector: "kendo-grid-columnmenu-sort", usesInheritance: true, ngImport: i0, template: `
12272
12295
  <kendo-grid-columnmenu-item
12273
- [text]="localization.get('sortAscending')"
12296
+ [text]="ctx.localization.get('sortAscending')"
12274
12297
  icon="sort-asc-small"
12275
12298
  [svgIcon]="sortAscSmallIcon"
12276
12299
  (itemClick)="toggleSort('asc')"
12277
12300
  [selected]="sortedAsc">
12278
12301
  </kendo-grid-columnmenu-item>
12279
12302
  <kendo-grid-columnmenu-item
12280
- [text]="localization.get('sortDescending')"
12303
+ [text]="ctx.localization.get('sortDescending')"
12281
12304
  icon="sort-desc-small"
12282
12305
  [svgIcon]="sortDescSmallIcon"
12283
12306
  (itemClick)="toggleSort('desc')"
@@ -12290,14 +12313,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
12290
12313
  selector: 'kendo-grid-columnmenu-sort',
12291
12314
  template: `
12292
12315
  <kendo-grid-columnmenu-item
12293
- [text]="localization.get('sortAscending')"
12316
+ [text]="ctx.localization.get('sortAscending')"
12294
12317
  icon="sort-asc-small"
12295
12318
  [svgIcon]="sortAscSmallIcon"
12296
12319
  (itemClick)="toggleSort('asc')"
12297
12320
  [selected]="sortedAsc">
12298
12321
  </kendo-grid-columnmenu-item>
12299
12322
  <kendo-grid-columnmenu-item
12300
- [text]="localization.get('sortDescending')"
12323
+ [text]="ctx.localization.get('sortDescending')"
12301
12324
  icon="sort-desc-small"
12302
12325
  [svgIcon]="sortDescSmallIcon"
12303
12326
  (itemClick)="toggleSort('desc')"
@@ -12305,7 +12328,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
12305
12328
  </kendo-grid-columnmenu-item>
12306
12329
  `
12307
12330
  }]
12308
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: SortService }, { type: i0.Renderer2 }]; } });
12331
+ }], ctorParameters: function () { return [{ type: ContextService }, { type: SortService }, { type: i0.Renderer2 }]; } });
12309
12332
 
12310
12333
  /**
12311
12334
  * Represents the column-menu item for resizing the specified column to the minimum possible width so that it fits the header or cell content without wrapping.
@@ -12327,9 +12350,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
12327
12350
  * ```
12328
12351
  */
12329
12352
  class ColumnMenuAutoSizeColumnComponent extends ColumnMenuItemBase {
12330
- constructor(localization, ctx) {
12353
+ constructor(ctx) {
12331
12354
  super();
12332
- this.localization = localization;
12333
12355
  this.ctx = ctx;
12334
12356
  this.maxWidthIcon = maxWidthIcon;
12335
12357
  }
@@ -12346,12 +12368,12 @@ class ColumnMenuAutoSizeColumnComponent extends ColumnMenuItemBase {
12346
12368
  autoSizeColumn(this.ctx.grid, this.service, this.column);
12347
12369
  }
12348
12370
  }
12349
- ColumnMenuAutoSizeColumnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnMenuAutoSizeColumnComponent, deps: [{ token: i1.LocalizationService }, { token: ContextService }], target: i0.ɵɵFactoryTarget.Component });
12371
+ ColumnMenuAutoSizeColumnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnMenuAutoSizeColumnComponent, deps: [{ token: ContextService }], target: i0.ɵɵFactoryTarget.Component });
12350
12372
  ColumnMenuAutoSizeColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ColumnMenuAutoSizeColumnComponent, selector: "kendo-grid-columnmenu-autosize-column", inputs: { column: "column" }, usesInheritance: true, ngImport: i0, template: `
12351
12373
  <kendo-grid-columnmenu-item
12352
12374
  *ngIf="!this.ctx.grid.virtualColumns"
12353
12375
  class="k-grid-columnmenu-autosize-column"
12354
- [text]="localization.get('autosizeThisColumn')"
12376
+ [text]="ctx.localization.get('autosizeThisColumn')"
12355
12377
  icon="max-width"
12356
12378
  [svgIcon]="maxWidthIcon"
12357
12379
  (itemClick)="autoSizeColumn()"
@@ -12365,14 +12387,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
12365
12387
  <kendo-grid-columnmenu-item
12366
12388
  *ngIf="!this.ctx.grid.virtualColumns"
12367
12389
  class="k-grid-columnmenu-autosize-column"
12368
- [text]="localization.get('autosizeThisColumn')"
12390
+ [text]="ctx.localization.get('autosizeThisColumn')"
12369
12391
  icon="max-width"
12370
12392
  [svgIcon]="maxWidthIcon"
12371
12393
  (itemClick)="autoSizeColumn()"
12372
12394
  ></kendo-grid-columnmenu-item>
12373
12395
  `
12374
12396
  }]
12375
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: ContextService }]; }, propDecorators: { column: [{
12397
+ }], ctorParameters: function () { return [{ type: ContextService }]; }, propDecorators: { column: [{
12376
12398
  type: Input
12377
12399
  }] } });
12378
12400
 
@@ -12395,11 +12417,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
12395
12417
  * ```
12396
12418
  */
12397
12419
  class ColumnMenuAutoSizeAllColumnsComponent extends ColumnMenuItemBase {
12398
- constructor(localization, ctx) {
12420
+ constructor(ctx) {
12399
12421
  super();
12400
- this.localization = localization;
12401
12422
  this.ctx = ctx;
12402
- this.displayInlineBlockIcon = displayInlineBlockIcon;
12423
+ this.displayInlineFlexIcon = displayInlineFlexIcon;
12403
12424
  }
12404
12425
  ngOnInit() {
12405
12426
  const isVirtualColumns = this.ctx.grid.columnMenuTemplate && this.ctx.grid.virtualColumns;
@@ -12414,13 +12435,13 @@ class ColumnMenuAutoSizeAllColumnsComponent extends ColumnMenuItemBase {
12414
12435
  autoSizeColumn(this.ctx.grid, this.service);
12415
12436
  }
12416
12437
  }
12417
- ColumnMenuAutoSizeAllColumnsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnMenuAutoSizeAllColumnsComponent, deps: [{ token: i1.LocalizationService }, { token: ContextService }], target: i0.ɵɵFactoryTarget.Component });
12438
+ ColumnMenuAutoSizeAllColumnsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnMenuAutoSizeAllColumnsComponent, deps: [{ token: ContextService }], target: i0.ɵɵFactoryTarget.Component });
12418
12439
  ColumnMenuAutoSizeAllColumnsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ColumnMenuAutoSizeAllColumnsComponent, selector: "kendo-grid-columnmenu-autosize-all-columns", usesInheritance: true, ngImport: i0, template: `
12419
12440
  <kendo-grid-columnmenu-item
12420
12441
  *ngIf="!this.ctx.grid.virtualColumns"
12421
- [text]="localization.get('autosizeAllColumns')"
12422
- icon="display-inline-block"
12423
- [svgIcon]="displayInlineBlockIcon"
12442
+ [text]="ctx.localization.get('autosizeAllColumns')"
12443
+ icon="display-inline-flex"
12444
+ [svgIcon]="displayInlineFlexIcon"
12424
12445
  (itemClick)="autoSizeAllColumns()"
12425
12446
  ></kendo-grid-columnmenu-item>
12426
12447
  `, isInline: true, components: [{ type: ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "disabled", "expanded"], outputs: ["itemClick", "expand", "collapse"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
@@ -12431,14 +12452,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
12431
12452
  template: `
12432
12453
  <kendo-grid-columnmenu-item
12433
12454
  *ngIf="!this.ctx.grid.virtualColumns"
12434
- [text]="localization.get('autosizeAllColumns')"
12435
- icon="display-inline-block"
12436
- [svgIcon]="displayInlineBlockIcon"
12455
+ [text]="ctx.localization.get('autosizeAllColumns')"
12456
+ icon="display-inline-flex"
12457
+ [svgIcon]="displayInlineFlexIcon"
12437
12458
  (itemClick)="autoSizeAllColumns()"
12438
12459
  ></kendo-grid-columnmenu-item>
12439
12460
  `
12440
12461
  }]
12441
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: ContextService }]; } });
12462
+ }], ctorParameters: function () { return [{ type: ContextService }]; } });
12442
12463
 
12443
12464
  const POPUP_CLASS = 'k-grid-columnmenu-popup';
12444
12465
  /**
@@ -12453,12 +12474,14 @@ const POPUP_CLASS = 'k-grid-columnmenu-popup';
12453
12474
  * </kendo-grid>
12454
12475
  */
12455
12476
  class ColumnMenuComponent {
12456
- constructor(navigationService, popupService, localization, service, ctx) {
12477
+ constructor(navigationService, popupService, service, ctx, renderer, cdr, columnInfoService) {
12457
12478
  this.navigationService = navigationService;
12458
12479
  this.popupService = popupService;
12459
- this.localization = localization;
12460
12480
  this.service = service;
12461
12481
  this.ctx = ctx;
12482
+ this.renderer = renderer;
12483
+ this.cdr = cdr;
12484
+ this.columnInfoService = columnInfoService;
12462
12485
  /**
12463
12486
  * @hidden
12464
12487
  */
@@ -12475,6 +12498,22 @@ class ColumnMenuComponent {
12475
12498
  * @hidden
12476
12499
  */
12477
12500
  this.tabIndex = '-1';
12501
+ /**
12502
+ * @hidden
12503
+ */
12504
+ this.columnsIcon = columnsIcon;
12505
+ /**
12506
+ * @hidden
12507
+ */
12508
+ this.actionsClass = 'k-actions';
12509
+ /**
12510
+ * @hidden
12511
+ */
12512
+ this.moreHorizontalIcon = moreHorizontalIcon;
12513
+ /**
12514
+ * @hidden
12515
+ */
12516
+ this.filterIcon = filterIcon;
12478
12517
  /**
12479
12518
  * @hidden
12480
12519
  */
@@ -12490,6 +12529,17 @@ class ColumnMenuComponent {
12490
12529
  this.moreVerticalIcon = moreVerticalIcon;
12491
12530
  this.closeSubscription = service.closeMenu.subscribe(this.close.bind(this));
12492
12531
  }
12532
+ /**
12533
+ * @hidden
12534
+ */
12535
+ get showGeneralTab() {
12536
+ return this.hasSort
12537
+ || this.hasLock
12538
+ || this.hasStick
12539
+ || this.hasPosition
12540
+ || this.hasAutoSizeColumn
12541
+ || this.hasAutoSizeAllColumns;
12542
+ }
12493
12543
  /**
12494
12544
  * @hidden
12495
12545
  */
@@ -12515,6 +12565,16 @@ class ColumnMenuComponent {
12515
12565
  get hasColumnChooser() {
12516
12566
  return hasColumnChooser(this.settings);
12517
12567
  }
12568
+ /**
12569
+ * @hidden
12570
+ */
12571
+ onApply(changed) {
12572
+ this.close();
12573
+ if (changed.length) {
12574
+ this.cdr.markForCheck();
12575
+ this.columnInfoService.changeVisibility(changed);
12576
+ }
12577
+ }
12518
12578
  /**
12519
12579
  * @hidden
12520
12580
  */
@@ -12545,6 +12605,12 @@ class ColumnMenuComponent {
12545
12605
  get hasPosition() {
12546
12606
  return hasPosition(this.settings, this.column);
12547
12607
  }
12608
+ /**
12609
+ * @hidden
12610
+ */
12611
+ get columns() {
12612
+ return this.columnInfoService.leafNamedColumns;
12613
+ }
12548
12614
  ngAfterViewInit() {
12549
12615
  if (this.ctx.grid.virtualColumns && isDevMode()) {
12550
12616
  if (this.settings.autoSizeAllColumns) {
@@ -12556,6 +12622,7 @@ class ColumnMenuComponent {
12556
12622
  console.warn(ColunnMenuErrorMessages.autoSizeColumn);
12557
12623
  }
12558
12624
  }
12625
+ this.service.menuTabbingService.isTabbedInterface = this.settings.view === 'tabbed' ? true : false;
12559
12626
  }
12560
12627
  ngOnChanges() {
12561
12628
  this.service.column = this.column;
@@ -12579,6 +12646,11 @@ class ColumnMenuComponent {
12579
12646
  this.expandedColumns = this.getExpandedState(this.settings.columnChooser);
12580
12647
  this.expandedPosition = this.getExpandedState(this.settings.setColumnPosition);
12581
12648
  this.popupRef = this.popupService.open(anchor, template, this.popupRef, POPUP_CLASS);
12649
+ if (this.popupRef && this.settings.view === 'tabbed') {
12650
+ this.renderer.addClass(this.popupRef.popupElement.firstChild, 'k-column-menu-tabbed');
12651
+ this.cdr.detectChanges();
12652
+ this.tabStrip?.selectTab(0);
12653
+ }
12582
12654
  if (!this.popupRef) {
12583
12655
  if (this.navigationService.tableEnabled) {
12584
12656
  this.navigationService.focusCell(0, this.column.leafIndex);
@@ -12605,7 +12677,7 @@ class ColumnMenuComponent {
12605
12677
  * @hidden
12606
12678
  */
12607
12679
  get columnMenuTitle() {
12608
- const localizationMsg = this.localization.get('columnMenu') || '';
12680
+ const localizationMsg = this.ctx.localization.get('columnMenu') || '';
12609
12681
  const columnName = this.column.title || this.column.field;
12610
12682
  return replaceMessagePlaceholder(localizationMsg, 'columnName', columnName);
12611
12683
  }
@@ -12613,11 +12685,11 @@ class ColumnMenuComponent {
12613
12685
  return typeof (menuItemSettings) === 'object' ? menuItemSettings.expanded : false;
12614
12686
  }
12615
12687
  }
12616
- ColumnMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnMenuComponent, deps: [{ token: NavigationService }, { token: SinglePopupService }, { token: i1.LocalizationService }, { token: ColumnMenuService }, { token: ContextService }], target: i0.ɵɵFactoryTarget.Component });
12688
+ ColumnMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnMenuComponent, deps: [{ token: NavigationService }, { token: SinglePopupService }, { token: ColumnMenuService }, { token: ContextService }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: ColumnInfoService }], target: i0.ɵɵFactoryTarget.Component });
12617
12689
  ColumnMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ColumnMenuComponent, selector: "kendo-grid-column-menu", inputs: { standalone: "standalone", column: "column", settings: "settings", sort: "sort", filter: "filter", sortable: "sortable", columnMenuTemplate: "columnMenuTemplate", tabIndex: "tabIndex" }, host: { properties: { "class.k-grid-column-menu-standalone": "this.standalone" } }, providers: [
12618
12690
  ColumnMenuService,
12619
12691
  MenuTabbingService
12620
- ], viewQueries: [{ propertyName: "anchor", first: true, predicate: ["anchor"], descendants: true, static: true }, { propertyName: "template", first: true, predicate: ["template"], descendants: true, read: TemplateRef, static: true }], usesOnChanges: true, ngImport: i0, template: `
12692
+ ], viewQueries: [{ propertyName: "anchor", first: true, predicate: ["anchor"], descendants: true, static: true }, { propertyName: "template", first: true, predicate: ["template"], descendants: true, read: TemplateRef, static: true }, { propertyName: "defaultTemplate", first: true, predicate: ["defaultTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "tabbedInterfaceTemplate", first: true, predicate: ["tabbedInterfaceTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "tabStrip", first: true, predicate: TabStripComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
12621
12693
  <a #anchor
12622
12694
  class="k-grid-header-menu k-grid-column-menu"
12623
12695
  [ngClass]="{ 'k-active': isActive }"
@@ -12632,7 +12704,7 @@ ColumnMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
12632
12704
  </a>
12633
12705
  <ng-template #template>
12634
12706
  <ng-container
12635
- [ngTemplateOutlet]="column.columnMenuTemplateRef || columnMenuTemplate || defaultTemplate"
12707
+ [ngTemplateOutlet]="this.column.columnMenuTemplateRef || this.columnMenuTemplate || (this.settings.view === 'tabbed' ? this.tabbedInterfaceTemplate : this.defaultTemplate)"
12636
12708
  [ngTemplateOutletContext]="{ service: service, column: column }">
12637
12709
  </ng-container>
12638
12710
  </ng-template>
@@ -12689,7 +12761,95 @@ ColumnMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
12689
12761
  </kendo-grid-columnmenu-filter>
12690
12762
  </kendo-grid-columnmenu-container>
12691
12763
  </ng-template>
12692
- `, 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"] }], 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"] }] });
12764
+ <ng-template #tabbedInterfaceTemplate>
12765
+ <kendo-tabstrip #tabstrip (keydown.escape)="close()">
12766
+ <kendo-tabstrip-tab *ngIf="hasFilter">
12767
+ <ng-template kendoTabTitle>
12768
+ <kendo-icon-wrapper
12769
+ [attr.title]="ctx.localization.get('columnMenuFilterTabTitle')"
12770
+ name="filter"
12771
+ [svgIcon]="filterIcon">
12772
+ </kendo-icon-wrapper>
12773
+ </ng-template>
12774
+ <ng-template kendoTabContent>
12775
+ <kendo-grid-filter-menu-container
12776
+ [column]="service.column"
12777
+ [menuTabbingService]="service.menuTabbingService"
12778
+ [filter]="service.filter"
12779
+ [actionsClass]="actionsClass"
12780
+ (keydown.shift.tab)="$event.stopImmediatePropagation()"
12781
+ (close)="close()">
12782
+ </kendo-grid-filter-menu-container>
12783
+ </ng-template>
12784
+ </kendo-tabstrip-tab>
12785
+ <kendo-tabstrip-tab *ngIf="showGeneralTab">
12786
+ <ng-template kendoTabTitle>
12787
+ <kendo-icon-wrapper
12788
+ [attr.title]="ctx.localization.get('columnMenuGeneralTabTitle')"
12789
+ name="more-horizontal"
12790
+ [svgIcon]="moreHorizontalIcon">
12791
+ </kendo-icon-wrapper>
12792
+ </ng-template>
12793
+ <ng-template kendoTabContent>
12794
+ <kendo-grid-columnmenu-sort #sortItem [kendoGridColumnMenuItem]="sortItem" *ngIf="hasSort" [service]="service">
12795
+ </kendo-grid-columnmenu-sort>
12796
+ <span [style.borderColor]="'rgba(0, 0, 0, 0.08)'" *ngIf="hasSort && (hasLock || hasStick || hasPosition || hasAutoSizeColumn || hasAutoSizeAllColumns)" class="k-separator"></span>
12797
+ <kendo-grid-columnmenu-lock #lockItem *ngIf="hasLock && !hasPosition" [kendoGridColumnMenuItem]="lockItem" [service]="service">
12798
+ </kendo-grid-columnmenu-lock>
12799
+ <kendo-grid-columnmenu-stick #stickItem *ngIf="hasStick && !hasPosition" [kendoGridColumnMenuItem]="stickItem" [service]="service">
12800
+ </kendo-grid-columnmenu-stick>
12801
+ <span [style.borderColor]="'rgba(0, 0, 0, 0.08)'" *ngIf="(hasLock || hasStick) && !hasPosition && (hasAutoSizeColumn || hasAutoSizeAllColumns)" class="k-separator"></span>
12802
+ <kendo-grid-columnmenu-position
12803
+ #positionItem
12804
+ *ngIf="hasPosition"
12805
+ [showLock]="hasLock"
12806
+ [showStick]="hasStick"
12807
+ [kendoGridColumnMenuItem]="positionItem"
12808
+ [service]="service"
12809
+ [expanded]="expandedPosition">
12810
+ </kendo-grid-columnmenu-position>
12811
+ <span [style.borderColor]="'rgba(0, 0, 0, 0.08)'" *ngIf="hasPosition && (hasAutoSizeColumn || hasAutoSizeAllColumns)" class="k-separator"></span>
12812
+ <kendo-grid-columnmenu-autosize-column
12813
+ #autoSizeColumnItem
12814
+ *ngIf="hasAutoSizeColumn"
12815
+ [service]="service"
12816
+ [kendoGridColumnMenuItem]="autoSizeColumnItem"
12817
+ [column]="column"
12818
+ >
12819
+ </kendo-grid-columnmenu-autosize-column>
12820
+ <kendo-grid-columnmenu-autosize-all-columns
12821
+ #autoSizeAllColumnsItem
12822
+ *ngIf="hasAutoSizeAllColumns"
12823
+ [service]="service"
12824
+ [kendoGridColumnMenuItem]="autoSizeAllColumnsItem"
12825
+ >
12826
+ </kendo-grid-columnmenu-autosize-all-columns>
12827
+ </ng-template>
12828
+ </kendo-tabstrip-tab>
12829
+ <kendo-tabstrip-tab *ngIf="hasColumnChooser">
12830
+ <ng-template kendoTabTitle>
12831
+ <kendo-icon-wrapper
12832
+ [attr.title]="ctx.localization.get('columnMenuColumnsTabTitle')"
12833
+ name="columns"
12834
+ [svgIcon]="columnsIcon">
12835
+ </kendo-icon-wrapper>
12836
+ </ng-template>
12837
+ <ng-template kendoTabContent>
12838
+ <kendo-grid-columnlist
12839
+ [applyText]="ctx.localization.get('columnsApply')"
12840
+ [resetText]="ctx.localization.get('columnsReset')"
12841
+ [columns]="columns"
12842
+ [autoSync]="false"
12843
+ [allowHideAll]="false"
12844
+ [actionsClass]="actionsClass"
12845
+ [service]="service"
12846
+ (apply)="onApply($event)">
12847
+ </kendo-grid-columnlist>
12848
+ </ng-template>
12849
+ </kendo-tabstrip-tab>
12850
+ </kendo-tabstrip>
12851
+ </ng-template>
12852
+ `, 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]" }] });
12693
12853
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnMenuComponent, decorators: [{
12694
12854
  type: Component,
12695
12855
  args: [{
@@ -12713,7 +12873,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
12713
12873
  </a>
12714
12874
  <ng-template #template>
12715
12875
  <ng-container
12716
- [ngTemplateOutlet]="column.columnMenuTemplateRef || columnMenuTemplate || defaultTemplate"
12876
+ [ngTemplateOutlet]="this.column.columnMenuTemplateRef || this.columnMenuTemplate || (this.settings.view === 'tabbed' ? this.tabbedInterfaceTemplate : this.defaultTemplate)"
12717
12877
  [ngTemplateOutletContext]="{ service: service, column: column }">
12718
12878
  </ng-container>
12719
12879
  </ng-template>
@@ -12770,9 +12930,97 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
12770
12930
  </kendo-grid-columnmenu-filter>
12771
12931
  </kendo-grid-columnmenu-container>
12772
12932
  </ng-template>
12933
+ <ng-template #tabbedInterfaceTemplate>
12934
+ <kendo-tabstrip #tabstrip (keydown.escape)="close()">
12935
+ <kendo-tabstrip-tab *ngIf="hasFilter">
12936
+ <ng-template kendoTabTitle>
12937
+ <kendo-icon-wrapper
12938
+ [attr.title]="ctx.localization.get('columnMenuFilterTabTitle')"
12939
+ name="filter"
12940
+ [svgIcon]="filterIcon">
12941
+ </kendo-icon-wrapper>
12942
+ </ng-template>
12943
+ <ng-template kendoTabContent>
12944
+ <kendo-grid-filter-menu-container
12945
+ [column]="service.column"
12946
+ [menuTabbingService]="service.menuTabbingService"
12947
+ [filter]="service.filter"
12948
+ [actionsClass]="actionsClass"
12949
+ (keydown.shift.tab)="$event.stopImmediatePropagation()"
12950
+ (close)="close()">
12951
+ </kendo-grid-filter-menu-container>
12952
+ </ng-template>
12953
+ </kendo-tabstrip-tab>
12954
+ <kendo-tabstrip-tab *ngIf="showGeneralTab">
12955
+ <ng-template kendoTabTitle>
12956
+ <kendo-icon-wrapper
12957
+ [attr.title]="ctx.localization.get('columnMenuGeneralTabTitle')"
12958
+ name="more-horizontal"
12959
+ [svgIcon]="moreHorizontalIcon">
12960
+ </kendo-icon-wrapper>
12961
+ </ng-template>
12962
+ <ng-template kendoTabContent>
12963
+ <kendo-grid-columnmenu-sort #sortItem [kendoGridColumnMenuItem]="sortItem" *ngIf="hasSort" [service]="service">
12964
+ </kendo-grid-columnmenu-sort>
12965
+ <span [style.borderColor]="'rgba(0, 0, 0, 0.08)'" *ngIf="hasSort && (hasLock || hasStick || hasPosition || hasAutoSizeColumn || hasAutoSizeAllColumns)" class="k-separator"></span>
12966
+ <kendo-grid-columnmenu-lock #lockItem *ngIf="hasLock && !hasPosition" [kendoGridColumnMenuItem]="lockItem" [service]="service">
12967
+ </kendo-grid-columnmenu-lock>
12968
+ <kendo-grid-columnmenu-stick #stickItem *ngIf="hasStick && !hasPosition" [kendoGridColumnMenuItem]="stickItem" [service]="service">
12969
+ </kendo-grid-columnmenu-stick>
12970
+ <span [style.borderColor]="'rgba(0, 0, 0, 0.08)'" *ngIf="(hasLock || hasStick) && !hasPosition && (hasAutoSizeColumn || hasAutoSizeAllColumns)" class="k-separator"></span>
12971
+ <kendo-grid-columnmenu-position
12972
+ #positionItem
12973
+ *ngIf="hasPosition"
12974
+ [showLock]="hasLock"
12975
+ [showStick]="hasStick"
12976
+ [kendoGridColumnMenuItem]="positionItem"
12977
+ [service]="service"
12978
+ [expanded]="expandedPosition">
12979
+ </kendo-grid-columnmenu-position>
12980
+ <span [style.borderColor]="'rgba(0, 0, 0, 0.08)'" *ngIf="hasPosition && (hasAutoSizeColumn || hasAutoSizeAllColumns)" class="k-separator"></span>
12981
+ <kendo-grid-columnmenu-autosize-column
12982
+ #autoSizeColumnItem
12983
+ *ngIf="hasAutoSizeColumn"
12984
+ [service]="service"
12985
+ [kendoGridColumnMenuItem]="autoSizeColumnItem"
12986
+ [column]="column"
12987
+ >
12988
+ </kendo-grid-columnmenu-autosize-column>
12989
+ <kendo-grid-columnmenu-autosize-all-columns
12990
+ #autoSizeAllColumnsItem
12991
+ *ngIf="hasAutoSizeAllColumns"
12992
+ [service]="service"
12993
+ [kendoGridColumnMenuItem]="autoSizeAllColumnsItem"
12994
+ >
12995
+ </kendo-grid-columnmenu-autosize-all-columns>
12996
+ </ng-template>
12997
+ </kendo-tabstrip-tab>
12998
+ <kendo-tabstrip-tab *ngIf="hasColumnChooser">
12999
+ <ng-template kendoTabTitle>
13000
+ <kendo-icon-wrapper
13001
+ [attr.title]="ctx.localization.get('columnMenuColumnsTabTitle')"
13002
+ name="columns"
13003
+ [svgIcon]="columnsIcon">
13004
+ </kendo-icon-wrapper>
13005
+ </ng-template>
13006
+ <ng-template kendoTabContent>
13007
+ <kendo-grid-columnlist
13008
+ [applyText]="ctx.localization.get('columnsApply')"
13009
+ [resetText]="ctx.localization.get('columnsReset')"
13010
+ [columns]="columns"
13011
+ [autoSync]="false"
13012
+ [allowHideAll]="false"
13013
+ [actionsClass]="actionsClass"
13014
+ [service]="service"
13015
+ (apply)="onApply($event)">
13016
+ </kendo-grid-columnlist>
13017
+ </ng-template>
13018
+ </kendo-tabstrip-tab>
13019
+ </kendo-tabstrip>
13020
+ </ng-template>
12773
13021
  `
12774
13022
  }]
12775
- }], ctorParameters: function () { return [{ type: NavigationService }, { type: SinglePopupService }, { type: i1.LocalizationService }, { type: ColumnMenuService }, { type: ContextService }]; }, propDecorators: { standalone: [{
13023
+ }], ctorParameters: function () { return [{ type: NavigationService }, { type: SinglePopupService }, { type: ColumnMenuService }, { type: ContextService }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: ColumnInfoService }]; }, propDecorators: { standalone: [{
12776
13024
  type: HostBinding,
12777
13025
  args: ['class.k-grid-column-menu-standalone']
12778
13026
  }, {
@@ -12797,6 +13045,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
12797
13045
  }], template: [{
12798
13046
  type: ViewChild,
12799
13047
  args: ['template', { static: true, read: TemplateRef }]
13048
+ }], defaultTemplate: [{
13049
+ type: ViewChild,
13050
+ args: ['defaultTemplate', { static: true, read: TemplateRef }]
13051
+ }], tabbedInterfaceTemplate: [{
13052
+ type: ViewChild,
13053
+ args: ['tabbedInterfaceTemplate', { static: true, read: TemplateRef }]
13054
+ }], tabStrip: [{
13055
+ type: ViewChild,
13056
+ args: [TabStripComponent]
12800
13057
  }] } });
12801
13058
 
12802
13059
  /**
@@ -12817,8 +13074,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
12817
13074
  * ```
12818
13075
  */
12819
13076
  class FilterCellOperatorsComponent {
12820
- constructor(localization, sizing) {
12821
- this.localization = localization;
13077
+ constructor(ctx, sizing) {
13078
+ this.ctx = ctx;
12822
13079
  this.sizing = sizing;
12823
13080
  this.clearText = 'Clear';
12824
13081
  this.filterClearIcon = filterClearIcon;
@@ -12887,7 +13144,7 @@ class FilterCellOperatorsComponent {
12887
13144
  }
12888
13145
  }
12889
13146
  ngOnInit() {
12890
- this.subs = this.localization.changes.subscribe(() => this.clearText = this.localization.get('filterClearButton'));
13147
+ this.subs = this.ctx.localization.changes.subscribe(() => this.clearText = this.ctx.localization.get('filterClearButton'));
12891
13148
  this.subs.add(this.sizing.changes.subscribe((size) => this.size = size));
12892
13149
  }
12893
13150
  ngOnDestroy() {
@@ -12896,7 +13153,7 @@ class FilterCellOperatorsComponent {
12896
13153
  }
12897
13154
  }
12898
13155
  }
12899
- FilterCellOperatorsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FilterCellOperatorsComponent, deps: [{ token: i1.LocalizationService }, { token: SizingOptionsService }], target: i0.ɵɵFactoryTarget.Component });
13156
+ 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 });
12900
13157
  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: `
12901
13158
  <kendo-dropdownlist
12902
13159
  #dropdown
@@ -12958,7 +13215,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
12958
13215
  (keydown)="clearKeydown($event)"></button>
12959
13216
  `
12960
13217
  }]
12961
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: SizingOptionsService }]; }, propDecorators: { hostClasses: [{
13218
+ }], ctorParameters: function () { return [{ type: ContextService }, { type: SizingOptionsService }]; }, propDecorators: { hostClasses: [{
12962
13219
  type: HostBinding,
12963
13220
  args: ['class.k-filtercell-operator']
12964
13221
  }], dropdown: [{
@@ -13055,8 +13312,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
13055
13312
  * ```
13056
13313
  */
13057
13314
  class StringFilterCellComponent extends StringFilterComponent {
13058
- constructor(filterService, localization, sizingService) {
13059
- super(filterService, localization);
13315
+ constructor(filterService, ctx, sizingService) {
13316
+ super(filterService, ctx);
13060
13317
  /**
13061
13318
  * Determines the delay time (in milliseconds) before the filter value is submitted.
13062
13319
  * A value of `0` indicates no delay.
@@ -13081,12 +13338,12 @@ class StringFilterCellComponent extends StringFilterComponent {
13081
13338
  * @hidden
13082
13339
  */
13083
13340
  get columnLabel() {
13084
- const localizationMsg = this.localization.get('filterInputLabel') || '';
13341
+ const localizationMsg = this.ctx.localization.get('filterInputLabel') || '';
13085
13342
  const columnName = this.column.title || this.column.field;
13086
13343
  return replaceMessagePlaceholder(localizationMsg, 'columnName', columnName);
13087
13344
  }
13088
13345
  }
13089
- StringFilterCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StringFilterCellComponent, deps: [{ token: FilterService }, { token: i1.LocalizationService }, { token: SizingOptionsService }], target: i0.ɵɵFactoryTarget.Component });
13346
+ StringFilterCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StringFilterCellComponent, deps: [{ token: FilterService }, { token: ContextService }, { token: SizingOptionsService }], target: i0.ɵɵFactoryTarget.Component });
13090
13347
  StringFilterCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: StringFilterCellComponent, selector: "kendo-grid-string-filter-cell", inputs: { filterDelay: "filterDelay", showOperators: "showOperators" }, usesInheritance: true, ngImport: i0, template: `
13091
13348
  <kendo-grid-filter-wrapper-cell
13092
13349
  [column]="column"
@@ -13126,7 +13383,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
13126
13383
  </kendo-grid-filter-wrapper-cell>
13127
13384
  `
13128
13385
  }]
13129
- }], ctorParameters: function () { return [{ type: FilterService }, { type: i1.LocalizationService }, { type: SizingOptionsService }]; }, propDecorators: { filterDelay: [{
13386
+ }], ctorParameters: function () { return [{ type: FilterService }, { type: ContextService }, { type: SizingOptionsService }]; }, propDecorators: { filterDelay: [{
13130
13387
  type: Input
13131
13388
  }], showOperators: [{
13132
13389
  type: Input
@@ -13149,13 +13406,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
13149
13406
  * ```
13150
13407
  */
13151
13408
  class NumericFilterCellComponent extends NumericFilterComponent {
13152
- constructor(filterService, localization, sizingService) {
13153
- super(filterService, localization);
13154
- this.localization = localization;
13409
+ constructor(filterService, ctx, sizingService) {
13410
+ super(filterService, ctx);
13411
+ this.ctx = ctx;
13155
13412
  /**
13156
13413
  * Determines the delay time (in milliseconds) before the filter value is submitted.
13157
13414
  * A value of `0` indicates no delay. The default value is `500`.
13158
- * @type {boolean}
13415
+ * @type {boolean}\
13159
13416
  * @default 500
13160
13417
  */
13161
13418
  this.filterDelay = 500;
@@ -13175,18 +13432,18 @@ class NumericFilterCellComponent extends NumericFilterComponent {
13175
13432
  * @hidden
13176
13433
  */
13177
13434
  messageFor(key) {
13178
- return this.localization.get(key);
13435
+ return this.ctx.localization.get(key);
13179
13436
  }
13180
13437
  /**
13181
13438
  * @hidden
13182
13439
  */
13183
13440
  get columnLabel() {
13184
- const localizationMsg = this.localization.get('filterInputLabel') || '';
13441
+ const localizationMsg = this.ctx.localization.get('filterInputLabel') || '';
13185
13442
  const columnName = this.column.title || this.column.field;
13186
13443
  return replaceMessagePlaceholder(localizationMsg, 'columnName', columnName);
13187
13444
  }
13188
13445
  }
13189
- NumericFilterCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: NumericFilterCellComponent, deps: [{ token: FilterService }, { token: i1.LocalizationService }, { token: SizingOptionsService }], target: i0.ɵɵFactoryTarget.Component });
13446
+ NumericFilterCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: NumericFilterCellComponent, deps: [{ token: FilterService }, { token: ContextService }, { token: SizingOptionsService }], target: i0.ɵɵFactoryTarget.Component });
13190
13447
  NumericFilterCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: NumericFilterCellComponent, selector: "kendo-grid-numeric-filter-cell", inputs: { filterDelay: "filterDelay", showOperators: "showOperators" }, usesInheritance: true, ngImport: i0, template: `
13191
13448
  <kendo-grid-filter-wrapper-cell
13192
13449
  [column]="column"
@@ -13254,7 +13511,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
13254
13511
  </kendo-grid-filter-wrapper-cell>
13255
13512
  `
13256
13513
  }]
13257
- }], ctorParameters: function () { return [{ type: FilterService }, { type: i1.LocalizationService }, { type: SizingOptionsService }]; }, propDecorators: { filterDelay: [{
13514
+ }], ctorParameters: function () { return [{ type: FilterService }, { type: ContextService }, { type: SizingOptionsService }]; }, propDecorators: { filterDelay: [{
13258
13515
  type: Input
13259
13516
  }], showOperators: [{
13260
13517
  type: Input
@@ -13278,8 +13535,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
13278
13535
  * ```
13279
13536
  */
13280
13537
  class BooleanFilterCellComponent extends BooleanFilterComponent {
13281
- constructor(filterService, localization, cd, sizingService) {
13282
- super(filterService, localization);
13538
+ constructor(filterService, ctx, cd, sizingService) {
13539
+ super(filterService, ctx);
13283
13540
  this.cd = cd;
13284
13541
  /**
13285
13542
  * @hidden
@@ -13298,12 +13555,12 @@ class BooleanFilterCellComponent extends BooleanFilterComponent {
13298
13555
  * @hidden
13299
13556
  */
13300
13557
  get columnLabel() {
13301
- const localizationMsg = this.localization.get('filterInputLabel') || '';
13558
+ const localizationMsg = this.ctx.localization.get('filterInputLabel') || '';
13302
13559
  const columnName = this.column.title || this.column.field;
13303
13560
  return replaceMessagePlaceholder(localizationMsg, 'columnName', columnName);
13304
13561
  }
13305
13562
  }
13306
- BooleanFilterCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BooleanFilterCellComponent, deps: [{ token: FilterService }, { token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: SizingOptionsService }], target: i0.ɵɵFactoryTarget.Component });
13563
+ BooleanFilterCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BooleanFilterCellComponent, deps: [{ token: FilterService }, { token: ContextService }, { token: i0.ChangeDetectorRef }, { token: SizingOptionsService }], target: i0.ɵɵFactoryTarget.Component });
13307
13564
  BooleanFilterCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: BooleanFilterCellComponent, selector: "kendo-grid-boolean-filter-cell", usesInheritance: true, ngImport: i0, template: `
13308
13565
  <kendo-grid-filter-wrapper-cell
13309
13566
  [column]="column"
@@ -13351,7 +13608,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
13351
13608
  </kendo-grid-filter-wrapper-cell>
13352
13609
  `
13353
13610
  }]
13354
- }], ctorParameters: function () { return [{ type: FilterService }, { type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: SizingOptionsService }]; } });
13611
+ }], ctorParameters: function () { return [{ type: FilterService }, { type: ContextService }, { type: i0.ChangeDetectorRef }, { type: SizingOptionsService }]; } });
13355
13612
 
13356
13613
  /**
13357
13614
  * Represents a [DatePicker](slug:overview_datepicker) filter-cell component.
@@ -13370,9 +13627,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
13370
13627
  * ```
13371
13628
  */
13372
13629
  class DateFilterCellComponent extends DateFilterComponent {
13373
- constructor(filterService, localization, sizingService) {
13374
- super(filterService, localization);
13375
- this.localization = localization;
13630
+ constructor(filterService, ctx, sizingService) {
13631
+ super(filterService, ctx);
13632
+ this.ctx = ctx;
13376
13633
  /**
13377
13634
  * Represents a [DatePicker](slug:overview_datepicker) filter-cell component.
13378
13635
  * [See example](slug:filter_row#toc-built-in-filter-row-components).
@@ -13401,18 +13658,18 @@ class DateFilterCellComponent extends DateFilterComponent {
13401
13658
  * @hidden
13402
13659
  */
13403
13660
  messageFor(key) {
13404
- return this.localization.get(key);
13661
+ return this.ctx.localization.get(key);
13405
13662
  }
13406
13663
  /**
13407
13664
  * @hidden
13408
13665
  */
13409
13666
  get columnLabel() {
13410
- const localizationMsg = this.localization.get('filterInputLabel') || '';
13667
+ const localizationMsg = this.ctx.localization.get('filterInputLabel') || '';
13411
13668
  const columnName = this.column.title || this.column.field;
13412
13669
  return replaceMessagePlaceholder(localizationMsg, 'columnName', columnName);
13413
13670
  }
13414
13671
  }
13415
- DateFilterCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DateFilterCellComponent, deps: [{ token: FilterService }, { token: i1.LocalizationService }, { token: SizingOptionsService }], target: i0.ɵɵFactoryTarget.Component });
13672
+ DateFilterCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DateFilterCellComponent, deps: [{ token: FilterService }, { token: ContextService }, { token: SizingOptionsService }], target: i0.ɵɵFactoryTarget.Component });
13416
13673
  DateFilterCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: DateFilterCellComponent, selector: "kendo-grid-date-filter-cell", inputs: { showOperators: "showOperators" }, usesInheritance: true, ngImport: i0, template: `
13417
13674
  <kendo-grid-filter-wrapper-cell
13418
13675
  [column]="column"
@@ -13482,7 +13739,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
13482
13739
  </kendo-grid-filter-wrapper-cell>
13483
13740
  `
13484
13741
  }]
13485
- }], ctorParameters: function () { return [{ type: FilterService }, { type: i1.LocalizationService }, { type: SizingOptionsService }]; }, propDecorators: { showOperators: [{
13742
+ }], ctorParameters: function () { return [{ type: FilterService }, { type: ContextService }, { type: SizingOptionsService }]; }, propDecorators: { showOperators: [{
13486
13743
  type: Input
13487
13744
  }] } });
13488
13745
 
@@ -13777,8 +14034,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
13777
14034
  * @hidden
13778
14035
  */
13779
14036
  class FilterRowComponent {
13780
- constructor(localization, columnInfoService) {
13781
- this.localization = localization;
14037
+ constructor(ctx, columnInfoService) {
14038
+ this.ctx = ctx;
13782
14039
  this.columnInfoService = columnInfoService;
13783
14040
  this.columns = [];
13784
14041
  this.groups = [];
@@ -13789,12 +14046,12 @@ class FilterRowComponent {
13789
14046
  return { ...sticky, ...column.filterStyle };
13790
14047
  }
13791
14048
  filterLabel(column) {
13792
- const localizationMsg = this.localization.get('filterInputLabel') || '';
14049
+ const localizationMsg = this.ctx.localization.get('filterInputLabel') || '';
13793
14050
  const columnName = column.title || column.field;
13794
14051
  return replaceMessagePlaceholder(localizationMsg, 'columnName', columnName);
13795
14052
  }
13796
14053
  }
13797
- FilterRowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FilterRowComponent, deps: [{ token: i1.LocalizationService }, { token: ColumnInfoService }], target: i0.ɵɵFactoryTarget.Component });
14054
+ FilterRowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FilterRowComponent, deps: [{ token: ContextService }, { token: ColumnInfoService }], target: i0.ɵɵFactoryTarget.Component });
13798
14055
  FilterRowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: FilterRowComponent, selector: "[kendoGridFilterRow]", inputs: { columns: "columns", filter: "filter", groups: "groups", detailTemplate: "detailTemplate", logicalRowIndex: "logicalRowIndex", lockedColumnsCount: "lockedColumnsCount" }, host: { properties: { "class.k-filter-row": "this.filterRowClass" } }, ngImport: i0, template: `
13799
14056
  <td
13800
14057
  class="k-table-td"
@@ -13854,7 +14111,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
13854
14111
  ></td>
13855
14112
  `
13856
14113
  }]
13857
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: ColumnInfoService }]; }, propDecorators: { columns: [{
14114
+ }], ctorParameters: function () { return [{ type: ContextService }, { type: ColumnInfoService }]; }, propDecorators: { columns: [{
13858
14115
  type: Input
13859
14116
  }], filter: [{
13860
14117
  type: Input
@@ -14164,13 +14421,13 @@ const indexOf = (target, list) => {
14164
14421
  * @hidden
14165
14422
  */
14166
14423
  class ColumnHandleDirective {
14167
- constructor(draggable, element, service, zone, cdr, localization, columnInfoService) {
14424
+ constructor(draggable, element, service, zone, cdr, ctx, columnInfoService) {
14168
14425
  this.draggable = draggable;
14169
14426
  this.element = element;
14170
14427
  this.service = service;
14171
14428
  this.zone = zone;
14172
14429
  this.cdr = cdr;
14173
- this.localization = localization;
14430
+ this.ctx = ctx;
14174
14431
  this.columnInfoService = columnInfoService;
14175
14432
  this.columns = [];
14176
14433
  this.subscriptions = new Subscription();
@@ -14225,7 +14482,7 @@ class ColumnHandleDirective {
14225
14482
  .subscribe(this.sizeToFit.bind(this)));
14226
14483
  this.subscriptions.add(service.pipe(filter(e => e.type === 'triggerAutoFit'))
14227
14484
  .subscribe(this.autoFit.bind(this)));
14228
- this.subscriptions.add(this.localization.changes.subscribe(({ rtl }) => this.rtl = rtl));
14485
+ this.subscriptions.add(this.ctx.localization.changes.subscribe(({ rtl }) => this.rtl = rtl));
14229
14486
  }
14230
14487
  ngOnDestroy() {
14231
14488
  if (this.subscriptions) {
@@ -14301,7 +14558,7 @@ class ColumnHandleDirective {
14301
14558
  }
14302
14559
  }
14303
14560
  }
14304
- ColumnHandleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnHandleDirective, deps: [{ token: i1$1.DraggableDirective, host: true }, { token: i0.ElementRef }, { token: ColumnResizingService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i1.LocalizationService }, { token: ColumnInfoService }], target: i0.ɵɵFactoryTarget.Directive });
14561
+ ColumnHandleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnHandleDirective, deps: [{ token: i1$1.DraggableDirective, host: true }, { token: i0.ElementRef }, { token: ColumnResizingService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: ContextService }, { token: ColumnInfoService }], target: i0.ɵɵFactoryTarget.Directive });
14305
14562
  ColumnHandleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: ColumnHandleDirective, selector: "[kendoGridColumnHandle]", inputs: { columns: "columns", column: "column" }, host: { listeners: { "dblclick": "autoFit()" }, properties: { "style.display": "this.visible", "style.left": "this.leftStyle", "style.right": "this.rightStyle" } }, ngImport: i0 });
14306
14563
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnHandleDirective, decorators: [{
14307
14564
  type: Directive,
@@ -14310,7 +14567,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
14310
14567
  }]
14311
14568
  }], ctorParameters: function () { return [{ type: i1$1.DraggableDirective, decorators: [{
14312
14569
  type: Host
14313
- }] }, { type: i0.ElementRef }, { type: ColumnResizingService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i1.LocalizationService }, { type: ColumnInfoService }]; }, propDecorators: { columns: [{
14570
+ }] }, { type: i0.ElementRef }, { type: ColumnResizingService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: ContextService }, { type: ColumnInfoService }]; }, propDecorators: { columns: [{
14314
14571
  type: Input
14315
14572
  }], column: [{
14316
14573
  type: Input
@@ -14353,14 +14610,13 @@ const modifierKeys = ['alt', 'ctrl', 'shift', 'meta'];
14353
14610
  * @hidden
14354
14611
  */
14355
14612
  class HeaderComponent {
14356
- constructor(popupService, hint, cue, reorderService, idService, sortService, localization, columnInfoService, cd, contextService) {
14613
+ constructor(popupService, hint, cue, reorderService, idService, sortService, columnInfoService, cd, contextService) {
14357
14614
  this.popupService = popupService;
14358
14615
  this.hint = hint;
14359
14616
  this.cue = cue;
14360
14617
  this.reorderService = reorderService;
14361
14618
  this.idService = idService;
14362
14619
  this.sortService = sortService;
14363
- this.localization = localization;
14364
14620
  this.columnInfoService = columnInfoService;
14365
14621
  this.cd = cd;
14366
14622
  this.contextService = contextService;
@@ -14386,7 +14642,7 @@ class HeaderComponent {
14386
14642
  return !this.scrollable;
14387
14643
  }
14388
14644
  get sortableLabel() {
14389
- return this.localization.get('sortable');
14645
+ return this.contextService.localization.get('sortable');
14390
14646
  }
14391
14647
  get columnMenuSettings() {
14392
14648
  return this.columnMenu;
@@ -14452,7 +14708,7 @@ class HeaderComponent {
14452
14708
  args.preventDefault();
14453
14709
  const columnsCount = this.columnInfoService.leafNamedColumns.length;
14454
14710
  const reorderDirection = args.keyCode === Keys.ArrowLeft ? -1 : 1;
14455
- const rtlMultiplier = this.localization.rtl ? -1 : 1;
14711
+ const rtlMultiplier = this.contextService.localization.rtl ? -1 : 1;
14456
14712
  const reorderDirectionOffset = reorderDirection * rtlMultiplier;
14457
14713
  const newIndex = column.leafIndex + reorderDirectionOffset;
14458
14714
  const normalizedNewIndex = Math.min(Math.max(0, newIndex), columnsCount - 1);
@@ -14510,7 +14766,7 @@ class HeaderComponent {
14510
14766
  else if (state.dir === 'desc') {
14511
14767
  msg = 'sortedDescending';
14512
14768
  }
14513
- return this.localization.get(msg);
14769
+ return this.contextService.localization.get(msg);
14514
14770
  }
14515
14771
  /**
14516
14772
  *
@@ -14556,7 +14812,7 @@ class HeaderComponent {
14556
14812
  }
14557
14813
  }
14558
14814
  ngOnInit() {
14559
- this.subscription.add(this.localization.changes
14815
+ this.subscription.add(this.contextService.localization.changes
14560
14816
  .subscribe(() => this.cd.markForCheck()));
14561
14817
  }
14562
14818
  ngOnDestroy() {
@@ -14572,7 +14828,7 @@ class HeaderComponent {
14572
14828
  return this.idService.selectAllCheckboxId();
14573
14829
  }
14574
14830
  get selectAllCheckboxLabel() {
14575
- return this.localization.get('selectAllCheckboxLabel');
14831
+ return this.contextService.localization.get('selectAllCheckboxLabel');
14576
14832
  }
14577
14833
  isFirstOnRow(column, index) {
14578
14834
  const isTailing = (c) => c &&
@@ -14710,7 +14966,7 @@ class HeaderComponent {
14710
14966
  const halfWidth = targetElement.offsetWidth / 2;
14711
14967
  const middle = left + halfWidth;
14712
14968
  before = middle > mouseEvent.pageX;
14713
- if (this.localization.rtl) {
14969
+ if (this.contextService.localization.rtl) {
14714
14970
  before = !before;
14715
14971
  }
14716
14972
  }
@@ -14721,7 +14977,7 @@ class HeaderComponent {
14721
14977
  }
14722
14978
  enter({ target, before }) {
14723
14979
  this.hint.enable();
14724
- if (this.localization.rtl) {
14980
+ if (this.contextService.localization.rtl) {
14725
14981
  before = !before;
14726
14982
  }
14727
14983
  this.cue.position(position(target.element.nativeElement, before));
@@ -14739,7 +14995,7 @@ class HeaderComponent {
14739
14995
  });
14740
14996
  }
14741
14997
  }
14742
- HeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: HeaderComponent, deps: [{ token: SinglePopupService }, { token: DragHintService }, { token: DropCueService }, { token: ColumnReorderService }, { token: IdService }, { token: SortService }, { token: i1.LocalizationService }, { token: ColumnInfoService }, { token: i0.ChangeDetectorRef }, { token: ContextService }], target: i0.ɵɵFactoryTarget.Component });
14998
+ HeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: HeaderComponent, deps: [{ token: SinglePopupService }, { token: DragHintService }, { token: DropCueService }, { token: ColumnReorderService }, { token: IdService }, { token: SortService }, { token: ColumnInfoService }, { token: i0.ChangeDetectorRef }, { token: ContextService }], target: i0.ɵɵFactoryTarget.Component });
14743
14999
  HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: HeaderComponent, selector: "[kendoGridHeader]", inputs: { totalColumnLevels: "totalColumnLevels", columns: "columns", groups: "groups", detailTemplate: "detailTemplate", scrollable: "scrollable", filterable: "filterable", sort: "sort", filter: "filter", sortable: "sortable", groupable: "groupable", lockedColumnsCount: "lockedColumnsCount", resizable: "resizable", reorderable: "reorderable", columnMenu: "columnMenu", columnMenuTemplate: "columnMenuTemplate", totalColumnsCount: "totalColumnsCount", tabIndex: "tabIndex", size: "size" }, host: { properties: { "class.k-grid-header": "this.headerClass", "class.k-table-thead": "this.hostClass" } }, viewQueries: [{ propertyName: "dropTargets", predicate: DropTargetDirective, descendants: true }, { propertyName: "filterMenus", predicate: FilterMenuComponent, descendants: true }, { propertyName: "columnMenus", predicate: ColumnMenuComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
14744
15000
  <ng-container>
14745
15001
  <tr *ngFor="let i of columnLevels; let levelIndex = index"
@@ -14965,7 +15221,7 @@ HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versio
14965
15221
  [logicalSlaveCellsCount]="unlockedColumnsCount"
14966
15222
  ></tr>
14967
15223
  </ng-container>
14968
- `, 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"] }] });
15224
+ `, 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"] }] });
14969
15225
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: HeaderComponent, decorators: [{
14970
15226
  type: Component,
14971
15227
  args: [{
@@ -15197,7 +15453,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
15197
15453
  </ng-container>
15198
15454
  `
15199
15455
  }]
15200
- }], ctorParameters: function () { return [{ type: SinglePopupService }, { type: DragHintService }, { type: DropCueService }, { type: ColumnReorderService }, { type: IdService }, { type: SortService }, { type: i1.LocalizationService }, { type: ColumnInfoService }, { type: i0.ChangeDetectorRef }, { type: ContextService }]; }, propDecorators: { totalColumnLevels: [{
15456
+ }], ctorParameters: function () { return [{ type: SinglePopupService }, { type: DragHintService }, { type: DropCueService }, { type: ColumnReorderService }, { type: IdService }, { type: SortService }, { type: ColumnInfoService }, { type: i0.ChangeDetectorRef }, { type: ContextService }]; }, propDecorators: { totalColumnLevels: [{
15201
15457
  type: Input
15202
15458
  }], columns: [{
15203
15459
  type: Input
@@ -15614,10 +15870,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
15614
15870
  * @hidden
15615
15871
  */
15616
15872
  class CellComponent {
15617
- constructor(editService, idService, localizationService, cellContext) {
15873
+ constructor(editService, idService, ctx, cellContext) {
15618
15874
  this.editService = editService;
15619
15875
  this.idService = idService;
15620
- this.localizationService = localizationService;
15876
+ this.ctx = ctx;
15621
15877
  this.cellContext = cellContext;
15622
15878
  this.isNew = false;
15623
15879
  this.isLoading = false;
@@ -15633,7 +15889,7 @@ class CellComponent {
15633
15889
  return isRowReorderColumn(this.column);
15634
15890
  }
15635
15891
  get dragRowHandleLabel() {
15636
- return isRowReorderColumn(this.column) ? this.localizationService.get('dragRowHandleLabel') : undefined;
15892
+ return isRowReorderColumn(this.column) ? this.ctx.localization.get('dragRowHandleLabel') : undefined;
15637
15893
  }
15638
15894
  set rowIndex(index) {
15639
15895
  this._rowIndex = index;
@@ -15683,7 +15939,7 @@ class CellComponent {
15683
15939
  return this.idService.selectionCheckboxId(this.rowIndex);
15684
15940
  }
15685
15941
  get selectionCheckboxLabel() {
15686
- return this.localizationService.get('selectionCheckboxLabel');
15942
+ return this.ctx.localization.get('selectionCheckboxLabel');
15687
15943
  }
15688
15944
  get isSpanColumn() {
15689
15945
  return isSpanColumn(this.column) && !this.column.templateRef;
@@ -15739,7 +15995,7 @@ class CellComponent {
15739
15995
  context.$implicit = this.dataItem;
15740
15996
  }
15741
15997
  }
15742
- CellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CellComponent, deps: [{ token: EditService }, { token: IdService }, { token: i1.LocalizationService }, { token: CELL_CONTEXT, optional: true }], target: i0.ɵɵFactoryTarget.Component });
15998
+ CellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CellComponent, deps: [{ token: EditService }, { token: IdService }, { token: ContextService }, { token: CELL_CONTEXT, optional: true }], target: i0.ɵɵFactoryTarget.Component });
15743
15999
  CellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: CellComponent, selector: "[kendoGridCell]", inputs: { column: "column", columnIndex: "columnIndex", isNew: "isNew", isLoading: "isLoading", isVirtual: "isVirtual", loadingTemplate: "loadingTemplate", rowIndex: "rowIndex", dataItem: "dataItem" }, host: { properties: { "class.k-command-cell": "this.commandCellClass", "class.k-drag-cell": "this.dragHandleCellClass", "class.k-touch-action-none": "this.dragHandleCellClass", "attr.aria-label": "this.dragRowHandleLabel" } }, usesOnChanges: true, ngImport: i0, template: `
15744
16000
  <ng-container [ngSwitch]="isEdited">
15745
16001
  <ng-container *ngSwitchCase="false">
@@ -15816,7 +16072,7 @@ CellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
15816
16072
  </ng-container>
15817
16073
  </ng-container>
15818
16074
  </ng-container>
15819
- `, 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 } });
16075
+ `, 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 } });
15820
16076
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CellComponent, decorators: [{
15821
16077
  type: Component,
15822
16078
  args: [{
@@ -15899,7 +16155,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
15899
16155
  </ng-container>
15900
16156
  `
15901
16157
  }]
15902
- }], ctorParameters: function () { return [{ type: EditService }, { type: IdService }, { type: i1.LocalizationService }, { type: undefined, decorators: [{
16158
+ }], ctorParameters: function () { return [{ type: EditService }, { type: IdService }, { type: ContextService }, { type: undefined, decorators: [{
15903
16159
  type: Optional
15904
16160
  }, {
15905
16161
  type: Inject,
@@ -15938,19 +16194,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
15938
16194
  * @hidden
15939
16195
  */
15940
16196
  class GroupHeaderComponent {
15941
- constructor(groupsService, groupInfoService, localization) {
16197
+ constructor(groupsService, groupInfoService, ctx) {
15942
16198
  this.groupsService = groupsService;
15943
16199
  this.groupInfoService = groupInfoService;
15944
- this.localization = localization;
16200
+ this.ctx = ctx;
15945
16201
  this.skipGroupDecoration = false;
15946
16202
  this.hasDetails = false;
15947
16203
  this.totalColumnsCount = 0;
15948
16204
  this.groups = [];
16205
+ this.groupItemClass = true;
16206
+ this.tableGroupRowClass = true;
15949
16207
  this.isExpanded = false;
15950
16208
  this.caretAltDownIcon = caretAltDownIcon;
15951
16209
  this.caretAltRightIcon = caretAltRightIcon;
15952
- this.groupItemClass = true;
15953
- this.tableGroupRowClass = true;
16210
+ this.caretAltLeftIcon = caretAltLeftIcon;
15954
16211
  }
15955
16212
  ngDoCheck() {
15956
16213
  const groupArgs = {
@@ -15999,10 +16256,26 @@ class GroupHeaderComponent {
15999
16256
  }
16000
16257
  get groupButtonTitle() {
16001
16258
  const messageKey = this.isExpanded ? 'groupCollapse' : 'groupExpand';
16002
- return this.localization.get(messageKey);
16259
+ return this.ctx.localization.get(messageKey);
16260
+ }
16261
+ get arrowIcon() {
16262
+ const icon = !this.isExpanded ?
16263
+ !this.ctx.localization.rtl ?
16264
+ 'caret-alt-right' :
16265
+ 'caret-alt-left' :
16266
+ 'caret-alt-down';
16267
+ return icon;
16268
+ }
16269
+ get arrowSVGIcon() {
16270
+ const icon = !this.isExpanded ?
16271
+ !this.ctx.localization.rtl ?
16272
+ this.caretAltRightIcon :
16273
+ this.caretAltLeftIcon :
16274
+ this.caretAltDownIcon;
16275
+ return icon;
16003
16276
  }
16004
16277
  }
16005
- GroupHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GroupHeaderComponent, deps: [{ token: GroupsService }, { token: GroupInfoService }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
16278
+ 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 });
16006
16279
  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: `
16007
16280
  <ng-container *ngIf="!skipGroupDecoration">
16008
16281
  <td class="k-group-cell k-table-td"
@@ -16027,8 +16300,8 @@ GroupHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
16027
16300
  [attr.title]="groupButtonTitle"
16028
16301
  [attr.aria-label]="groupButtonTitle">
16029
16302
  <kendo-icon-wrapper
16030
- [name]="isExpanded ? 'caret-alt-down' : 'caret-alt-right'"
16031
- [svgIcon]="isExpanded ? caretAltDownIcon : caretAltRightIcon"></kendo-icon-wrapper>
16303
+ [name]="arrowIcon"
16304
+ [svgIcon]="arrowSVGIcon"></kendo-icon-wrapper>
16032
16305
  </a>
16033
16306
  <ng-container *ngIf="!groupHeaderTemplate(item)">
16034
16307
  {{groupTitle(item)}}: {{item.data | valueOf:"value": formatForGroup(item)}}
@@ -16072,7 +16345,7 @@ GroupHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
16072
16345
  </ng-template>
16073
16346
  </td>
16074
16347
  </ng-container>
16075
- `, 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 } });
16348
+ `, 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 } });
16076
16349
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GroupHeaderComponent, decorators: [{
16077
16350
  type: Component,
16078
16351
  args: [{
@@ -16101,8 +16374,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
16101
16374
  [attr.title]="groupButtonTitle"
16102
16375
  [attr.aria-label]="groupButtonTitle">
16103
16376
  <kendo-icon-wrapper
16104
- [name]="isExpanded ? 'caret-alt-down' : 'caret-alt-right'"
16105
- [svgIcon]="isExpanded ? caretAltDownIcon : caretAltRightIcon"></kendo-icon-wrapper>
16377
+ [name]="arrowIcon"
16378
+ [svgIcon]="arrowSVGIcon"></kendo-icon-wrapper>
16106
16379
  </a>
16107
16380
  <ng-container *ngIf="!groupHeaderTemplate(item)">
16108
16381
  {{groupTitle(item)}}: {{item.data | valueOf:"value": formatForGroup(item)}}
@@ -16148,7 +16421,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
16148
16421
  </ng-container>
16149
16422
  `
16150
16423
  }]
16151
- }], ctorParameters: function () { return [{ type: GroupsService }, { type: GroupInfoService }, { type: i1.LocalizationService }]; }, propDecorators: { rowIndex: [{
16424
+ }], ctorParameters: function () { return [{ type: GroupsService }, { type: GroupInfoService }, { type: ContextService }]; }, propDecorators: { rowIndex: [{
16152
16425
  type: Input
16153
16426
  }], logicalRowIndex: [{
16154
16427
  type: Input
@@ -16191,12 +16464,12 @@ const columnCellIndex = (cell, cells) => {
16191
16464
  * @hidden
16192
16465
  */
16193
16466
  class TableBodyComponent {
16194
- constructor(detailsService, groupsService, changeNotification, editService, localization, ngZone, renderer, element, domEvents, selectionService, cellSelectionService, columnInfoService, navigationService) {
16467
+ constructor(detailsService, groupsService, changeNotification, editService, ctx, ngZone, renderer, element, domEvents, selectionService, cellSelectionService, columnInfoService, navigationService) {
16195
16468
  this.detailsService = detailsService;
16196
16469
  this.groupsService = groupsService;
16197
16470
  this.changeNotification = changeNotification;
16198
16471
  this.editService = editService;
16199
- this.localization = localization;
16472
+ this.ctx = ctx;
16200
16473
  this.ngZone = ngZone;
16201
16474
  this.renderer = renderer;
16202
16475
  this.element = element;
@@ -16208,7 +16481,7 @@ class TableBodyComponent {
16208
16481
  this.columns = [];
16209
16482
  this.groups = [];
16210
16483
  this.skip = 0;
16211
- this.noRecordsText = this.localization.get('noRecords');
16484
+ this.noRecordsText = this.ctx.localization.get('noRecords');
16212
16485
  this.isLocked = false;
16213
16486
  this.skipGroupDecoration = false;
16214
16487
  this.showGroupFooters = false;
@@ -16251,7 +16524,7 @@ class TableBodyComponent {
16251
16524
  }
16252
16525
  detailButtonTitle(viewItem) {
16253
16526
  const messageKey = this.isExpanded(viewItem) ? 'detailCollapse' : 'detailExpand';
16254
- return this.localization.get(messageKey);
16527
+ return this.ctx.localization.get(messageKey);
16255
16528
  }
16256
16529
  isGroup(item) {
16257
16530
  return item.type === 'group';
@@ -16360,10 +16633,10 @@ class TableBodyComponent {
16360
16633
  touchendSubscription();
16361
16634
  };
16362
16635
  });
16363
- let originalNoRecordText = this.localization.get('noRecords');
16364
- this.l10nSubscription = this.localization.changes.subscribe(() => {
16636
+ let originalNoRecordText = this.ctx.localization.get('noRecords');
16637
+ this.l10nSubscription = this.ctx.localization.changes.subscribe(() => {
16365
16638
  if (this.noRecordsText === originalNoRecordText) {
16366
- this.noRecordsText = this.localization.get('noRecords');
16639
+ this.noRecordsText = this.ctx.localization.get('noRecords');
16367
16640
  originalNoRecordText = this.noRecordsText;
16368
16641
  }
16369
16642
  });
@@ -16521,7 +16794,7 @@ class TableBodyComponent {
16521
16794
  }
16522
16795
  }
16523
16796
  }
16524
- TableBodyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TableBodyComponent, deps: [{ token: DetailsService }, { token: GroupsService }, { token: ChangeNotificationService }, { token: EditService }, { token: i1.LocalizationService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: DomEventsService }, { token: SelectionService }, { token: CellSelectionService }, { token: ColumnInfoService }, { token: NavigationService }], target: i0.ɵɵFactoryTarget.Component });
16797
+ TableBodyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TableBodyComponent, deps: [{ token: DetailsService }, { token: GroupsService }, { token: ChangeNotificationService }, { token: EditService }, { token: ContextService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: DomEventsService }, { token: SelectionService }, { token: CellSelectionService }, { token: ColumnInfoService }, { token: NavigationService }], target: i0.ɵɵFactoryTarget.Component });
16525
16798
  TableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: TableBodyComponent, selector: "[kendoGridTableBody]", inputs: { columns: "columns", allColumns: "allColumns", groups: "groups", detailTemplate: "detailTemplate", noRecordsTemplate: "noRecordsTemplate", data: "data", skip: "skip", selectable: "selectable", filterable: "filterable", noRecordsText: "noRecordsText", isLocked: "isLocked", isLoading: "isLoading", isVirtual: "isVirtual", cellLoadingTemplate: "cellLoadingTemplate", skipGroupDecoration: "skipGroupDecoration", showGroupFooters: "showGroupFooters", lockedColumnsCount: "lockedColumnsCount", totalColumnsCount: "totalColumnsCount", virtualColumns: "virtualColumns", trackBy: "trackBy", rowSticky: "rowSticky", rowClass: "rowClass" }, host: { properties: { "class.k-table-tbody": "this.hostClass" } }, usesOnChanges: true, ngImport: i0, template: `
16526
16799
  <ng-container *ngIf="editService.hasNewItem">
16527
16800
  <tr class="k-grid-add-row k-grid-edit-row k-master-row"
@@ -16743,7 +17016,7 @@ TableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
16743
17016
  </tr>
16744
17017
  </ng-container>
16745
17018
  <kendo-resize-sensor *ngIf="rowSticky" (resize)="resizeHandler()"></kendo-resize-sensor>
16746
- `, 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"] }] });
17019
+ `, 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"] }] });
16747
17020
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TableBodyComponent, decorators: [{
16748
17021
  type: Component,
16749
17022
  args: [{
@@ -16971,7 +17244,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
16971
17244
  <kendo-resize-sensor *ngIf="rowSticky" (resize)="resizeHandler()"></kendo-resize-sensor>
16972
17245
  `
16973
17246
  }]
16974
- }], ctorParameters: function () { return [{ type: DetailsService }, { type: GroupsService }, { type: ChangeNotificationService }, { type: EditService }, { type: i1.LocalizationService }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: DomEventsService }, { type: SelectionService }, { type: CellSelectionService }, { type: ColumnInfoService }, { type: NavigationService }]; }, propDecorators: { columns: [{
17247
+ }], ctorParameters: function () { return [{ type: DetailsService }, { type: GroupsService }, { type: ChangeNotificationService }, { type: EditService }, { type: ContextService }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: DomEventsService }, { type: SelectionService }, { type: CellSelectionService }, { type: ColumnInfoService }, { type: NavigationService }]; }, propDecorators: { columns: [{
16975
17248
  type: Input
16976
17249
  }], allColumns: [{
16977
17250
  type: Input
@@ -17294,7 +17567,7 @@ const bufferSize = 1;
17294
17567
  * @hidden
17295
17568
  */
17296
17569
  class ListComponent {
17297
- constructor(scrollerFactory, detailsService, changeNotification, suspendService, groupsService, ngZone, renderer, scrollSyncService, resizeService, editService, supportService, navigationService, scrollRequestService, localization, columnResizingService, changeDetector, pdfService, columnInfo) {
17570
+ constructor(scrollerFactory, detailsService, changeNotification, suspendService, groupsService, ngZone, renderer, scrollSyncService, resizeService, editService, supportService, navigationService, scrollRequestService, ctx, columnResizingService, changeDetector, pdfService, columnInfo) {
17298
17571
  this.changeNotification = changeNotification;
17299
17572
  this.suspendService = suspendService;
17300
17573
  this.groupsService = groupsService;
@@ -17305,7 +17578,7 @@ class ListComponent {
17305
17578
  this.editService = editService;
17306
17579
  this.supportService = supportService;
17307
17580
  this.navigationService = navigationService;
17308
- this.localization = localization;
17581
+ this.ctx = ctx;
17309
17582
  this.columnResizingService = columnResizingService;
17310
17583
  this.changeDetector = changeDetector;
17311
17584
  this.pdfService = pdfService;
@@ -17381,7 +17654,7 @@ class ListComponent {
17381
17654
  });
17382
17655
  }
17383
17656
  }));
17384
- this.subscriptions.add(this.localization.changes.subscribe(({ rtl }) => this.rtl = rtl));
17657
+ this.subscriptions.add(this.ctx.localization.changes.subscribe(({ rtl }) => this.rtl = rtl));
17385
17658
  }
17386
17659
  ngOnChanges(changes) {
17387
17660
  if (!isDocumentAvailable()) {
@@ -17776,7 +18049,7 @@ class ListComponent {
17776
18049
  return element.offsetLeft;
17777
18050
  }
17778
18051
  }
17779
- ListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ListComponent, deps: [{ token: SCROLLER_FACTORY_TOKEN }, { token: DetailsService }, { token: ChangeNotificationService }, { token: SuspendService }, { token: GroupsService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: ScrollSyncService }, { token: ResizeService }, { token: EditService }, { token: BrowserSupportService }, { token: NavigationService }, { token: ScrollRequestService }, { token: i1.LocalizationService }, { token: ColumnResizingService }, { token: i0.ChangeDetectorRef }, { token: PDFService }, { token: ColumnInfoService }], target: i0.ɵɵFactoryTarget.Component });
18052
+ ListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ListComponent, deps: [{ token: SCROLLER_FACTORY_TOKEN }, { token: DetailsService }, { token: ChangeNotificationService }, { token: SuspendService }, { token: GroupsService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: ScrollSyncService }, { token: ResizeService }, { token: EditService }, { token: BrowserSupportService }, { token: NavigationService }, { token: ScrollRequestService }, { token: ContextService }, { token: ColumnResizingService }, { token: i0.ChangeDetectorRef }, { token: PDFService }, { token: ColumnInfoService }], target: i0.ɵɵFactoryTarget.Component });
17780
18053
  ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ListComponent, selector: "kendo-grid-list", inputs: { data: "data", groups: "groups", total: "total", rowHeight: "rowHeight", stickyRowHeight: "stickyRowHeight", detailRowHeight: "detailRowHeight", take: "take", skip: "skip", columns: "columns", detailTemplate: "detailTemplate", noRecordsTemplate: "noRecordsTemplate", selectable: "selectable", groupable: "groupable", filterable: "filterable", rowClass: "rowClass", rowSticky: "rowSticky", loading: "loading", trackBy: "trackBy", virtualColumns: "virtualColumns", isVirtual: "isVirtual", cellLoadingTemplate: "cellLoadingTemplate", loadingTemplate: "loadingTemplate", sort: "sort", size: "size" }, outputs: { contentScroll: "contentScroll", pageChange: "pageChange", scrollBottom: "scrollBottom" }, host: { properties: { "class.k-grid-container": "this.hostClass", "attr.role": "this.hostRole" } }, providers: [
17781
18054
  {
17782
18055
  provide: SCROLLER_FACTORY_TOKEN,
@@ -18014,7 +18287,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
18014
18287
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
18015
18288
  type: Inject,
18016
18289
  args: [SCROLLER_FACTORY_TOKEN]
18017
- }] }, { type: DetailsService }, { type: ChangeNotificationService }, { type: SuspendService }, { type: GroupsService }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: ScrollSyncService }, { type: ResizeService }, { type: EditService }, { type: BrowserSupportService }, { type: NavigationService }, { type: ScrollRequestService }, { type: i1.LocalizationService }, { type: ColumnResizingService }, { type: i0.ChangeDetectorRef }, { type: PDFService }, { type: ColumnInfoService }]; }, propDecorators: { hostClass: [{
18290
+ }] }, { type: DetailsService }, { type: ChangeNotificationService }, { type: SuspendService }, { type: GroupsService }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: ScrollSyncService }, { type: ResizeService }, { type: EditService }, { type: BrowserSupportService }, { type: NavigationService }, { type: ScrollRequestService }, { type: ContextService }, { type: ColumnResizingService }, { type: i0.ChangeDetectorRef }, { type: PDFService }, { type: ColumnInfoService }]; }, propDecorators: { hostClass: [{
18018
18291
  type: HostBinding,
18019
18292
  args: ['class.k-grid-container']
18020
18293
  }], hostRole: [{
@@ -18241,15 +18514,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
18241
18514
  * @hidden
18242
18515
  */
18243
18516
  class LoadingComponent {
18244
- constructor(localization) {
18245
- this.localization = localization;
18517
+ constructor(ctx) {
18518
+ this.ctx = ctx;
18246
18519
  this.hostClass = true;
18247
18520
  }
18248
18521
  get loadingText() {
18249
- return this.localization.get('loading');
18522
+ return this.ctx.localization.get('loading');
18250
18523
  }
18251
18524
  }
18252
- LoadingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: LoadingComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
18525
+ LoadingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: LoadingComponent, deps: [{ token: ContextService }], target: i0.ɵɵFactoryTarget.Component });
18253
18526
  LoadingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: LoadingComponent, selector: "[kendoGridLoading]", inputs: { loadingTemplate: "loadingTemplate" }, host: { properties: { "class.k-loading-mask": "this.hostClass" } }, ngImport: i0, template: `
18254
18527
  <ng-container *ngIf="!loadingTemplate">
18255
18528
  <span class="k-loading-text">{{ loadingText }}</span>
@@ -18273,7 +18546,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
18273
18546
  </ng-template>
18274
18547
  `
18275
18548
  }]
18276
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }]; }, propDecorators: { hostClass: [{
18549
+ }], ctorParameters: function () { return [{ type: ContextService }]; }, propDecorators: { hostClass: [{
18277
18550
  type: HostBinding,
18278
18551
  args: ['class.k-loading-mask']
18279
18552
  }], loadingTemplate: [{
@@ -18286,7 +18559,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
18286
18559
  class GridMessages extends ComponentMessages {
18287
18560
  }
18288
18561
  GridMessages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GridMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
18289
- 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" }, usesInheritance: true, ngImport: i0 });
18562
+ 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 });
18290
18563
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GridMessages, decorators: [{
18291
18564
  type: Directive,
18292
18565
  args: [{
@@ -18445,6 +18718,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
18445
18718
  type: Input
18446
18719
  }], dragRowHandleLabel: [{
18447
18720
  type: Input
18721
+ }], columnMenuFilterTabTitle: [{
18722
+ type: Input
18723
+ }], columnMenuGeneralTabTitle: [{
18724
+ type: Input
18725
+ }], columnMenuColumnsTabTitle: [{
18726
+ type: Input
18448
18727
  }] } });
18449
18728
 
18450
18729
  /**
@@ -20590,6 +20869,15 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
20590
20869
 
20591
20870
  i18n-dragRowHandleLabel="kendo.grid.dragRowHandleLabel|The label for the Grid drag row handle"
20592
20871
  dragRowHandleLabel="Drag row"
20872
+
20873
+ i18n-columnMenuFilterTabTitle="kendo.grid.columnMenuFilterTabTitle|The title for the column menu Filter tab"
20874
+ columnMenuFilterTabTitle="Filter"
20875
+
20876
+ i18n-columnMenuGeneralTabTitle="kendo.grid.columnMenuGeneralTabTitle|The title for the column menu General tab"
20877
+ columnMenuGeneralTabTitle="General"
20878
+
20879
+ i18n-columnMenuColumnsTabTitle="kendo.grid.columnMenuColumnsTabTitle|The title for the column menu Columns tab"
20880
+ columnMenuColumnsTabTitle="Columns"
20593
20881
  >
20594
20882
  </ng-container>
20595
20883
  <kendo-grid-toolbar
@@ -20726,13 +21014,13 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
20726
21014
  [dropTargetFilter]="getDefaultSelectors('dropTarget')"
20727
21015
  [dragHandle]="getDefaultSelectors('handle')"
20728
21016
  [hint]="{hintTemplate: defaultHint}"
20729
- (press)="handleReorderEvents($event, 'press')"
20730
- (dragStart)="handleReorderEvents($event, 'dragStart')"
20731
- (drag)="handleReorderEvents($event, 'drag')"
20732
- (dragEnter)="handleReorderEvents($event, 'dragEnter')"
20733
- (dragLeave)="handleReorderEvents($event, 'dragLeave')"
20734
- (dragEnd)="handleReorderEvents($event, 'dragEnd')"
20735
- (drop)="handleReorderEvents($event, 'drop')"
21017
+ (onPress)="handleReorderEvents($event, 'press')"
21018
+ (onDragStart)="handleReorderEvents($event, 'dragStart')"
21019
+ (onDrag)="handleReorderEvents($event, 'drag')"
21020
+ (onDragEnter)="handleReorderEvents($event, 'dragEnter')"
21021
+ (onDragLeave)="handleReorderEvents($event, 'dragLeave')"
21022
+ (onDragEnd)="handleReorderEvents($event, 'dragEnd')"
21023
+ (onDrop)="handleReorderEvents($event, 'drop')"
20736
21024
  [dragData]="gridData"
20737
21025
  [data]="$any(view)"
20738
21026
  [rowHeight]="rowHeight"
@@ -20910,7 +21198,7 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
20910
21198
  </kendo-icon-wrapper>
20911
21199
  {{hintText}}
20912
21200
  </ng-template>
20913
- `, 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 });
21201
+ `, 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", "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: i40.DragTargetContainerDirective, selector: "[kendoDragTargetContainer]", inputs: ["hint", "dragTargetFilter", "dragHandle", "dragDelay", "threshold", "dragTargetId", "dragData", "dragDisabled", "mode"], outputs: ["onDragReady", "onPress", "onDragStart", "onDrag", "onRelease", "onDragEnd"], exportAs: ["kendoDragTargetContainer"] }, { type: i40.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 });
20914
21202
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GridComponent, decorators: [{
20915
21203
  type: Component,
20916
21204
  args: [{
@@ -21190,6 +21478,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
21190
21478
 
21191
21479
  i18n-dragRowHandleLabel="kendo.grid.dragRowHandleLabel|The label for the Grid drag row handle"
21192
21480
  dragRowHandleLabel="Drag row"
21481
+
21482
+ i18n-columnMenuFilterTabTitle="kendo.grid.columnMenuFilterTabTitle|The title for the column menu Filter tab"
21483
+ columnMenuFilterTabTitle="Filter"
21484
+
21485
+ i18n-columnMenuGeneralTabTitle="kendo.grid.columnMenuGeneralTabTitle|The title for the column menu General tab"
21486
+ columnMenuGeneralTabTitle="General"
21487
+
21488
+ i18n-columnMenuColumnsTabTitle="kendo.grid.columnMenuColumnsTabTitle|The title for the column menu Columns tab"
21489
+ columnMenuColumnsTabTitle="Columns"
21193
21490
  >
21194
21491
  </ng-container>
21195
21492
  <kendo-grid-toolbar
@@ -21326,13 +21623,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
21326
21623
  [dropTargetFilter]="getDefaultSelectors('dropTarget')"
21327
21624
  [dragHandle]="getDefaultSelectors('handle')"
21328
21625
  [hint]="{hintTemplate: defaultHint}"
21329
- (press)="handleReorderEvents($event, 'press')"
21330
- (dragStart)="handleReorderEvents($event, 'dragStart')"
21331
- (drag)="handleReorderEvents($event, 'drag')"
21332
- (dragEnter)="handleReorderEvents($event, 'dragEnter')"
21333
- (dragLeave)="handleReorderEvents($event, 'dragLeave')"
21334
- (dragEnd)="handleReorderEvents($event, 'dragEnd')"
21335
- (drop)="handleReorderEvents($event, 'drop')"
21626
+ (onPress)="handleReorderEvents($event, 'press')"
21627
+ (onDragStart)="handleReorderEvents($event, 'dragStart')"
21628
+ (onDrag)="handleReorderEvents($event, 'drag')"
21629
+ (onDragEnter)="handleReorderEvents($event, 'dragEnter')"
21630
+ (onDragLeave)="handleReorderEvents($event, 'dragLeave')"
21631
+ (onDragEnd)="handleReorderEvents($event, 'dragEnd')"
21632
+ (onDrop)="handleReorderEvents($event, 'drop')"
21336
21633
  [dragData]="gridData"
21337
21634
  [data]="$any(view)"
21338
21635
  [rowHeight]="rowHeight"
@@ -22187,12 +22484,12 @@ const stringOperators = localizeOperators({
22187
22484
  * @hidden
22188
22485
  */
22189
22486
  class AutoCompleteFilterCellComponent extends BaseFilterCellComponent {
22190
- constructor(filterService, column, localization, sizingOptionsService) {
22487
+ constructor(filterService, column, ctx, sizingOptionsService) {
22191
22488
  super(filterService);
22192
- this.localization = localization;
22489
+ this.ctx = ctx;
22193
22490
  this.showOperators = true;
22194
22491
  this.size = 'medium';
22195
- this.defaultOperators = stringOperators(this.localization);
22492
+ this.defaultOperators = stringOperators(this.ctx.localization);
22196
22493
  this.column = column;
22197
22494
  this.subs = sizingOptionsService.changes.subscribe(size => this.size = size);
22198
22495
  }
@@ -22214,7 +22511,7 @@ class AutoCompleteFilterCellComponent extends BaseFilterCellComponent {
22214
22511
  }
22215
22512
  }
22216
22513
  }
22217
- AutoCompleteFilterCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AutoCompleteFilterCellComponent, deps: [{ token: FilterService }, { token: ColumnComponent }, { token: i1.LocalizationService }, { token: SizingOptionsService }], target: i0.ɵɵFactoryTarget.Component });
22514
+ AutoCompleteFilterCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AutoCompleteFilterCellComponent, deps: [{ token: FilterService }, { token: ColumnComponent }, { token: ContextService }, { token: SizingOptionsService }], target: i0.ɵɵFactoryTarget.Component });
22218
22515
  AutoCompleteFilterCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: AutoCompleteFilterCellComponent, selector: "kendo-grid-autocomplete-filter-cell", inputs: { showOperators: "showOperators", column: "column", filter: "filter", data: "data", valueField: "valueField" }, usesInheritance: true, ngImport: i0, template: `
22219
22516
  <kendo-grid-filter-wrapper-cell
22220
22517
  [column]="column"
@@ -22250,7 +22547,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
22250
22547
  </kendo-grid-filter-wrapper-cell>
22251
22548
  `
22252
22549
  }]
22253
- }], ctorParameters: function () { return [{ type: FilterService }, { type: ColumnComponent }, { type: i1.LocalizationService }, { type: SizingOptionsService }]; }, propDecorators: { showOperators: [{
22550
+ }], ctorParameters: function () { return [{ type: FilterService }, { type: ColumnComponent }, { type: ContextService }, { type: SizingOptionsService }]; }, propDecorators: { showOperators: [{
22254
22551
  type: Input
22255
22552
  }], column: [{
22256
22553
  type: Input
@@ -22340,9 +22637,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
22340
22637
  * For more information and examples, refer to the article on setting [default filter operators](slug:filter_row#toc-default-filter-operator).
22341
22638
  */
22342
22639
  class ContainsFilterOperatorComponent extends FilterOperatorBase {
22343
- constructor(localization) { super("contains", localization); }
22640
+ constructor(ctx) { super("contains", ctx); }
22344
22641
  }
22345
- ContainsFilterOperatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ContainsFilterOperatorComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
22642
+ ContainsFilterOperatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ContainsFilterOperatorComponent, deps: [{ token: ContextService }], target: i0.ɵɵFactoryTarget.Component });
22346
22643
  ContainsFilterOperatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ContainsFilterOperatorComponent, selector: "kendo-filter-contains-operator", providers: [
22347
22644
  {
22348
22645
  provide: FilterOperatorBase,
@@ -22361,7 +22658,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
22361
22658
  selector: 'kendo-filter-contains-operator',
22362
22659
  template: ``
22363
22660
  }]
22364
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }]; } });
22661
+ }], ctorParameters: function () { return [{ type: ContextService }]; } });
22365
22662
 
22366
22663
  /**
22367
22664
  * Represents the `DoesNotContain` (**Does not contain**) filter operator. [See example](slug:filtering_grid#toc-using-the-built-in-directive).
@@ -22369,9 +22666,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
22369
22666
  * For more information and examples, refer to the article on setting [default filter operators](slug:filter_row#toc-default-filter-operator).
22370
22667
  */
22371
22668
  class DoesNotContainFilterOperatorComponent extends FilterOperatorBase {
22372
- constructor(localization) { super("doesnotcontain", localization); }
22669
+ constructor(ctx) { super("doesnotcontain", ctx); }
22373
22670
  }
22374
- DoesNotContainFilterOperatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DoesNotContainFilterOperatorComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
22671
+ DoesNotContainFilterOperatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DoesNotContainFilterOperatorComponent, deps: [{ token: ContextService }], target: i0.ɵɵFactoryTarget.Component });
22375
22672
  DoesNotContainFilterOperatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: DoesNotContainFilterOperatorComponent, selector: "kendo-filter-not-contains-operator", providers: [
22376
22673
  {
22377
22674
  provide: FilterOperatorBase,
@@ -22390,7 +22687,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
22390
22687
  selector: 'kendo-filter-not-contains-operator',
22391
22688
  template: ``
22392
22689
  }]
22393
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }]; } });
22690
+ }], ctorParameters: function () { return [{ type: ContextService }]; } });
22394
22691
 
22395
22692
  /**
22396
22693
  * Represents the `EndsWith` (**Ends with**) string filter operator. [See example](slug:filtering_grid#toc-using-the-built-in-directive).
@@ -22398,9 +22695,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
22398
22695
  * For more information and examples, refer to the article on setting [default filter operators](slug:filter_row#toc-default-filter-operator).
22399
22696
  */
22400
22697
  class EndsWithFilterOperatorComponent extends FilterOperatorBase {
22401
- constructor(localization) { super("endswith", localization); }
22698
+ constructor(ctx) { super("endswith", ctx); }
22402
22699
  }
22403
- EndsWithFilterOperatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: EndsWithFilterOperatorComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
22700
+ EndsWithFilterOperatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: EndsWithFilterOperatorComponent, deps: [{ token: ContextService }], target: i0.ɵɵFactoryTarget.Component });
22404
22701
  EndsWithFilterOperatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: EndsWithFilterOperatorComponent, selector: "kendo-filter-endswith-operator", providers: [
22405
22702
  {
22406
22703
  provide: FilterOperatorBase,
@@ -22419,7 +22716,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
22419
22716
  selector: 'kendo-filter-endswith-operator',
22420
22717
  template: ``
22421
22718
  }]
22422
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }]; } });
22719
+ }], ctorParameters: function () { return [{ type: ContextService }]; } });
22423
22720
 
22424
22721
  /**
22425
22722
  * Represents the `Equal` (**Is equal to**) filter operator. [See example](slug:filtering_grid#toc-using-the-built-in-directive).
@@ -22427,9 +22724,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
22427
22724
  * For more information and examples, refer to the article on setting [default filter operators](slug:filter_row#toc-default-filter-operator).
22428
22725
  */
22429
22726
  class EqualFilterOperatorComponent extends FilterOperatorBase {
22430
- constructor(localization) { super("eq", localization); }
22727
+ constructor(ctx) { super("eq", ctx); }
22431
22728
  }
22432
- EqualFilterOperatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: EqualFilterOperatorComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
22729
+ EqualFilterOperatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: EqualFilterOperatorComponent, deps: [{ token: ContextService }], target: i0.ɵɵFactoryTarget.Component });
22433
22730
  EqualFilterOperatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: EqualFilterOperatorComponent, selector: "kendo-filter-eq-operator", providers: [
22434
22731
  {
22435
22732
  provide: FilterOperatorBase,
@@ -22448,7 +22745,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
22448
22745
  selector: 'kendo-filter-eq-operator',
22449
22746
  template: ``
22450
22747
  }]
22451
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }]; } });
22748
+ }], ctorParameters: function () { return [{ type: ContextService }]; } });
22452
22749
 
22453
22750
  /**
22454
22751
  * Represents the `IsEmpty` (**Is empty**) filter operator. [See example](slug:filtering_grid#toc-using-the-built-in-directive).
@@ -22456,9 +22753,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
22456
22753
  * For more information and examples, refer to the article on setting [default filter operators](slug:filter_row#toc-default-filter-operator).
22457
22754
  */
22458
22755
  class IsEmptyFilterOperatorComponent extends FilterOperatorBase {
22459
- constructor(localization) { super("isempty", localization); }
22756
+ constructor(ctx) { super("isempty", ctx); }
22460
22757
  }
22461
- IsEmptyFilterOperatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: IsEmptyFilterOperatorComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
22758
+ IsEmptyFilterOperatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: IsEmptyFilterOperatorComponent, deps: [{ token: ContextService }], target: i0.ɵɵFactoryTarget.Component });
22462
22759
  IsEmptyFilterOperatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: IsEmptyFilterOperatorComponent, selector: "kendo-filter-isempty-operator", providers: [
22463
22760
  {
22464
22761
  provide: FilterOperatorBase,
@@ -22477,7 +22774,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
22477
22774
  selector: 'kendo-filter-isempty-operator',
22478
22775
  template: ``
22479
22776
  }]
22480
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }]; } });
22777
+ }], ctorParameters: function () { return [{ type: ContextService }]; } });
22481
22778
 
22482
22779
  /**
22483
22780
  * Represents the `IsNotEmpty` (**Is not empty**) filter operator. [See example](slug:filtering_grid#toc-using-the-built-in-directive).
@@ -22485,9 +22782,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
22485
22782
  * For more information and examples, refer to the article on setting [default filter operators](slug:filter_row#toc-default-filter-operator).
22486
22783
  */
22487
22784
  class IsNotEmptyFilterOperatorComponent extends FilterOperatorBase {
22488
- constructor(localization) { super("isnotempty", localization); }
22785
+ constructor(ctx) { super("isnotempty", ctx); }
22489
22786
  }
22490
- IsNotEmptyFilterOperatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: IsNotEmptyFilterOperatorComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
22787
+ IsNotEmptyFilterOperatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: IsNotEmptyFilterOperatorComponent, deps: [{ token: ContextService }], target: i0.ɵɵFactoryTarget.Component });
22491
22788
  IsNotEmptyFilterOperatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: IsNotEmptyFilterOperatorComponent, selector: "kendo-filter-isnotempty-operator", providers: [
22492
22789
  {
22493
22790
  provide: FilterOperatorBase,
@@ -22506,7 +22803,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
22506
22803
  selector: 'kendo-filter-isnotempty-operator',
22507
22804
  template: ``
22508
22805
  }]
22509
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }]; } });
22806
+ }], ctorParameters: function () { return [{ type: ContextService }]; } });
22510
22807
 
22511
22808
  /**
22512
22809
  * Represents the `IsNotNull` (**Is not null**) filter operator. [See example](slug:filtering_grid#toc-using-the-built-in-directive).
@@ -22514,9 +22811,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
22514
22811
  * For more information and examples, refer to the article on setting [default filter operators](slug:filter_row#toc-default-filter-operator).
22515
22812
  */
22516
22813
  class IsNotNullFilterOperatorComponent extends FilterOperatorBase {
22517
- constructor(localization) { super("isnotnull", localization); }
22814
+ constructor(ctx) { super("isnotnull", ctx); }
22518
22815
  }
22519
- IsNotNullFilterOperatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: IsNotNullFilterOperatorComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
22816
+ IsNotNullFilterOperatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: IsNotNullFilterOperatorComponent, deps: [{ token: ContextService }], target: i0.ɵɵFactoryTarget.Component });
22520
22817
  IsNotNullFilterOperatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: IsNotNullFilterOperatorComponent, selector: "kendo-filter-isnotnull-operator", providers: [
22521
22818
  {
22522
22819
  provide: FilterOperatorBase,
@@ -22535,7 +22832,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
22535
22832
  selector: 'kendo-filter-isnotnull-operator',
22536
22833
  template: ``
22537
22834
  }]
22538
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }]; } });
22835
+ }], ctorParameters: function () { return [{ type: ContextService }]; } });
22539
22836
 
22540
22837
  /**
22541
22838
  * Represents the `IsNull` (**Is null**) filter operator. [See example](slug:filtering_grid#toc-using-the-built-in-directive).
@@ -22543,9 +22840,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
22543
22840
  * For more information and examples, refer to the article on setting [default filter operators](slug:filter_row#toc-default-filter-operator).
22544
22841
  */
22545
22842
  class IsNullFilterOperatorComponent extends FilterOperatorBase {
22546
- constructor(localization) { super("isnull", localization); }
22843
+ constructor(ctx) { super("isnull", ctx); }
22547
22844
  }
22548
- IsNullFilterOperatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: IsNullFilterOperatorComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
22845
+ IsNullFilterOperatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: IsNullFilterOperatorComponent, deps: [{ token: ContextService }], target: i0.ɵɵFactoryTarget.Component });
22549
22846
  IsNullFilterOperatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: IsNullFilterOperatorComponent, selector: "kendo-filter-isnull-operator", providers: [
22550
22847
  {
22551
22848
  provide: FilterOperatorBase,
@@ -22564,7 +22861,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
22564
22861
  selector: 'kendo-filter-isnull-operator',
22565
22862
  template: ``
22566
22863
  }]
22567
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }]; } });
22864
+ }], ctorParameters: function () { return [{ type: ContextService }]; } });
22568
22865
 
22569
22866
  /**
22570
22867
  * Represents the `NotEqual` (**Is not equal to**) filter operator. [See example](slug:filtering_grid#toc-using-the-built-in-directive).
@@ -22572,9 +22869,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
22572
22869
  * For more information and examples, refer to the article on setting [default filter operators](slug:filter_row#toc-default-filter-operator).
22573
22870
  */
22574
22871
  class NotEqualFilterOperatorComponent extends FilterOperatorBase {
22575
- constructor(localization) { super("neq", localization); }
22872
+ constructor(ctx) { super("neq", ctx); }
22576
22873
  }
22577
- NotEqualFilterOperatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: NotEqualFilterOperatorComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
22874
+ NotEqualFilterOperatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: NotEqualFilterOperatorComponent, deps: [{ token: ContextService }], target: i0.ɵɵFactoryTarget.Component });
22578
22875
  NotEqualFilterOperatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: NotEqualFilterOperatorComponent, selector: "kendo-filter-neq-operator", providers: [
22579
22876
  {
22580
22877
  provide: FilterOperatorBase,
@@ -22593,7 +22890,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
22593
22890
  selector: 'kendo-filter-neq-operator',
22594
22891
  template: ``
22595
22892
  }]
22596
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }]; } });
22893
+ }], ctorParameters: function () { return [{ type: ContextService }]; } });
22597
22894
 
22598
22895
  /**
22599
22896
  * Represents the `StartsWith` (**Starts with**) filter operator. [See example](slug:filtering_grid#toc-using-the-built-in-directive).
@@ -22601,9 +22898,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
22601
22898
  * For more information and examples, refer to the article on setting [default filter operators](slug:filter_row#toc-default-filter-operator).
22602
22899
  */
22603
22900
  class StartsWithFilterOperatorComponent extends FilterOperatorBase {
22604
- constructor(localization) { super("startswith", localization); }
22901
+ constructor(ctx) { super("startswith", ctx); }
22605
22902
  }
22606
- StartsWithFilterOperatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StartsWithFilterOperatorComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
22903
+ StartsWithFilterOperatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StartsWithFilterOperatorComponent, deps: [{ token: ContextService }], target: i0.ɵɵFactoryTarget.Component });
22607
22904
  StartsWithFilterOperatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: StartsWithFilterOperatorComponent, selector: "kendo-filter-startswith-operator", providers: [
22608
22905
  {
22609
22906
  provide: FilterOperatorBase,
@@ -22622,16 +22919,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
22622
22919
  selector: 'kendo-filter-startswith-operator',
22623
22920
  template: ``
22624
22921
  }]
22625
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }]; } });
22922
+ }], ctorParameters: function () { return [{ type: ContextService }]; } });
22626
22923
 
22627
22924
  /**
22628
22925
  * Represents the `Greater` (**Is greater than**) [numeric filter](slug:filtering_grid#toc-numeric-filter) operator.
22629
22926
  * [See example](slug:filter_row#toc-default-filter-operator).
22630
22927
  */
22631
22928
  class GreaterFilterOperatorComponent extends FilterOperatorBase {
22632
- constructor(localization) { super("gt", localization); }
22929
+ constructor(ctx) { super("gt", ctx); }
22633
22930
  }
22634
- GreaterFilterOperatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GreaterFilterOperatorComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
22931
+ GreaterFilterOperatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GreaterFilterOperatorComponent, deps: [{ token: ContextService }], target: i0.ɵɵFactoryTarget.Component });
22635
22932
  GreaterFilterOperatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GreaterFilterOperatorComponent, selector: "kendo-filter-gt-operator", providers: [
22636
22933
  {
22637
22934
  provide: FilterOperatorBase,
@@ -22650,16 +22947,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
22650
22947
  selector: 'kendo-filter-gt-operator',
22651
22948
  template: ``
22652
22949
  }]
22653
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }]; } });
22950
+ }], ctorParameters: function () { return [{ type: ContextService }]; } });
22654
22951
 
22655
22952
  /**
22656
22953
  * Represents the `GreaterOrEqualTo` (**Is greater than or equal to**) [numeric filter](slug:filtering_grid#toc-numeric-filter) operator.
22657
22954
  * [See example](slug:filter_row#toc-default-filter-operator).
22658
22955
  */
22659
22956
  class GreaterOrEqualToFilterOperatorComponent extends FilterOperatorBase {
22660
- constructor(localization) { super("gte", localization); }
22957
+ constructor(ctx) { super("gte", ctx); }
22661
22958
  }
22662
- GreaterOrEqualToFilterOperatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GreaterOrEqualToFilterOperatorComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
22959
+ GreaterOrEqualToFilterOperatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GreaterOrEqualToFilterOperatorComponent, deps: [{ token: ContextService }], target: i0.ɵɵFactoryTarget.Component });
22663
22960
  GreaterOrEqualToFilterOperatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GreaterOrEqualToFilterOperatorComponent, selector: "kendo-filter-gte-operator", providers: [
22664
22961
  {
22665
22962
  provide: FilterOperatorBase,
@@ -22678,7 +22975,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
22678
22975
  selector: 'kendo-filter-gte-operator',
22679
22976
  template: ``
22680
22977
  }]
22681
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }]; } });
22978
+ }], ctorParameters: function () { return [{ type: ContextService }]; } });
22682
22979
 
22683
22980
  /**
22684
22981
  * Represents the `Less` (**Is less than**) [numeric filter](slug:filtering_grid#toc-numeric-filter) operator.
@@ -22686,9 +22983,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
22686
22983
  * [See example](slug:filter_row#toc-default-filter-operator).
22687
22984
  */
22688
22985
  class LessFilterOperatorComponent extends FilterOperatorBase {
22689
- constructor(localization) { super("lt", localization); }
22986
+ constructor(ctx) { super("lt", ctx); }
22690
22987
  }
22691
- LessFilterOperatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: LessFilterOperatorComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
22988
+ LessFilterOperatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: LessFilterOperatorComponent, deps: [{ token: ContextService }], target: i0.ɵɵFactoryTarget.Component });
22692
22989
  LessFilterOperatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: LessFilterOperatorComponent, selector: "kendo-filter-lt-operator", providers: [
22693
22990
  {
22694
22991
  provide: FilterOperatorBase,
@@ -22707,7 +23004,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
22707
23004
  selector: 'kendo-filter-lt-operator',
22708
23005
  template: ``
22709
23006
  }]
22710
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }]; } });
23007
+ }], ctorParameters: function () { return [{ type: ContextService }]; } });
22711
23008
 
22712
23009
  /**
22713
23010
  * Represents the `LessOrEqualTo` (**Is less than or equal to**) [numeric filter](slug:filtering_grid#toc-numeric-filter) operator.
@@ -22715,9 +23012,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
22715
23012
  * [See example](slug:filter_row#toc-default-filter-operator).
22716
23013
  */
22717
23014
  class LessOrEqualToFilterOperatorComponent extends FilterOperatorBase {
22718
- constructor(localization) { super("lte", localization); }
23015
+ constructor(ctx) { super("lte", ctx); }
22719
23016
  }
22720
- LessOrEqualToFilterOperatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: LessOrEqualToFilterOperatorComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
23017
+ LessOrEqualToFilterOperatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: LessOrEqualToFilterOperatorComponent, deps: [{ token: ContextService }], target: i0.ɵɵFactoryTarget.Component });
22721
23018
  LessOrEqualToFilterOperatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: LessOrEqualToFilterOperatorComponent, selector: "kendo-filter-lte-operator", providers: [
22722
23019
  {
22723
23020
  provide: FilterOperatorBase,
@@ -22736,14 +23033,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
22736
23033
  selector: 'kendo-filter-lte-operator',
22737
23034
  template: ``
22738
23035
  }]
22739
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }]; } });
23036
+ }], ctorParameters: function () { return [{ type: ContextService }]; } });
22740
23037
 
22741
23038
  /**
22742
23039
  * Represents the `Greater` (**Is after**) [date filter](slug:filtering_grid#toc-date-filter) operator.
22743
23040
  * [See example](slug:filter_row#toc-default-filter-operator).
22744
23041
  */
22745
23042
  class AfterFilterOperatorComponent extends FilterOperatorBase {
22746
- constructor(localization) { super("after", localization); }
23043
+ constructor(ctx) { super("after", ctx); }
22747
23044
  /**
22748
23045
  * @hidden
22749
23046
  */
@@ -22754,7 +23051,7 @@ class AfterFilterOperatorComponent extends FilterOperatorBase {
22754
23051
  };
22755
23052
  }
22756
23053
  }
22757
- AfterFilterOperatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AfterFilterOperatorComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
23054
+ AfterFilterOperatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AfterFilterOperatorComponent, deps: [{ token: ContextService }], target: i0.ɵɵFactoryTarget.Component });
22758
23055
  AfterFilterOperatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: AfterFilterOperatorComponent, selector: "kendo-filter-after-operator", providers: [
22759
23056
  {
22760
23057
  provide: FilterOperatorBase,
@@ -22773,14 +23070,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
22773
23070
  selector: 'kendo-filter-after-operator',
22774
23071
  template: ``
22775
23072
  }]
22776
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }]; } });
23073
+ }], ctorParameters: function () { return [{ type: ContextService }]; } });
22777
23074
 
22778
23075
  /**
22779
23076
  * Represents the `GreaterOrEqualTo` (**Is after or equal to**) [date filter](slug:filtering_grid#toc-date-filter) operator.
22780
23077
  * [See example](slug:filter_row#toc-default-filter-operator).
22781
23078
  */
22782
23079
  class AfterEqFilterOperatorComponent extends FilterOperatorBase {
22783
- constructor(localization) { super("after-eq", localization); }
23080
+ constructor(ctx) { super("after-eq", ctx); }
22784
23081
  /**
22785
23082
  * @hidden
22786
23083
  */
@@ -22791,7 +23088,7 @@ class AfterEqFilterOperatorComponent extends FilterOperatorBase {
22791
23088
  };
22792
23089
  }
22793
23090
  }
22794
- AfterEqFilterOperatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AfterEqFilterOperatorComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
23091
+ AfterEqFilterOperatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AfterEqFilterOperatorComponent, deps: [{ token: ContextService }], target: i0.ɵɵFactoryTarget.Component });
22795
23092
  AfterEqFilterOperatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: AfterEqFilterOperatorComponent, selector: "kendo-filter-after-eq-operator", providers: [
22796
23093
  {
22797
23094
  provide: FilterOperatorBase,
@@ -22810,14 +23107,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
22810
23107
  selector: 'kendo-filter-after-eq-operator',
22811
23108
  template: ``
22812
23109
  }]
22813
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }]; } });
23110
+ }], ctorParameters: function () { return [{ type: ContextService }]; } });
22814
23111
 
22815
23112
  /**
22816
23113
  * Represents the `LessOrEqualTo` (**Is before or equal to**) [date filter](slug:filtering_grid#toc-date-filter) operator.
22817
23114
  * [See example](slug:filter_row#toc-default-filter-operator).
22818
23115
  */
22819
23116
  class BeforeEqFilterOperatorComponent extends FilterOperatorBase {
22820
- constructor(localization) { super("before-eq", localization); }
23117
+ constructor(ctx) { super("before-eq", ctx); }
22821
23118
  /**
22822
23119
  * @hidden
22823
23120
  */
@@ -22828,7 +23125,7 @@ class BeforeEqFilterOperatorComponent extends FilterOperatorBase {
22828
23125
  };
22829
23126
  }
22830
23127
  }
22831
- BeforeEqFilterOperatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BeforeEqFilterOperatorComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
23128
+ BeforeEqFilterOperatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BeforeEqFilterOperatorComponent, deps: [{ token: ContextService }], target: i0.ɵɵFactoryTarget.Component });
22832
23129
  BeforeEqFilterOperatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: BeforeEqFilterOperatorComponent, selector: "kendo-filter-before-eq-operator", providers: [
22833
23130
  {
22834
23131
  provide: FilterOperatorBase,
@@ -22847,14 +23144,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
22847
23144
  selector: 'kendo-filter-before-eq-operator',
22848
23145
  template: ``
22849
23146
  }]
22850
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }]; } });
23147
+ }], ctorParameters: function () { return [{ type: ContextService }]; } });
22851
23148
 
22852
23149
  /**
22853
23150
  * Represents the `Less than` (**Is before**) [date filter](slug:filtering_grid#toc-date-filter) operator.
22854
23151
  * [See example](slug:filter_row#toc-default-filter-operator).
22855
23152
  */
22856
23153
  class BeforeFilterOperatorComponent extends FilterOperatorBase {
22857
- constructor(localization) { super("before", localization); }
23154
+ constructor(ctx) { super("before", ctx); }
22858
23155
  /**
22859
23156
  * @hidden
22860
23157
  */
@@ -22865,7 +23162,7 @@ class BeforeFilterOperatorComponent extends FilterOperatorBase {
22865
23162
  };
22866
23163
  }
22867
23164
  }
22868
- BeforeFilterOperatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BeforeFilterOperatorComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
23165
+ BeforeFilterOperatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BeforeFilterOperatorComponent, deps: [{ token: ContextService }], target: i0.ɵɵFactoryTarget.Component });
22869
23166
  BeforeFilterOperatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: BeforeFilterOperatorComponent, selector: "kendo-filter-before-operator", providers: [
22870
23167
  {
22871
23168
  provide: FilterOperatorBase,
@@ -22884,7 +23181,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
22884
23181
  selector: 'kendo-filter-before-operator',
22885
23182
  template: ``
22886
23183
  }]
22887
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }]; } });
23184
+ }], ctorParameters: function () { return [{ type: ContextService }]; } });
22888
23185
 
22889
23186
  const FILTER_OPERATORS = [
22890
23187
  FilterCellOperatorsComponent,
@@ -23291,7 +23588,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
23291
23588
  }] });
23292
23589
 
23293
23590
  /**
23294
- * Represents the component for toggling the visibility of the Grid columns. [See example](slug:columnmenu_grid#toc-using-standalone-column-chooser).
23591
+ * Represents the component for toggling visibility of the Grid columns visibility. [See example](slug:columnmenu_grid#toc-using-standalone-column-chooser).
23295
23592
  * To show and hide the columns without including the column chooser item in the [Column Menu](slug:columnmenu_grid),
23296
23593
  * add the component inside the [ToolbarTemplate](slug:toolbartemplate_grid) directive.
23297
23594
  *
@@ -23306,8 +23603,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
23306
23603
  * ```
23307
23604
  */
23308
23605
  class ColumnChooserComponent {
23309
- constructor(localization, columnInfoService, popupService, ngZone, renderer, changeDetector) {
23310
- this.localization = localization;
23606
+ constructor(ctx, columnInfoService, popupService, ngZone, renderer, changeDetector) {
23607
+ this.ctx = ctx;
23311
23608
  this.columnInfoService = columnInfoService;
23312
23609
  this.popupService = popupService;
23313
23610
  this.ngZone = ngZone;
@@ -23341,7 +23638,7 @@ class ColumnChooserComponent {
23341
23638
  */
23342
23639
  toggle(anchor, template) {
23343
23640
  if (!this.popupRef) {
23344
- const direction = this.localization.rtl ? 'right' : 'left';
23641
+ const direction = this.ctx.localization.rtl ? 'right' : 'left';
23345
23642
  this.popupRef = this.popupService.open({
23346
23643
  anchor: anchor.element,
23347
23644
  content: template,
@@ -23349,7 +23646,7 @@ class ColumnChooserComponent {
23349
23646
  anchorAlign: { vertical: 'bottom', horizontal: direction },
23350
23647
  popupAlign: { vertical: 'top', horizontal: direction }
23351
23648
  });
23352
- this.renderer.setAttribute(this.popupRef.popupElement, 'dir', this.localization.rtl ? 'rtl' : 'ltr');
23649
+ this.renderer.setAttribute(this.popupRef.popupElement, 'dir', this.ctx.localization.rtl ? 'rtl' : 'ltr');
23353
23650
  if (!isDocumentAvailable()) {
23354
23651
  return;
23355
23652
  }
@@ -23394,22 +23691,22 @@ class ColumnChooserComponent {
23394
23691
  }
23395
23692
  }
23396
23693
  }
23397
- ColumnChooserComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnChooserComponent, deps: [{ token: i1.LocalizationService }, { token: ColumnInfoService }, { token: i1$2.PopupService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
23694
+ ColumnChooserComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnChooserComponent, deps: [{ token: ContextService }, { token: ColumnInfoService }, { token: i1$2.PopupService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
23398
23695
  ColumnChooserComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ColumnChooserComponent, selector: "kendo-grid-column-chooser", inputs: { autoSync: "autoSync", allowHideAll: "allowHideAll" }, ngImport: i0, template: `
23399
23696
  <button #anchor
23400
23697
  kendoButton
23401
23698
  type="button"
23402
23699
  (click)="toggle(anchor, template)"
23403
23700
  fillMode="flat"
23404
- [attr.title]="localization.get('columns')"
23701
+ [attr.title]="ctx.localization.get('columns')"
23405
23702
  icon="columns"
23406
23703
  [svgIcon]="columnsIcon"></button>
23407
23704
  <ng-template #template>
23408
- <span class='k-column-chooser-title'>{{ localization.get('columns') }}</span>
23705
+ <span class='k-column-chooser-title'>{{ ctx.localization.get('columns') }}</span>
23409
23706
  <kendo-grid-columnlist
23410
23707
  [columns]="columns"
23411
- [applyText]="localization.get('columnsApply')"
23412
- [resetText]="localization.get('columnsReset')"
23708
+ [applyText]="ctx.localization.get('columnsApply')"
23709
+ [resetText]="ctx.localization.get('columnsReset')"
23413
23710
  [autoSync]="autoSync"
23414
23711
  [allowHideAll]="allowHideAll"
23415
23712
  (apply)="onApply($event)"
@@ -23427,15 +23724,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
23427
23724
  type="button"
23428
23725
  (click)="toggle(anchor, template)"
23429
23726
  fillMode="flat"
23430
- [attr.title]="localization.get('columns')"
23727
+ [attr.title]="ctx.localization.get('columns')"
23431
23728
  icon="columns"
23432
23729
  [svgIcon]="columnsIcon"></button>
23433
23730
  <ng-template #template>
23434
- <span class='k-column-chooser-title'>{{ localization.get('columns') }}</span>
23731
+ <span class='k-column-chooser-title'>{{ ctx.localization.get('columns') }}</span>
23435
23732
  <kendo-grid-columnlist
23436
23733
  [columns]="columns"
23437
- [applyText]="localization.get('columnsApply')"
23438
- [resetText]="localization.get('columnsReset')"
23734
+ [applyText]="ctx.localization.get('columnsApply')"
23735
+ [resetText]="ctx.localization.get('columnsReset')"
23439
23736
  [autoSync]="autoSync"
23440
23737
  [allowHideAll]="allowHideAll"
23441
23738
  (apply)="onApply($event)"
@@ -23444,7 +23741,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
23444
23741
  </ng-template>
23445
23742
  `
23446
23743
  }]
23447
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: ColumnInfoService }, { type: i1$2.PopupService }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { autoSync: [{
23744
+ }], ctorParameters: function () { return [{ type: ContextService }, { type: ColumnInfoService }, { type: i1$2.PopupService }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { autoSync: [{
23448
23745
  type: Input
23449
23746
  }], allowHideAll: [{
23450
23747
  type: Input
@@ -23508,7 +23805,7 @@ ColumnMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versio
23508
23805
  ColumnMenuStickComponent,
23509
23806
  ColumnMenuPositionComponent,
23510
23807
  ColumnMenuAutoSizeColumnComponent,
23511
- ColumnMenuAutoSizeAllColumnsComponent], imports: [CommonModule, FilterMenuModule, ButtonModule], exports: [ColumnListComponent,
23808
+ ColumnMenuAutoSizeAllColumnsComponent], imports: [CommonModule, FilterMenuModule, ButtonModule, TabStripModule], exports: [ColumnListComponent,
23512
23809
  ColumnChooserComponent,
23513
23810
  ColumnMenuChooserComponent,
23514
23811
  ColumnMenuFilterComponent,
@@ -23524,12 +23821,12 @@ ColumnMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versio
23524
23821
  ColumnMenuPositionComponent,
23525
23822
  ColumnMenuAutoSizeColumnComponent,
23526
23823
  ColumnMenuAutoSizeAllColumnsComponent] });
23527
- ColumnMenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnMenuModule, imports: [[CommonModule, FilterMenuModule, ButtonModule]] });
23824
+ ColumnMenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnMenuModule, imports: [[CommonModule, FilterMenuModule, ButtonModule, TabStripModule]] });
23528
23825
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnMenuModule, decorators: [{
23529
23826
  type: NgModule,
23530
23827
  args: [{
23531
23828
  declarations: [COMPONENTS],
23532
- imports: [CommonModule, FilterMenuModule, ButtonModule],
23829
+ imports: [CommonModule, FilterMenuModule, ButtonModule, TabStripModule],
23533
23830
  exports: [COMPONENTS]
23534
23831
  }]
23535
23832
  }] });
@@ -23664,8 +23961,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
23664
23961
  *
23665
23962
  */
23666
23963
  class EditCommandDirective extends Button {
23667
- constructor(editService, cellContext, element, renderer, localization, ngZone) {
23668
- super(element, renderer, null, localization, ngZone);
23964
+ constructor(editService, cellContext, element, renderer, ctx, ngZone) {
23965
+ super(element, renderer, null, ctx.localization, ngZone);
23669
23966
  this.editService = editService;
23670
23967
  this.cellContext = cellContext;
23671
23968
  /**
@@ -23693,7 +23990,7 @@ class EditCommandDirective extends Button {
23693
23990
  }
23694
23991
  }
23695
23992
  }
23696
- EditCommandDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: EditCommandDirective, deps: [{ token: EditService }, { token: CELL_CONTEXT }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.LocalizationService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
23993
+ EditCommandDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: EditCommandDirective, deps: [{ token: EditService }, { token: CELL_CONTEXT }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: ContextService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
23697
23994
  EditCommandDirective.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: EditCommandDirective, selector: "[kendoGridEditCommand]", host: { listeners: { "click": "onClick($event)" }, properties: { "style.display": "this.visible", "class.k-grid-edit-command": "this.commandClass" } }, usesInheritance: true, ngImport: i0, template: `
23698
23995
  <kendo-icon-wrapper
23699
23996
  *ngIf="icon || svgIcon"
@@ -23705,7 +24002,7 @@ EditCommandDirective.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
23705
24002
  </span>
23706
24003
  <span *ngIf="iconClass" class="k-button-icon" [ngClass]="iconClass"></span>
23707
24004
  <span class="k-button-text"><ng-content></ng-content></span>
23708
- `, 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"] }] });
24005
+ `, 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"] }] });
23709
24006
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: EditCommandDirective, decorators: [{
23710
24007
  type: Component,
23711
24008
  args: [{
@@ -23726,7 +24023,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
23726
24023
  }], ctorParameters: function () { return [{ type: EditService }, { type: undefined, decorators: [{
23727
24024
  type: Inject,
23728
24025
  args: [CELL_CONTEXT]
23729
- }] }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.LocalizationService }, { type: i0.NgZone }]; }, propDecorators: { visible: [{
24026
+ }] }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: ContextService }, { type: i0.NgZone }]; }, propDecorators: { visible: [{
23730
24027
  type: HostBinding,
23731
24028
  args: ['style.display']
23732
24029
  }], commandClass: [{
@@ -23759,8 +24056,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
23759
24056
  * ```
23760
24057
  */
23761
24058
  class CancelCommandDirective extends Button {
23762
- constructor(editService, cellContext, element, renderer, localization, ngZone) {
23763
- super(element, renderer, null, localization, ngZone);
24059
+ constructor(editService, cellContext, element, renderer, ctx, ngZone) {
24060
+ super(element, renderer, null, ctx.localization, ngZone);
23764
24061
  this.editService = editService;
23765
24062
  this.cellContext = cellContext;
23766
24063
  /**
@@ -23790,7 +24087,7 @@ class CancelCommandDirective extends Button {
23790
24087
  }
23791
24088
  }
23792
24089
  }
23793
- CancelCommandDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CancelCommandDirective, deps: [{ token: EditService }, { token: CELL_CONTEXT }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.LocalizationService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
24090
+ CancelCommandDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CancelCommandDirective, deps: [{ token: EditService }, { token: CELL_CONTEXT }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: ContextService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
23794
24091
  CancelCommandDirective.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: CancelCommandDirective, selector: "[kendoGridCancelCommand]", host: { listeners: { "click": "onClick($event)" }, properties: { "style.display": "this.visible", "class.k-grid-cancel-command": "this.commandClass" } }, usesInheritance: true, ngImport: i0, template: `
23795
24092
  <kendo-icon-wrapper
23796
24093
  *ngIf="icon || svgIcon"
@@ -23802,7 +24099,7 @@ CancelCommandDirective.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
23802
24099
  </span>
23803
24100
  <span *ngIf="iconClass" class="k-button-icon" [ngClass]="iconClass"></span>
23804
24101
  <span class="k-button-text"><ng-content></ng-content></span>
23805
- `, 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"] }] });
24102
+ `, 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"] }] });
23806
24103
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CancelCommandDirective, decorators: [{
23807
24104
  type: Component,
23808
24105
  args: [{
@@ -23823,7 +24120,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
23823
24120
  }], ctorParameters: function () { return [{ type: EditService }, { type: undefined, decorators: [{
23824
24121
  type: Inject,
23825
24122
  args: [CELL_CONTEXT]
23826
- }] }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.LocalizationService }, { type: i0.NgZone }]; }, propDecorators: { visible: [{
24123
+ }] }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: ContextService }, { type: i0.NgZone }]; }, propDecorators: { visible: [{
23827
24124
  type: HostBinding,
23828
24125
  args: ['style.display']
23829
24126
  }], commandClass: [{
@@ -23856,8 +24153,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
23856
24153
  * ```
23857
24154
  */
23858
24155
  class SaveCommandDirective extends Button {
23859
- constructor(editService, cellContext, element, renderer, localization, ngZone) {
23860
- super(element, renderer, null, localization, ngZone);
24156
+ constructor(editService, cellContext, element, renderer, ctx, ngZone) {
24157
+ super(element, renderer, null, ctx.localization, ngZone);
23861
24158
  this.editService = editService;
23862
24159
  this.cellContext = cellContext;
23863
24160
  /**
@@ -23887,7 +24184,7 @@ class SaveCommandDirective extends Button {
23887
24184
  }
23888
24185
  }
23889
24186
  }
23890
- SaveCommandDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SaveCommandDirective, deps: [{ token: EditService }, { token: CELL_CONTEXT }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.LocalizationService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
24187
+ SaveCommandDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SaveCommandDirective, deps: [{ token: EditService }, { token: CELL_CONTEXT }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: ContextService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
23891
24188
  SaveCommandDirective.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SaveCommandDirective, selector: "[kendoGridSaveCommand]", host: { listeners: { "click": "onClick($event)" }, properties: { "style.display": "this.visible", "class.k-grid-save-command": "this.commandClass" } }, usesInheritance: true, ngImport: i0, template: `
23892
24189
  <kendo-icon-wrapper
23893
24190
  *ngIf="icon || svgIcon"
@@ -23899,7 +24196,7 @@ SaveCommandDirective.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
23899
24196
  </span>
23900
24197
  <span *ngIf="iconClass" class="k-button-icon" [ngClass]="iconClass"></span>
23901
24198
  <span class="k-button-text"><ng-content></ng-content></span>
23902
- `, 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"] }] });
24199
+ `, 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"] }] });
23903
24200
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SaveCommandDirective, decorators: [{
23904
24201
  type: Component,
23905
24202
  args: [{
@@ -23920,7 +24217,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
23920
24217
  }], ctorParameters: function () { return [{ type: EditService }, { type: undefined, decorators: [{
23921
24218
  type: Inject,
23922
24219
  args: [CELL_CONTEXT]
23923
- }] }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.LocalizationService }, { type: i0.NgZone }]; }, propDecorators: { visible: [{
24220
+ }] }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: ContextService }, { type: i0.NgZone }]; }, propDecorators: { visible: [{
23924
24221
  type: HostBinding,
23925
24222
  args: ['style.display']
23926
24223
  }], commandClass: [{
@@ -23952,8 +24249,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
23952
24249
  * ```
23953
24250
  */
23954
24251
  class RemoveCommandDirective extends Button {
23955
- constructor(editService, cellContext, element, renderer, localization, ngZone) {
23956
- super(element, renderer, null, localization, ngZone);
24252
+ constructor(editService, cellContext, element, renderer, ctx, ngZone) {
24253
+ super(element, renderer, null, ctx.localization, ngZone);
23957
24254
  this.editService = editService;
23958
24255
  this.cellContext = cellContext;
23959
24256
  /**
@@ -23981,7 +24278,7 @@ class RemoveCommandDirective extends Button {
23981
24278
  }
23982
24279
  }
23983
24280
  }
23984
- RemoveCommandDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RemoveCommandDirective, deps: [{ token: EditService }, { token: CELL_CONTEXT }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.LocalizationService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
24281
+ RemoveCommandDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RemoveCommandDirective, deps: [{ token: EditService }, { token: CELL_CONTEXT }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: ContextService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
23985
24282
  RemoveCommandDirective.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: RemoveCommandDirective, selector: "[kendoGridRemoveCommand]", host: { listeners: { "click": "onClick($event)" }, properties: { "style.display": "this.visible", "class.k-grid-remove-command": "this.commandClass" } }, usesInheritance: true, ngImport: i0, template: `
23986
24283
  <kendo-icon-wrapper
23987
24284
  *ngIf="icon || svgIcon"
@@ -23993,7 +24290,7 @@ RemoveCommandDirective.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
23993
24290
  </span>
23994
24291
  <span *ngIf="iconClass" class="k-button-icon" [ngClass]="iconClass"></span>
23995
24292
  <span class="k-button-text"><ng-content></ng-content></span>
23996
- `, 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"] }] });
24293
+ `, 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"] }] });
23997
24294
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RemoveCommandDirective, decorators: [{
23998
24295
  type: Component,
23999
24296
  args: [{
@@ -24014,7 +24311,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
24014
24311
  }], ctorParameters: function () { return [{ type: EditService }, { type: undefined, decorators: [{
24015
24312
  type: Inject,
24016
24313
  args: [CELL_CONTEXT]
24017
- }] }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.LocalizationService }, { type: i0.NgZone }]; }, propDecorators: { visible: [{
24314
+ }] }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: ContextService }, { type: i0.NgZone }]; }, propDecorators: { visible: [{
24018
24315
  type: HostBinding,
24019
24316
  args: ['style.display']
24020
24317
  }], commandClass: [{
@@ -24042,8 +24339,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
24042
24339
  * ```
24043
24340
  */
24044
24341
  class AddCommandDirective extends Button {
24045
- constructor(editService, element, renderer, localization, ngZone) {
24046
- super(element, renderer, null, localization, ngZone);
24342
+ constructor(editService, element, renderer, ctx, ngZone) {
24343
+ super(element, renderer, null, ctx.localization, ngZone);
24047
24344
  this.editService = editService;
24048
24345
  }
24049
24346
  /**
@@ -24060,7 +24357,7 @@ class AddCommandDirective extends Button {
24060
24357
  return true;
24061
24358
  }
24062
24359
  }
24063
- AddCommandDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AddCommandDirective, deps: [{ token: EditService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.LocalizationService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
24360
+ AddCommandDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AddCommandDirective, deps: [{ token: EditService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: ContextService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
24064
24361
  AddCommandDirective.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: AddCommandDirective, selector: "[kendoGridAddCommand]", host: { listeners: { "click": "onClick($event)" }, properties: { "class.k-grid-add-command": "this.commandClass" } }, usesInheritance: true, ngImport: i0, template: `
24065
24362
  <kendo-icon-wrapper
24066
24363
  *ngIf="icon || svgIcon"
@@ -24072,7 +24369,7 @@ AddCommandDirective.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
24072
24369
  </span>
24073
24370
  <span *ngIf="iconClass" class="k-button-icon" [ngClass]="iconClass"></span>
24074
24371
  <span class="k-button-text"><ng-content></ng-content></span>
24075
- `, 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"] }] });
24372
+ `, 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"] }] });
24076
24373
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AddCommandDirective, decorators: [{
24077
24374
  type: Component,
24078
24375
  args: [{
@@ -24090,7 +24387,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
24090
24387
  <span class="k-button-text"><ng-content></ng-content></span>
24091
24388
  `
24092
24389
  }]
24093
- }], ctorParameters: function () { return [{ type: EditService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.LocalizationService }, { type: i0.NgZone }]; }, propDecorators: { onClick: [{
24390
+ }], ctorParameters: function () { return [{ type: EditService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: ContextService }, { type: i0.NgZone }]; }, propDecorators: { onClick: [{
24094
24391
  type: HostListener,
24095
24392
  args: ['click', ['$event']]
24096
24393
  }], commandClass: [{
@@ -25577,8 +25874,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
25577
25874
  * ```
25578
25875
  */
25579
25876
  class PDFCommandDirective extends Button {
25580
- constructor(pdfService, element, renderer, localization, ngZone) {
25581
- super(element, renderer, null, localization, ngZone);
25877
+ constructor(pdfService, element, renderer, ctx, ngZone) {
25878
+ super(element, renderer, null, ctx.localization, ngZone);
25582
25879
  this.pdfService = pdfService;
25583
25880
  this.ngZone = ngZone;
25584
25881
  }
@@ -25596,7 +25893,7 @@ class PDFCommandDirective extends Button {
25596
25893
  return true;
25597
25894
  }
25598
25895
  }
25599
- PDFCommandDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PDFCommandDirective, deps: [{ token: PDFService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.LocalizationService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
25896
+ PDFCommandDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PDFCommandDirective, deps: [{ token: PDFService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: ContextService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
25600
25897
  PDFCommandDirective.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: PDFCommandDirective, selector: "[kendoGridPDFCommand]", host: { listeners: { "click": "onClick($event)" }, properties: { "class.k-grid-pdf": "this.pdfClass" } }, usesInheritance: true, ngImport: i0, template: `
25601
25898
  <kendo-icon-wrapper
25602
25899
  *ngIf="icon || svgIcon"
@@ -25608,7 +25905,7 @@ PDFCommandDirective.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
25608
25905
  </span>
25609
25906
  <span *ngIf="iconClass" class="k-button-icon" [ngClass]="iconClass"></span>
25610
25907
  <span class="k-button-text"><ng-content></ng-content></span>
25611
- `, 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"] }] });
25908
+ `, 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"] }] });
25612
25909
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PDFCommandDirective, decorators: [{
25613
25910
  type: Component,
25614
25911
  args: [{
@@ -25626,7 +25923,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
25626
25923
  <span class="k-button-text"><ng-content></ng-content></span>
25627
25924
  `
25628
25925
  }]
25629
- }], ctorParameters: function () { return [{ type: PDFService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.LocalizationService }, { type: i0.NgZone }]; }, propDecorators: { onClick: [{
25926
+ }], ctorParameters: function () { return [{ type: PDFService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: ContextService }, { type: i0.NgZone }]; }, propDecorators: { onClick: [{
25630
25927
  type: HostListener,
25631
25928
  args: ['click', ['$event']]
25632
25929
  }], pdfClass: [{
@@ -25743,8 +26040,8 @@ const componentColumns = (component) => {
25743
26040
  * Configures the settings for the export of Grid in Excel ([see example]({% slug excelexport_grid %})).
25744
26041
  */
25745
26042
  class ExcelComponent {
25746
- constructor(excelService, localization, zone) {
25747
- this.localization = localization;
26043
+ constructor(excelService, ctx, zone) {
26044
+ this.ctx = ctx;
25748
26045
  this.zone = zone;
25749
26046
  /**
25750
26047
  * Specifies the file name of the exported Excel file.
@@ -25789,7 +26086,7 @@ class ExcelComponent {
25789
26086
  date: this.date,
25790
26087
  paddingCellOptions: this.paddingCellOptions,
25791
26088
  headerPaddingCellOptions: this.headerPaddingCellOptions,
25792
- rtl: this.localization.rtl,
26089
+ rtl: this.ctx.localization.rtl,
25793
26090
  collapsible: this.collapsible
25794
26091
  });
25795
26092
  const args = new ExcelExportEvent(options);
@@ -25807,7 +26104,7 @@ class ExcelComponent {
25807
26104
  });
25808
26105
  }
25809
26106
  }
25810
- ExcelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ExcelComponent, deps: [{ token: ExcelService }, { token: i1.LocalizationService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
26107
+ ExcelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ExcelComponent, deps: [{ token: ExcelService }, { token: ContextService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
25811
26108
  ExcelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ExcelComponent, selector: "kendo-grid-excel", inputs: { fileName: "fileName", filterable: "filterable", creator: "creator", date: "date", forceProxy: "forceProxy", proxyURL: "proxyURL", fetchData: "fetchData", paddingCellOptions: "paddingCellOptions", headerPaddingCellOptions: "headerPaddingCellOptions", collapsible: "collapsible" }, queries: [{ propertyName: "columns", predicate: ColumnBase$1, descendants: true }], ngImport: i0, template: ``, isInline: true });
25812
26109
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ExcelComponent, decorators: [{
25813
26110
  type: Component,
@@ -25815,7 +26112,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
25815
26112
  selector: 'kendo-grid-excel',
25816
26113
  template: ``
25817
26114
  }]
25818
- }], ctorParameters: function () { return [{ type: ExcelService }, { type: i1.LocalizationService }, { type: i0.NgZone }]; }, propDecorators: { fileName: [{
26115
+ }], ctorParameters: function () { return [{ type: ExcelService }, { type: ContextService }, { type: i0.NgZone }]; }, propDecorators: { fileName: [{
25819
26116
  type: Input
25820
26117
  }], filterable: [{
25821
26118
  type: Input
@@ -25860,8 +26157,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
25860
26157
  * ```
25861
26158
  */
25862
26159
  class ExcelCommandDirective extends Button {
25863
- constructor(excelService, element, renderer, localization, ngZone) {
25864
- super(element, renderer, null, localization, ngZone);
26160
+ constructor(excelService, element, renderer, ctx, ngZone) {
26161
+ super(element, renderer, null, ctx.localization, ngZone);
25865
26162
  this.excelService = excelService;
25866
26163
  this.ngZone = ngZone;
25867
26164
  }
@@ -25879,7 +26176,7 @@ class ExcelCommandDirective extends Button {
25879
26176
  return true;
25880
26177
  }
25881
26178
  }
25882
- ExcelCommandDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ExcelCommandDirective, deps: [{ token: ExcelService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.LocalizationService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
26179
+ ExcelCommandDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ExcelCommandDirective, deps: [{ token: ExcelService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: ContextService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
25883
26180
  ExcelCommandDirective.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ExcelCommandDirective, selector: "[kendoGridExcelCommand]", host: { listeners: { "click": "onClick($event)" }, properties: { "class.k-grid-excel": "this.excelClass" } }, usesInheritance: true, ngImport: i0, template: `
25884
26181
  <kendo-icon-wrapper
25885
26182
  *ngIf="icon || svgIcon"
@@ -25891,7 +26188,7 @@ ExcelCommandDirective.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
25891
26188
  </span>
25892
26189
  <span *ngIf="iconClass" class="k-button-icon" [ngClass]="iconClass"></span>
25893
26190
  <span class="k-button-text"><ng-content></ng-content></span>
25894
- `, 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"] }] });
26191
+ `, 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"] }] });
25895
26192
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ExcelCommandDirective, decorators: [{
25896
26193
  type: Component,
25897
26194
  args: [{
@@ -25909,7 +26206,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
25909
26206
  <span class="k-button-text"><ng-content></ng-content></span>
25910
26207
  `
25911
26208
  }]
25912
- }], ctorParameters: function () { return [{ type: ExcelService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.LocalizationService }, { type: i0.NgZone }]; }, propDecorators: { onClick: [{
26209
+ }], ctorParameters: function () { return [{ type: ExcelService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: ContextService }, { type: i0.NgZone }]; }, propDecorators: { onClick: [{
25913
26210
  type: HostListener,
25914
26211
  args: ['click', ['$event']]
25915
26212
  }], excelClass: [{