@progress/kendo-angular-pivotgrid 17.0.0-develop.21 → 17.0.0-develop.22

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 (88) hide show
  1. package/configurator/chip-menu/chip-menu-filter.component.d.ts +1 -1
  2. package/configurator/chip-menu/chip-menu-item-base.d.ts +1 -1
  3. package/configurator/chip-menu/chip-menu-item.component.d.ts +1 -1
  4. package/configurator/chip-menu/chip-menu-item.directive.d.ts +1 -1
  5. package/configurator/chip-menu/chip-menu-reorder.component.d.ts +1 -1
  6. package/configurator/chip-menu/chip-menu-sort.component.d.ts +1 -1
  7. package/configurator/chip-menu/chip-menu.component.d.ts +1 -1
  8. package/configurator/chip-menu/filtering/filter-menu-container.component.d.ts +1 -1
  9. package/configurator/chip-menu/filtering/filter-menu-dropdownlist.directive.d.ts +1 -1
  10. package/configurator/chip-menu/filtering/string-filter-menu.component.d.ts +3 -3
  11. package/configurator/configurator.component.d.ts +1 -1
  12. package/configurator/draggable.directive.d.ts +1 -1
  13. package/configurator/drop-target.directive.d.ts +1 -1
  14. package/data-binding/base-binding-directive.d.ts +1 -1
  15. package/data-binding/local-binding.directive.d.ts +1 -1
  16. package/data-binding/olap-binding.directive.d.ts +1 -1
  17. package/{esm2020 → esm2022}/configurator/chip-kb-nav.directive.mjs +8 -5
  18. package/{esm2020 → esm2022}/configurator/chip-menu/chip-menu-container.component.mjs +8 -5
  19. package/{esm2020 → esm2022}/configurator/chip-menu/chip-menu-filter.component.mjs +25 -19
  20. package/{esm2020 → esm2022}/configurator/chip-menu/chip-menu-item-base.mjs +9 -6
  21. package/{esm2020 → esm2022}/configurator/chip-menu/chip-menu-item-content-template.directive.mjs +4 -3
  22. package/{esm2020 → esm2022}/configurator/chip-menu/chip-menu-item.component.mjs +65 -40
  23. package/{esm2020 → esm2022}/configurator/chip-menu/chip-menu-item.directive.mjs +35 -28
  24. package/{esm2020 → esm2022}/configurator/chip-menu/chip-menu-reorder.component.mjs +27 -19
  25. package/{esm2020 → esm2022}/configurator/chip-menu/chip-menu-sort.component.mjs +10 -6
  26. package/{esm2020 → esm2022}/configurator/chip-menu/chip-menu.component.mjs +22 -10
  27. package/{esm2020 → esm2022}/configurator/chip-menu/chip-menu.service.mjs +12 -10
  28. package/{esm2020 → esm2022}/configurator/chip-menu/filtering/filter-menu-container.component.mjs +21 -8
  29. package/{esm2020 → esm2022}/configurator/chip-menu/filtering/filter-menu-dropdownlist.directive.mjs +11 -9
  30. package/{esm2020 → esm2022}/configurator/chip-menu/filtering/menu-tabbing.service.mjs +7 -6
  31. package/{esm2020 → esm2022}/configurator/chip-menu/filtering/string-filter-menu.component.mjs +25 -15
  32. package/{esm2020 → esm2022}/configurator/chip-menu/single-popup.service.mjs +21 -10
  33. package/{esm2020 → esm2022}/configurator/configurator.component.mjs +51 -38
  34. package/{esm2020 → esm2022}/configurator/configurator.service.mjs +12 -5
  35. package/{esm2020 → esm2022}/configurator/draggable.directive.mjs +19 -11
  36. package/{esm2020 → esm2022}/configurator/drop-cue.service.mjs +4 -3
  37. package/{esm2020 → esm2022}/configurator/drop-target.directive.mjs +15 -4
  38. package/{esm2020 → esm2022}/data-binding/base-binding-directive.mjs +43 -35
  39. package/{esm2020 → esm2022}/data-binding/local-binding.directive.mjs +17 -5
  40. package/{esm2020 → esm2022}/data-binding/olap-binding.directive.mjs +16 -4
  41. package/{esm2020 → esm2022}/data-binding/pivotgrid-data.service.mjs +25 -14
  42. package/{esm2020 → esm2022}/localization/custom-messages.component.mjs +9 -8
  43. package/{esm2020 → esm2022}/localization/localized-messages.directive.mjs +9 -8
  44. package/esm2022/localization/messages.mjs +284 -0
  45. package/{esm2020 → esm2022}/localization/pivot-localization.service.mjs +4 -3
  46. package/{esm2020 → esm2022}/models/configuration-change-event.mjs +20 -0
  47. package/{esm2020 → esm2022}/models/configurator-settings.mjs +5 -0
  48. package/{esm2020 → esm2022}/models/expanded-change-event.mjs +12 -0
  49. package/{esm2020 → esm2022}/package-metadata.mjs +2 -2
  50. package/{esm2020 → esm2022}/pivotgrid.component.mjs +98 -73
  51. package/{esm2020 → esm2022}/pivotgrid.module.mjs +12 -12
  52. package/{esm2020 → esm2022}/rendering/pivotgrid-cell.directive.mjs +30 -19
  53. package/{esm2020 → esm2022}/rendering/pivotgrid-table.component.mjs +66 -48
  54. package/{esm2020 → esm2022}/rendering/templates/pivotgrid-cell-template.directive.mjs +4 -3
  55. package/{esm2020 → esm2022}/rendering/templates/pivotgrid-column-header-cell-template.directive.mjs +4 -3
  56. package/{esm2020 → esm2022}/rendering/templates/pivotgrid-row-header-cell-template.directive.mjs +4 -3
  57. package/{esm2020 → esm2022}/rendering/templates/pivotgrid-value-cell-template.directive.mjs +4 -3
  58. package/{esm2020 → esm2022}/virtual/scroll.service.mjs +5 -6
  59. package/{esm2020 → esm2022}/virtual/scrollable-container.mjs +57 -43
  60. package/{fesm2020 → fesm2022}/progress-kendo-angular-pivotgrid.mjs +1057 -555
  61. package/localization/messages.d.ts +1 -1
  62. package/models/configurator-chipmenu-reorder-target.d.ts +1 -1
  63. package/models/configurator-orientation.d.ts +1 -1
  64. package/models/configurator-position.d.ts +1 -1
  65. package/models/drop-section.d.ts +1 -1
  66. package/models/drop-target.d.ts +1 -1
  67. package/models/expanded-state-action.d.ts +2 -2
  68. package/models/virtualization-settings.d.ts +1 -1
  69. package/package.json +21 -27
  70. package/pivotgrid.component.d.ts +1 -1
  71. package/rendering/pivotgrid-cell.directive.d.ts +1 -1
  72. package/rendering/pivotgrid-table.component.d.ts +1 -1
  73. package/schematics/ngAdd/index.js +2 -2
  74. package/esm2020/localization/messages.mjs +0 -87
  75. package/fesm2015/progress-kendo-angular-pivotgrid.mjs +0 -4933
  76. /package/{esm2020 → esm2022}/directives.mjs +0 -0
  77. /package/{esm2020 → esm2022}/index.mjs +0 -0
  78. /package/{esm2020 → esm2022}/models/configurator-chipmenu-reorder-target.mjs +0 -0
  79. /package/{esm2020 → esm2022}/models/configurator-orientation.mjs +0 -0
  80. /package/{esm2020 → esm2022}/models/configurator-position.mjs +0 -0
  81. /package/{esm2020 → esm2022}/models/data-row-item.mjs +0 -0
  82. /package/{esm2020 → esm2022}/models/drop-section.mjs +0 -0
  83. /package/{esm2020 → esm2022}/models/drop-target.mjs +0 -0
  84. /package/{esm2020 → esm2022}/models/expanded-state-action.mjs +0 -0
  85. /package/{esm2020 → esm2022}/models/loader-settings.mjs +0 -0
  86. /package/{esm2020 → esm2022}/models/virtualization-settings.mjs +0 -0
  87. /package/{esm2020 → esm2022}/progress-kendo-angular-pivotgrid.mjs +0 -0
  88. /package/{esm2020 → esm2022}/util.mjs +0 -0
@@ -34,12 +34,15 @@ import { DialogContainerService, DialogService, WindowService, WindowContainerSe
34
34
  * @hidden
35
35
  */
36
36
  class ChipKeyboardNavigationDirective {
37
+ host;
38
+ renderer;
39
+ ngZone;
40
+ keydownSub = new Subscription();
41
+ reorder = new EventEmitter();
37
42
  constructor(host, renderer, ngZone) {
38
43
  this.host = host;
39
44
  this.renderer = renderer;
40
45
  this.ngZone = ngZone;
41
- this.keydownSub = new Subscription();
42
- this.reorder = new EventEmitter();
43
46
  }
44
47
  ngOnInit() {
45
48
  const chipElement = this.host.element.nativeElement;
@@ -73,10 +76,10 @@ class ChipKeyboardNavigationDirective {
73
76
  ngOnDestroy() {
74
77
  this.keydownSub.unsubscribe();
75
78
  }
79
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipKeyboardNavigationDirective, deps: [{ token: i1.ChipComponent }, { token: i0.Renderer2 }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
80
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ChipKeyboardNavigationDirective, isStandalone: true, selector: "[kendoChipKeyboardNavigation]", outputs: { reorder: "reorder" }, ngImport: i0 });
76
81
  }
77
- ChipKeyboardNavigationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChipKeyboardNavigationDirective, deps: [{ token: i1.ChipComponent }, { token: i0.Renderer2 }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
78
- ChipKeyboardNavigationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: ChipKeyboardNavigationDirective, isStandalone: true, selector: "[kendoChipKeyboardNavigation]", outputs: { reorder: "reorder" }, ngImport: i0 });
79
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChipKeyboardNavigationDirective, decorators: [{
82
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipKeyboardNavigationDirective, decorators: [{
80
83
  type: Directive,
81
84
  args: [{
82
85
  selector: '[kendoChipKeyboardNavigation]',
@@ -90,31 +93,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
90
93
  * @hidden
91
94
  */
92
95
  class ChipMenuItemDirective {
93
- constructor(hostElement, renderer, ngZone) {
94
- this.hostElement = hostElement;
95
- this.renderer = renderer;
96
- this.ngZone = ngZone;
97
- this._isFirst = false;
98
- this._isLast = false;
99
- this.subs = new Subscription();
100
- this.onTab = (e) => {
101
- if (e.keyCode !== Keys.Tab) {
102
- return;
103
- }
104
- if (this.isFirst && e.shiftKey && e.target === this.chipMenuItems[0]) {
105
- e.preventDefault();
106
- this.menuItemComponent.service.menuTabbingService.lastFocusable.focus();
107
- }
108
- if (this.isLast && !e.shiftKey) {
109
- const lastColumnMenuItem = this.getLastColumnMenuItem();
110
- const isExpanded = this.menuItemComponent.expanded;
111
- if (lastColumnMenuItem === e.target && !isExpanded) {
112
- e.preventDefault();
113
- this.menuItemComponent.service.menuTabbingService.firstFocusable.focus();
114
- }
115
- }
116
- };
117
- }
96
+ hostElement;
97
+ renderer;
98
+ ngZone;
99
+ menuItemComponent;
100
+ firstFocusableElement;
101
+ lastFocusableElement;
118
102
  set isFirst(value) {
119
103
  if (value) {
120
104
  const focusableElement = this.chipMenuItems[0];
@@ -146,6 +130,15 @@ class ChipMenuItemDirective {
146
130
  get isLast() {
147
131
  return this._isLast;
148
132
  }
133
+ _isFirst = false;
134
+ _isLast = false;
135
+ chipMenuItems;
136
+ subs = new Subscription();
137
+ constructor(hostElement, renderer, ngZone) {
138
+ this.hostElement = hostElement;
139
+ this.renderer = renderer;
140
+ this.ngZone = ngZone;
141
+ }
149
142
  ngAfterViewInit() {
150
143
  this.chipMenuItems = this.hostElement.nativeElement.querySelectorAll('.k-columnmenu-item');
151
144
  this.chipMenuItems.forEach(el => this.renderer.setAttribute(el, 'tabindex', '0'));
@@ -153,13 +146,30 @@ class ChipMenuItemDirective {
153
146
  ngOnDestroy() {
154
147
  this.subs.unsubscribe();
155
148
  }
149
+ onTab = (e) => {
150
+ if (e.keyCode !== Keys.Tab) {
151
+ return;
152
+ }
153
+ if (this.isFirst && e.shiftKey && e.target === this.chipMenuItems[0]) {
154
+ e.preventDefault();
155
+ this.menuItemComponent.service.menuTabbingService.lastFocusable.focus();
156
+ }
157
+ if (this.isLast && !e.shiftKey) {
158
+ const lastColumnMenuItem = this.getLastColumnMenuItem();
159
+ const isExpanded = this.menuItemComponent.expanded;
160
+ if (lastColumnMenuItem === e.target && !isExpanded) {
161
+ e.preventDefault();
162
+ this.menuItemComponent.service.menuTabbingService.firstFocusable.focus();
163
+ }
164
+ }
165
+ };
156
166
  getLastColumnMenuItem() {
157
167
  return this.chipMenuItems[this.chipMenuItems.length - 1];
158
168
  }
169
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipMenuItemDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
170
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ChipMenuItemDirective, isStandalone: true, selector: "[kendoPivotChipMenuItem]", inputs: { menuItemComponent: ["kendoPivotChipMenuItem", "menuItemComponent"] }, ngImport: i0 });
159
171
  }
160
- ChipMenuItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChipMenuItemDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
161
- ChipMenuItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: ChipMenuItemDirective, isStandalone: true, selector: "[kendoPivotChipMenuItem]", inputs: { menuItemComponent: ["kendoPivotChipMenuItem", "menuItemComponent"] }, ngImport: i0 });
162
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChipMenuItemDirective, decorators: [{
172
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipMenuItemDirective, decorators: [{
163
173
  type: Directive,
164
174
  args: [{
165
175
  selector: '[kendoPivotChipMenuItem]',
@@ -399,21 +409,32 @@ let nextPivotGridId = 0;
399
409
  * @hidden
400
410
  */
401
411
  class PivotGridDataService {
412
+ ngZone;
413
+ expandedStateChange = new EventEmitter();
414
+ configuratorFieldChange = new EventEmitter();
415
+ expandedFieldChange = new EventEmitter();
416
+ directive;
417
+ normalizedData;
418
+ rows;
419
+ columns;
420
+ wrapper;
421
+ aggregateData;
422
+ state;
423
+ columnHeaderLeaves;
424
+ columnHeaderRows = new BehaviorSubject([]);
425
+ columnHeaderCols = new BehaviorSubject([]);
426
+ rowHeaderLeaves;
427
+ rowHeaderCols = new BehaviorSubject([]);
428
+ rowHeaderRows = new BehaviorSubject([]);
429
+ valuesRows = new BehaviorSubject([]);
430
+ loading = new BehaviorSubject(false);
431
+ pivotGridId;
402
432
  constructor(ngZone) {
403
433
  this.ngZone = ngZone;
404
- this.expandedStateChange = new EventEmitter();
405
- this.configuratorFieldChange = new EventEmitter();
406
- this.expandedFieldChange = new EventEmitter();
407
- this.columnHeaderRows = new BehaviorSubject([]);
408
- this.columnHeaderCols = new BehaviorSubject([]);
409
- this.rowHeaderCols = new BehaviorSubject([]);
410
- this.rowHeaderRows = new BehaviorSubject([]);
411
- this.valuesRows = new BehaviorSubject([]);
412
- this.loading = new BehaviorSubject(false);
413
- this.fields = new BehaviorSubject([]);
414
- this.configuredFields = new BehaviorSubject([]);
415
434
  this.pivotGridId = nextPivotGridId++;
416
435
  }
436
+ fields = new BehaviorSubject([]);
437
+ configuredFields = new BehaviorSubject([]);
417
438
  updateRowsAndCols() {
418
439
  const rowsTree = toTree((this.rows || []).slice());
419
440
  const [rowHeaderRows, rowHeaderLeaves, rowHeaderDepth, rowHeaderBreadth] = toRows(rowsTree);
@@ -434,10 +455,10 @@ class PivotGridDataService {
434
455
  });
435
456
  }
436
457
  }
458
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PivotGridDataService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
459
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PivotGridDataService });
437
460
  }
438
- PivotGridDataService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PivotGridDataService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
439
- PivotGridDataService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PivotGridDataService });
440
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PivotGridDataService, decorators: [{
461
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PivotGridDataService, decorators: [{
441
462
  type: Injectable
442
463
  }], ctorParameters: function () { return [{ type: i0.NgZone }]; }, propDecorators: { expandedStateChange: [{
443
464
  type: Output
@@ -451,6 +472,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
451
472
  * @hidden
452
473
  */
453
474
  class PivotGridState {
475
+ columnAxes;
476
+ rowAxes;
477
+ measureAxes;
478
+ sort;
479
+ filter;
454
480
  constructor(columnAxes, rowAxes, measureAxes, sort, filter) {
455
481
  this.columnAxes = columnAxes;
456
482
  this.rowAxes = rowAxes;
@@ -464,10 +490,17 @@ class PivotGridState {
464
490
  * @hidden
465
491
  */
466
492
  class ConfiguratorService {
493
+ dataService;
494
+ configuratorInstance;
495
+ state;
496
+ draggedElement;
497
+ dropTargetElement;
498
+ cueContainer;
499
+ orientation;
500
+ configuratorStateChange = new EventEmitter();
501
+ closeMenu = new EventEmitter();
467
502
  constructor(dataService) {
468
503
  this.dataService = dataService;
469
- this.configuratorStateChange = new EventEmitter();
470
- this.closeMenu = new EventEmitter();
471
504
  }
472
505
  parseConfiguratorState(action) {
473
506
  const newState = configuratorReducer({
@@ -486,10 +519,10 @@ class ConfiguratorService {
486
519
  this.dataService.state = new PivotGridState(this.state.columnAxes, this.state.rowAxes, this.state.measureAxes, this.state.sort, this.state.filter);
487
520
  this.configuratorStateChange.emit(this.state);
488
521
  }
522
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConfiguratorService, deps: [{ token: PivotGridDataService }], target: i0.ɵɵFactoryTarget.Injectable });
523
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConfiguratorService });
489
524
  }
490
- ConfiguratorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ConfiguratorService, deps: [{ token: PivotGridDataService }], target: i0.ɵɵFactoryTarget.Injectable });
491
- ConfiguratorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ConfiguratorService });
492
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ConfiguratorService, decorators: [{
525
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConfiguratorService, decorators: [{
493
526
  type: Injectable
494
527
  }], ctorParameters: function () { return [{ type: PivotGridDataService }]; }, propDecorators: { configuratorStateChange: [{
495
528
  type: Output
@@ -501,13 +534,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
501
534
  * @hidden
502
535
  */
503
536
  class MenuTabbingService {
504
- constructor() {
505
- this.isPopupOpen = false;
506
- }
537
+ firstFocusable;
538
+ lastFocusable;
539
+ isPopupOpen = false;
540
+ lastMenuItem;
541
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MenuTabbingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
542
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MenuTabbingService });
507
543
  }
508
- MenuTabbingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MenuTabbingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
509
- MenuTabbingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MenuTabbingService });
510
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MenuTabbingService, decorators: [{
544
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MenuTabbingService, decorators: [{
511
545
  type: Injectable
512
546
  }] });
513
547
 
@@ -516,26 +550,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
516
550
  * Represents the service that is passed to the ChipMenuFilterComponent and ChipMenuSortComponent.
517
551
  */
518
552
  class ChipMenuService {
519
- constructor(menuTabbingService, configuratorService) {
520
- this.configuratorService = configuratorService;
521
- this.closeMenu = new EventEmitter();
522
- this.sub = new Subscription();
523
- this.menuTabbingService = menuTabbingService;
524
- configuratorService && (this.sub = configuratorService.closeMenu.subscribe(() => this.close()));
525
- }
553
+ configuratorService;
554
+ menuTabbingService;
555
+ closeMenu = new EventEmitter();
556
+ sub = new Subscription();
526
557
  /**
527
558
  * Closes the chip menu.
528
559
  */
529
560
  close() {
530
561
  this.closeMenu.emit();
531
562
  }
563
+ constructor(menuTabbingService, configuratorService) {
564
+ this.configuratorService = configuratorService;
565
+ this.menuTabbingService = menuTabbingService;
566
+ configuratorService && (this.sub = configuratorService.closeMenu.subscribe(() => this.close()));
567
+ }
532
568
  ngOnDestroy() {
533
569
  this.sub.unsubscribe();
534
570
  }
571
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipMenuService, deps: [{ token: MenuTabbingService }, { token: ConfiguratorService }], target: i0.ɵɵFactoryTarget.Injectable });
572
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipMenuService });
535
573
  }
536
- ChipMenuService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChipMenuService, deps: [{ token: MenuTabbingService }, { token: ConfiguratorService }], target: i0.ɵɵFactoryTarget.Injectable });
537
- ChipMenuService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChipMenuService });
538
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChipMenuService, decorators: [{
574
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipMenuService, decorators: [{
539
575
  type: Injectable
540
576
  }], ctorParameters: function () { return [{ type: MenuTabbingService }, { type: ConfiguratorService }]; } });
541
577
 
@@ -543,10 +579,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
543
579
  * @hidden
544
580
  */
545
581
  class ChipMenuContainerComponent {
582
+ service;
583
+ ngZone;
584
+ chipMenuItems;
585
+ hostClass = true;
546
586
  constructor(service, ngZone) {
547
587
  this.service = service;
548
588
  this.ngZone = ngZone;
549
- this.hostClass = true;
550
589
  }
551
590
  ngAfterViewInit() {
552
591
  if (!this.chipMenuItems.length) {
@@ -556,12 +595,12 @@ class ChipMenuContainerComponent {
556
595
  this.chipMenuItems.last.isLast = true;
557
596
  this.ngZone.onStable.pipe(take(1)).subscribe(() => this.service.menuTabbingService.firstFocusable.focus());
558
597
  }
559
- }
560
- ChipMenuContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChipMenuContainerComponent, deps: [{ token: ChipMenuService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
561
- ChipMenuContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ChipMenuContainerComponent, isStandalone: true, selector: "kendo-pivot-chipmenu-container", host: { properties: { "class.k-grid-columnmenu-popup": "this.hostClass" } }, queries: [{ propertyName: "chipMenuItems", predicate: ChipMenuItemDirective, descendants: true }], ngImport: i0, template: `
598
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipMenuContainerComponent, deps: [{ token: ChipMenuService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
599
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ChipMenuContainerComponent, isStandalone: true, selector: "kendo-pivot-chipmenu-container", host: { properties: { "class.k-grid-columnmenu-popup": "this.hostClass" } }, queries: [{ propertyName: "chipMenuItems", predicate: ChipMenuItemDirective, descendants: true }], ngImport: i0, template: `
562
600
  <ng-content></ng-content>
563
601
  `, isInline: true });
564
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChipMenuContainerComponent, decorators: [{
602
+ }
603
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipMenuContainerComponent, decorators: [{
565
604
  type: Component,
566
605
  args: [{
567
606
  selector: 'kendo-pivot-chipmenu-container',
@@ -584,6 +623,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
584
623
  * Needed to keep the Pivot's LocalizationService reference and be able to use it inside the ChipList component.
585
624
  */
586
625
  class PivotLocalizationService {
626
+ localization;
587
627
  constructor(localization) {
588
628
  this.localization = localization;
589
629
  }
@@ -593,10 +633,10 @@ class PivotLocalizationService {
593
633
  get rtl() {
594
634
  return this.localization.rtl;
595
635
  }
636
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PivotLocalizationService, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Injectable });
637
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PivotLocalizationService });
596
638
  }
597
- PivotLocalizationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PivotLocalizationService, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Injectable });
598
- PivotLocalizationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PivotLocalizationService });
599
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PivotLocalizationService, decorators: [{
639
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PivotLocalizationService, decorators: [{
600
640
  type: Injectable
601
641
  }], ctorParameters: function () { return [{ type: i1$1.LocalizationService }]; } });
602
642
 
@@ -604,9 +644,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
604
644
  * @hidden
605
645
  */
606
646
  class ChipMenuItemBase {
607
- constructor() {
608
- this.hostClass = true;
609
- }
647
+ /**
648
+ * Represents the ChipMenuService class.
649
+ * Requires a mandatory input.
650
+ */
651
+ service;
652
+ hostClass = true;
610
653
  ngOnInit() {
611
654
  if (isDevMode() && !this.service) {
612
655
  throw new Error('The service input of the host chip menu components (e.g. ChipMenuSortComponent) is mandatory.');
@@ -615,10 +658,10 @@ class ChipMenuItemBase {
615
658
  close() {
616
659
  this.service.close();
617
660
  }
661
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipMenuItemBase, deps: [], target: i0.ɵɵFactoryTarget.Component });
662
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ChipMenuItemBase, selector: "kendo-pivot-chip-menu-item-base", inputs: { service: "service" }, host: { properties: { "class.k-columnmenu-item-wrapper": "this.hostClass" } }, ngImport: i0, template: ``, isInline: true });
618
663
  }
619
- ChipMenuItemBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChipMenuItemBase, deps: [], target: i0.ɵɵFactoryTarget.Component });
620
- ChipMenuItemBase.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ChipMenuItemBase, selector: "kendo-pivot-chip-menu-item-base", inputs: { service: "service" }, host: { properties: { "class.k-columnmenu-item-wrapper": "this.hostClass" } }, ngImport: i0, template: ``, isInline: true });
621
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChipMenuItemBase, decorators: [{
664
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipMenuItemBase, decorators: [{
622
665
  type: Component,
623
666
  args: [{
624
667
  selector: 'kendo-pivot-chip-menu-item-base',
@@ -635,14 +678,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
635
678
  * @hidden
636
679
  */
637
680
  class FilterMenuDropDownListDirective {
681
+ host;
682
+ filterMenuDropDownLabel;
638
683
  constructor(host) {
639
684
  this.host = host;
640
- this.keydownHandler = (e) => {
641
- if (e.keyCode === Keys.Escape && this.host.isOpen) {
642
- e.stopPropagation();
643
- this.host.toggle(false);
644
- }
645
- };
646
685
  }
647
686
  ngAfterViewInit() {
648
687
  const wrapperElement = this.host.wrapper.nativeElement;
@@ -652,10 +691,16 @@ class FilterMenuDropDownListDirective {
652
691
  ngOnDestroy() {
653
692
  this.host.wrapper.nativeElement.removeEventListener('keydown', this.keydownHandler);
654
693
  }
694
+ keydownHandler = (e) => {
695
+ if (e.keyCode === Keys.Escape && this.host.isOpen) {
696
+ e.stopPropagation();
697
+ this.host.toggle(false);
698
+ }
699
+ };
700
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilterMenuDropDownListDirective, deps: [{ token: i1$2.DropDownListComponent }], target: i0.ɵɵFactoryTarget.Directive });
701
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FilterMenuDropDownListDirective, isStandalone: true, selector: "[kendoFilterMenuDropDown]", inputs: { filterMenuDropDownLabel: "filterMenuDropDownLabel" }, ngImport: i0 });
655
702
  }
656
- FilterMenuDropDownListDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FilterMenuDropDownListDirective, deps: [{ token: i1$2.DropDownListComponent }], target: i0.ɵɵFactoryTarget.Directive });
657
- FilterMenuDropDownListDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: FilterMenuDropDownListDirective, isStandalone: true, selector: "[kendoFilterMenuDropDown]", inputs: { filterMenuDropDownLabel: "filterMenuDropDownLabel" }, ngImport: i0 });
658
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FilterMenuDropDownListDirective, decorators: [{
703
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilterMenuDropDownListDirective, decorators: [{
659
704
  type: Directive,
660
705
  args: [{
661
706
  selector: '[kendoFilterMenuDropDown]',
@@ -690,18 +735,28 @@ const stringOperators = localizeOperators({
690
735
  * Represents a string-filter menu component.
691
736
  */
692
737
  class StringFilterMenuComponent {
738
+ localization;
739
+ configuratorService;
740
+ fb;
741
+ /**
742
+ * The field with which the filter is associated.
743
+ */
744
+ chip;
745
+ menuTabbingService;
746
+ operators;
747
+ filterFormGroup;
748
+ get currentFilter() {
749
+ const filterValue = this.configuratorService.state.filter?.filter(x => x.field === this.chip.name.toString());
750
+ return filterValue && filterValue[0];
751
+ }
752
+ subscription = new Subscription();
693
753
  constructor(localization, configuratorService, fb) {
694
754
  this.localization = localization;
695
755
  this.configuratorService = configuratorService;
696
756
  this.fb = fb;
697
- this.subscription = new Subscription();
698
- // eslint-disable-next-line @typescript-eslint/no-empty-function
699
- this.onTouched = () => { };
700
- }
701
- get currentFilter() {
702
- const filterValue = this.configuratorService.state.filter?.filter(x => x.field === this.chip.name.toString());
703
- return filterValue && filterValue[0];
704
757
  }
758
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
759
+ onTouched = () => { };
705
760
  registerOnChange(fn) {
706
761
  this.filterFormGroup.valueChanges.subscribe(fn);
707
762
  }
@@ -728,13 +783,12 @@ class StringFilterMenuComponent {
728
783
  ngOnDestroy() {
729
784
  this.subscription.unsubscribe();
730
785
  }
731
- }
732
- StringFilterMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: StringFilterMenuComponent, deps: [{ token: PivotLocalizationService }, { token: ConfiguratorService }, { token: i3.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
733
- StringFilterMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: StringFilterMenuComponent, isStandalone: true, selector: "kendo-pivot-string-filter-menu", inputs: { chip: "chip", menuTabbingService: "menuTabbingService" }, providers: [{
734
- provide: NG_VALUE_ACCESSOR,
735
- useExisting: forwardRef(() => StringFilterMenuComponent),
736
- multi: true
737
- }], ngImport: i0, template: `
786
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: StringFilterMenuComponent, deps: [{ token: PivotLocalizationService }, { token: ConfiguratorService }, { token: i3.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
787
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: StringFilterMenuComponent, isStandalone: true, selector: "kendo-pivot-string-filter-menu", inputs: { chip: "chip", menuTabbingService: "menuTabbingService" }, providers: [{
788
+ provide: NG_VALUE_ACCESSOR,
789
+ useExisting: forwardRef(() => StringFilterMenuComponent),
790
+ multi: true
791
+ }], ngImport: i0, template: `
738
792
  <ng-container [formGroup]="filterFormGroup">
739
793
  <kendo-dropdownlist
740
794
  kendoFilterMenuDropDown
@@ -751,7 +805,8 @@ StringFilterMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.
751
805
  />
752
806
  </ng-container>
753
807
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { kind: "directive", type: FilterMenuDropDownListDirective, selector: "[kendoFilterMenuDropDown]", inputs: ["filterMenuDropDownLabel"] }, { kind: "directive", type: TextBoxDirective, selector: "input[kendoTextBox]", inputs: ["value"] }] });
754
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: StringFilterMenuComponent, decorators: [{
808
+ }
809
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: StringFilterMenuComponent, decorators: [{
755
810
  type: Component,
756
811
  args: [{
757
812
  selector: 'kendo-pivot-string-filter-menu',
@@ -795,12 +850,25 @@ const validFilter = ({ value, operator }) => !isNullOrEmptyString(value) || isNo
795
850
  * @hidden
796
851
  */
797
852
  class FilterMenuContainerComponent {
853
+ localization;
854
+ cd;
855
+ configuratorService;
856
+ close = new EventEmitter();
857
+ /**
858
+ * The field with which the filter is associated.
859
+ */
860
+ chip;
861
+ isLast;
862
+ isExpanded;
863
+ menuTabbingService;
864
+ actionsClass = 'k-action-buttons k-button-group';
865
+ filterDescriptorValue;
866
+ resetButton;
867
+ filterButton;
798
868
  constructor(localization, cd, menuTabbingService, configuratorService) {
799
869
  this.localization = localization;
800
870
  this.cd = cd;
801
871
  this.configuratorService = configuratorService;
802
- this.close = new EventEmitter();
803
- this.actionsClass = 'k-action-buttons k-button-group';
804
872
  this.menuTabbingService = menuTabbingService;
805
873
  }
806
874
  ngAfterViewChecked() {
@@ -853,11 +921,10 @@ class FilterMenuContainerComponent {
853
921
  messageFor(localizationToken) {
854
922
  return this.localization.get(localizationToken);
855
923
  }
856
- }
857
- FilterMenuContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FilterMenuContainerComponent, deps: [{ token: PivotLocalizationService }, { token: i0.ChangeDetectorRef }, { token: MenuTabbingService }, { token: ConfiguratorService }], target: i0.ɵɵFactoryTarget.Component });
858
- FilterMenuContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: FilterMenuContainerComponent, isStandalone: true, selector: "kendo-pivot-filter-menu-container", inputs: { chip: "chip", isLast: "isLast", isExpanded: "isExpanded", menuTabbingService: "menuTabbingService", actionsClass: "actionsClass" }, outputs: { close: "close" }, providers: [
859
- MenuTabbingService
860
- ], viewQueries: [{ propertyName: "resetButton", first: true, predicate: ["resetButton"], descendants: true }, { propertyName: "filterButton", first: true, predicate: ["filterButton"], descendants: true }], ngImport: i0, template: `
924
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilterMenuContainerComponent, deps: [{ token: PivotLocalizationService }, { token: i0.ChangeDetectorRef }, { token: MenuTabbingService }, { token: ConfiguratorService }], target: i0.ɵɵFactoryTarget.Component });
925
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FilterMenuContainerComponent, isStandalone: true, selector: "kendo-pivot-filter-menu-container", inputs: { chip: "chip", isLast: "isLast", isExpanded: "isExpanded", menuTabbingService: "menuTabbingService", actionsClass: "actionsClass" }, outputs: { close: "close" }, providers: [
926
+ MenuTabbingService
927
+ ], viewQueries: [{ propertyName: "resetButton", first: true, predicate: ["resetButton"], descendants: true }, { propertyName: "filterButton", first: true, predicate: ["filterButton"], descendants: true }], ngImport: i0, template: `
861
928
  <form (submit)="submit()" (reset)="reset()"
862
929
  class="k-filter-menu k-group k-reset k-state-border-up">
863
930
  <div class="k-filter-menu-container">
@@ -884,7 +951,8 @@ FilterMenuContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14
884
951
  </div>
885
952
  </form>
886
953
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: StringFilterMenuComponent, selector: "kendo-pivot-string-filter-menu", inputs: ["chip", "menuTabbingService"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
887
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FilterMenuContainerComponent, decorators: [{
954
+ }
955
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilterMenuContainerComponent, decorators: [{
888
956
  type: Component,
889
957
  args: [{
890
958
  providers: [
@@ -948,13 +1016,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
948
1016
  * Provides an option for specifying the content of a chip menu item..
949
1017
  */
950
1018
  class ChipMenuItemContentTemplateDirective {
1019
+ templateRef;
951
1020
  constructor(templateRef) {
952
1021
  this.templateRef = templateRef;
953
1022
  }
1023
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipMenuItemContentTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1024
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ChipMenuItemContentTemplateDirective, isStandalone: true, selector: "[kendoPivotChipMenuItemContentTemplate]", ngImport: i0 });
954
1025
  }
955
- ChipMenuItemContentTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChipMenuItemContentTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
956
- ChipMenuItemContentTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: ChipMenuItemContentTemplateDirective, isStandalone: true, selector: "[kendoPivotChipMenuItemContentTemplate]", ngImport: i0 });
957
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChipMenuItemContentTemplateDirective, decorators: [{
1026
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipMenuItemContentTemplateDirective, decorators: [{
958
1027
  type: Directive,
959
1028
  args: [{
960
1029
  selector: '[kendoPivotChipMenuItemContentTemplate]',
@@ -970,24 +1039,49 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
970
1039
  *
971
1040
  */
972
1041
  class ChipMenuItemComponent {
973
- constructor() {
974
- /**
975
- * Fires when the item is clicked.
976
- */
977
- this.itemClick = new EventEmitter();
978
- /**
979
- * Fires when the content is expanded.
980
- */
981
- this.expand = new EventEmitter();
982
- /**
983
- * Fires when the content is collapsed.
984
- */
985
- this.collapse = new EventEmitter();
986
- this.contentState = 'collapsed';
987
- }
1042
+ /**
1043
+ * Fires when the item is clicked.
1044
+ */
1045
+ itemClick = new EventEmitter();
1046
+ /**
1047
+ * Fires when the content is expanded.
1048
+ */
1049
+ expand = new EventEmitter();
1050
+ /**
1051
+ * Fires when the content is collapsed.
1052
+ */
1053
+ collapse = new EventEmitter();
1054
+ /**
1055
+ * Specifies the name of the [font icon]({% slug icons %}#toc-list-of-font-icons)
1056
+ * that will be rendered for the item.
1057
+ */
1058
+ icon;
1059
+ /**
1060
+ * Defines an SVGIcon to be rendered for the column menu items.
1061
+ * The input can take either an [existing Kendo SVG icon](slug:svgicon_list) or a custom one.
1062
+ */
1063
+ svgIcon;
1064
+ /**
1065
+ * Specifies the item text.
1066
+ */
1067
+ text;
1068
+ /**
1069
+ * Specifies if the item is selected.
1070
+ */
1071
+ selected;
1072
+ /**
1073
+ * Specifies if the item is expanded.
1074
+ */
1075
+ expanded;
1076
+ /**
1077
+ * Specified if the item is disabled
1078
+ */
1079
+ disabled;
1080
+ contentTemplate;
988
1081
  get iconClass() {
989
1082
  return `k-i-${this.icon}`;
990
1083
  }
1084
+ contentState = 'collapsed';
991
1085
  ngOnChanges(changes) {
992
1086
  if (changes.expanded) {
993
1087
  this.updateContentState();
@@ -1009,9 +1103,8 @@ class ChipMenuItemComponent {
1009
1103
  updateContentState() {
1010
1104
  this.contentState = this.expanded ? 'expanded' : 'collapsed';
1011
1105
  }
1012
- }
1013
- ChipMenuItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChipMenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1014
- ChipMenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ChipMenuItemComponent, isStandalone: true, selector: "kendo-pivot-chipmenu-item", inputs: { icon: "icon", svgIcon: "svgIcon", text: "text", selected: "selected", expanded: "expanded", disabled: "disabled" }, outputs: { itemClick: "itemClick", expand: "expand", collapse: "collapse" }, queries: [{ propertyName: "contentTemplate", first: true, predicate: ChipMenuItemContentTemplateDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
1106
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipMenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1107
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ChipMenuItemComponent, isStandalone: true, selector: "kendo-pivot-chipmenu-item", inputs: { icon: "icon", svgIcon: "svgIcon", text: "text", selected: "selected", expanded: "expanded", disabled: "disabled" }, outputs: { itemClick: "itemClick", expand: "expand", collapse: "collapse" }, queries: [{ propertyName: "contentTemplate", first: true, predicate: ChipMenuItemContentTemplateDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
1015
1108
  <div
1016
1109
  class="k-columnmenu-item"
1017
1110
  (click)="onClick($event)"
@@ -1033,29 +1126,30 @@ ChipMenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
1033
1126
  <ng-container [ngTemplateOutlet]="contentTemplate.templateRef"></ng-container>
1034
1127
  <div>
1035
1128
  `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [
1036
- trigger('state', [
1037
- state('collapsed', style({ display: 'none' })),
1038
- state('expanded', style({ display: 'block' })),
1039
- transition('collapsed => expanded', [
1040
- style({
1041
- height: '0px',
1042
- display: 'block'
1043
- }),
1044
- animate('100ms ease-in', style({
1045
- height: '*'
1046
- }))
1047
- ]),
1048
- transition('expanded => collapsed', [
1049
- style({
1050
- height: '*'
1051
- }),
1052
- animate('100ms ease-in', style({
1053
- height: '0px'
1054
- }))
1129
+ trigger('state', [
1130
+ state('collapsed', style({ display: 'none' })),
1131
+ state('expanded', style({ display: 'block' })),
1132
+ transition('collapsed => expanded', [
1133
+ style({
1134
+ height: '0px',
1135
+ display: 'block'
1136
+ }),
1137
+ animate('100ms ease-in', style({
1138
+ height: '*'
1139
+ }))
1140
+ ]),
1141
+ transition('expanded => collapsed', [
1142
+ style({
1143
+ height: '*'
1144
+ }),
1145
+ animate('100ms ease-in', style({
1146
+ height: '0px'
1147
+ }))
1148
+ ])
1055
1149
  ])
1056
- ])
1057
- ] });
1058
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChipMenuItemComponent, decorators: [{
1150
+ ] });
1151
+ }
1152
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipMenuItemComponent, decorators: [{
1059
1153
  type: Component,
1060
1154
  args: [{
1061
1155
  animations: [
@@ -1135,25 +1229,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1135
1229
  * Represents the component for setting field filters in the PivotGrid.
1136
1230
  */
1137
1231
  class ChipMenuFilterComponent extends ChipMenuItemBase {
1232
+ localization;
1233
+ hostElement;
1234
+ /**
1235
+ * Fires when the content is expanded.
1236
+ */
1237
+ expand = new EventEmitter();
1238
+ /**
1239
+ * Fires when the content is collapsed.
1240
+ */
1241
+ collapse = new EventEmitter();
1242
+ /**
1243
+ * Holds current field information.
1244
+ */
1245
+ chip;
1246
+ /**
1247
+ * Specifies if the content is expanded.
1248
+ */
1249
+ expanded = false;
1250
+ isLast = false;
1251
+ actionsClass = 'k-columnmenu-actions';
1252
+ filterSVGIcon = filterIcon;
1138
1253
  constructor(localization, hostElement) {
1139
1254
  super();
1140
1255
  this.localization = localization;
1141
1256
  this.hostElement = hostElement;
1142
- /**
1143
- * Fires when the content is expanded.
1144
- */
1145
- this.expand = new EventEmitter();
1146
- /**
1147
- * Fires when the content is collapsed.
1148
- */
1149
- this.collapse = new EventEmitter();
1150
- /**
1151
- * Specifies if the content is expanded.
1152
- */
1153
- this.expanded = false;
1154
- this.isLast = false;
1155
- this.actionsClass = 'k-columnmenu-actions';
1156
- this.filterSVGIcon = filterIcon;
1157
1257
  }
1158
1258
  ngAfterViewInit() {
1159
1259
  if (this.isLast) {
@@ -1182,9 +1282,8 @@ class ChipMenuFilterComponent extends ChipMenuItemBase {
1182
1282
  messageFor(localizationToken) {
1183
1283
  return this.localization.get(localizationToken);
1184
1284
  }
1185
- }
1186
- ChipMenuFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChipMenuFilterComponent, deps: [{ token: PivotLocalizationService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
1187
- ChipMenuFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ChipMenuFilterComponent, isStandalone: true, selector: "kendo-pivot-chipmenu-filter", inputs: { chip: "chip", expanded: "expanded", isLast: "isLast" }, outputs: { expand: "expand", collapse: "collapse" }, usesInheritance: true, ngImport: i0, template: `
1285
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipMenuFilterComponent, deps: [{ token: PivotLocalizationService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
1286
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ChipMenuFilterComponent, isStandalone: true, selector: "kendo-pivot-chipmenu-filter", inputs: { chip: "chip", expanded: "expanded", isLast: "isLast" }, outputs: { expand: "expand", collapse: "collapse" }, usesInheritance: true, ngImport: i0, template: `
1188
1287
  <kendo-pivot-chipmenu-item
1189
1288
  classs="k-widget k-expander"
1190
1289
  [text]="messageFor('fieldMenuFilterItemLabel')"
@@ -1206,7 +1305,8 @@ ChipMenuFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
1206
1305
  </ng-template>
1207
1306
  </kendo-pivot-chipmenu-item>
1208
1307
  `, isInline: true, dependencies: [{ kind: "component", type: ChipMenuItemComponent, selector: "kendo-pivot-chipmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "expanded", "disabled"], outputs: ["itemClick", "expand", "collapse"] }, { kind: "directive", type: ChipMenuItemContentTemplateDirective, selector: "[kendoPivotChipMenuItemContentTemplate]" }, { kind: "component", type: FilterMenuContainerComponent, selector: "kendo-pivot-filter-menu-container", inputs: ["chip", "isLast", "isExpanded", "menuTabbingService", "actionsClass"], outputs: ["close"] }] });
1209
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChipMenuFilterComponent, decorators: [{
1308
+ }
1309
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipMenuFilterComponent, decorators: [{
1210
1310
  type: Component,
1211
1311
  args: [{
1212
1312
  selector: 'kendo-pivot-chipmenu-filter',
@@ -1253,21 +1353,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1253
1353
  * Represents a chip-menu item for reordering PivotGrid fields.
1254
1354
  */
1255
1355
  class ChipMenuReorderComponent extends ChipMenuItemBase {
1256
- constructor(localization, renderer, configuratorService, dataService, cdr, ngZone) {
1257
- super();
1258
- this.localization = localization;
1259
- this.renderer = renderer;
1260
- this.configuratorService = configuratorService;
1261
- this.dataService = dataService;
1262
- this.cdr = cdr;
1263
- this.ngZone = ngZone;
1264
- this.columnsIcon = columnsIcon;
1265
- this.rowsIcon = rowsIcon;
1266
- this.arrowLeftIcon = arrowLeftIcon;
1267
- this.arrowRightIcon = arrowRightIcon;
1268
- this.rtl = false;
1269
- this.subs = this.localization.localization.changes.subscribe(({ rtl }) => this.rtl = rtl);
1270
- }
1356
+ localization;
1357
+ renderer;
1358
+ configuratorService;
1359
+ dataService;
1360
+ cdr;
1361
+ ngZone;
1362
+ chip;
1363
+ columnsIcon = columnsIcon;
1364
+ rowsIcon = rowsIcon;
1365
+ arrowLeftIcon = arrowLeftIcon;
1366
+ arrowRightIcon = arrowRightIcon;
1367
+ rtl = false;
1271
1368
  get isColumnsField() {
1272
1369
  return this.configuratorService.state.columnAxes.some(item => item === this.chip);
1273
1370
  }
@@ -1289,6 +1386,17 @@ class ChipMenuReorderComponent extends ChipMenuItemBase {
1289
1386
  this.isRowsField && state.rowAxes[state.rowAxes.length - 1] === this.chip ||
1290
1387
  this.isMeasureField && state.measureAxes[state.measureAxes.length - 1] === this.chip;
1291
1388
  }
1389
+ subs;
1390
+ constructor(localization, renderer, configuratorService, dataService, cdr, ngZone) {
1391
+ super();
1392
+ this.localization = localization;
1393
+ this.renderer = renderer;
1394
+ this.configuratorService = configuratorService;
1395
+ this.dataService = dataService;
1396
+ this.cdr = cdr;
1397
+ this.ngZone = ngZone;
1398
+ this.subs = this.localization.localization.changes.subscribe(({ rtl }) => this.rtl = rtl);
1399
+ }
1292
1400
  ngOnDestroy() {
1293
1401
  this.subs.unsubscribe();
1294
1402
  }
@@ -1341,9 +1449,8 @@ class ChipMenuReorderComponent extends ChipMenuItemBase {
1341
1449
  }
1342
1450
  this.close();
1343
1451
  }
1344
- }
1345
- ChipMenuReorderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChipMenuReorderComponent, deps: [{ token: PivotLocalizationService }, { token: i0.Renderer2 }, { token: ConfiguratorService }, { token: PivotGridDataService }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1346
- ChipMenuReorderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ChipMenuReorderComponent, isStandalone: true, selector: "kendo-pivot-chipmenu-reorder", inputs: { chip: "chip" }, usesInheritance: true, ngImport: i0, template: `
1452
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipMenuReorderComponent, deps: [{ token: PivotLocalizationService }, { token: i0.Renderer2 }, { token: ConfiguratorService }, { token: PivotGridDataService }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1453
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ChipMenuReorderComponent, isStandalone: true, selector: "kendo-pivot-chipmenu-reorder", inputs: { chip: "chip" }, usesInheritance: true, ngImport: i0, template: `
1347
1454
  <kendo-pivot-chipmenu-item
1348
1455
  *ngIf="!isMeasureField"
1349
1456
  [disabled]="isColumnsField"
@@ -1375,7 +1482,8 @@ ChipMenuReorderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0
1375
1482
  (itemClick)="move($event, 'next')">
1376
1483
  </kendo-pivot-chipmenu-item>
1377
1484
  `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ChipMenuItemComponent, selector: "kendo-pivot-chipmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "expanded", "disabled"], outputs: ["itemClick", "expand", "collapse"] }] });
1378
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChipMenuReorderComponent, decorators: [{
1485
+ }
1486
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipMenuReorderComponent, decorators: [{
1379
1487
  type: Component,
1380
1488
  args: [{
1381
1489
  selector: 'kendo-pivot-chipmenu-reorder',
@@ -1425,13 +1533,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1425
1533
  * Allows the user to sort the PivotGrid.
1426
1534
  */
1427
1535
  class ChipMenuSortComponent extends ChipMenuItemBase {
1536
+ localization;
1537
+ renderer;
1538
+ configuratorService;
1539
+ chip;
1540
+ sortAscSVGIcon = sortAscSmallIcon;
1541
+ sortDescSVGIcon = sortDescSmallIcon;
1428
1542
  constructor(localization, renderer, configuratorService) {
1429
1543
  super();
1430
1544
  this.localization = localization;
1431
1545
  this.renderer = renderer;
1432
1546
  this.configuratorService = configuratorService;
1433
- this.sortAscSVGIcon = sortAscSmallIcon;
1434
- this.sortDescSVGIcon = sortDescSmallIcon;
1435
1547
  }
1436
1548
  get sortedAsc() {
1437
1549
  const descriptor = this.descriptor;
@@ -1460,9 +1572,8 @@ class ChipMenuSortComponent extends ChipMenuItemBase {
1460
1572
  get descriptor() {
1461
1573
  return [].concat(this.configuratorService.state.sort || []).find(s => s.field === this.chip.name.toString());
1462
1574
  }
1463
- }
1464
- ChipMenuSortComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChipMenuSortComponent, deps: [{ token: PivotLocalizationService }, { token: i0.Renderer2 }, { token: ConfiguratorService }], target: i0.ɵɵFactoryTarget.Component });
1465
- ChipMenuSortComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ChipMenuSortComponent, isStandalone: true, selector: "kendo-pivot-chipmenu-sort", inputs: { chip: "chip" }, usesInheritance: true, ngImport: i0, template: `
1575
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipMenuSortComponent, deps: [{ token: PivotLocalizationService }, { token: i0.Renderer2 }, { token: ConfiguratorService }], target: i0.ɵɵFactoryTarget.Component });
1576
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ChipMenuSortComponent, isStandalone: true, selector: "kendo-pivot-chipmenu-sort", inputs: { chip: "chip" }, usesInheritance: true, ngImport: i0, template: `
1466
1577
  <kendo-pivot-chipmenu-item
1467
1578
  [text]="messageFor('fieldMenuSortAscendingItemLabel')"
1468
1579
  icon="sort-asc-small"
@@ -1478,7 +1589,8 @@ ChipMenuSortComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
1478
1589
  [selected]="sortedDesc">
1479
1590
  </kendo-pivot-chipmenu-item>
1480
1591
  `, isInline: true, dependencies: [{ kind: "component", type: ChipMenuItemComponent, selector: "kendo-pivot-chipmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "expanded", "disabled"], outputs: ["itemClick", "expand", "collapse"] }] });
1481
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChipMenuSortComponent, decorators: [{
1592
+ }
1593
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipMenuSortComponent, decorators: [{
1482
1594
  type: Component,
1483
1595
  args: [{
1484
1596
  selector: 'kendo-pivot-chipmenu-sort',
@@ -1519,6 +1631,10 @@ const contains = (node, predicate) => {
1519
1631
  * Arguments for the `close` event of the chip-menu popup.
1520
1632
  */
1521
1633
  class PopupCloseEvent extends PreventableEvent {
1634
+ /**
1635
+ * The original DOM event that causes the popup to close.
1636
+ */
1637
+ originalEvent;
1522
1638
  /**
1523
1639
  * @hidden
1524
1640
  */
@@ -1533,18 +1649,25 @@ const DEFAULT_POPUP_CLASS = 'k-grid-filter-popup';
1533
1649
  * The service that is used for the popups of the chip menus.
1534
1650
  */
1535
1651
  class SinglePopupService {
1652
+ popupService;
1653
+ renderer;
1654
+ ngZone;
1655
+ localization;
1656
+ /**
1657
+ * Fires when the chip menus are about to close because the user clicked outside their popups.
1658
+ * Used to prevent the popup from closing.
1659
+ */
1660
+ onClose = new Subject();
1661
+ removeClick;
1662
+ pointerEventsSub = new Subscription();
1663
+ popupRef;
1664
+ scrollSubscription = new Subscription();
1665
+ canClosePopup;
1536
1666
  constructor(popupService, renderer, ngZone, localization) {
1537
1667
  this.popupService = popupService;
1538
1668
  this.renderer = renderer;
1539
1669
  this.ngZone = ngZone;
1540
1670
  this.localization = localization;
1541
- /**
1542
- * Fires when the chip menus are about to close because the user clicked outside their popups.
1543
- * Used to prevent the popup from closing.
1544
- */
1545
- this.onClose = new Subject();
1546
- this.pointerEventsSub = new Subscription();
1547
- this.scrollSubscription = new Subscription();
1548
1671
  }
1549
1672
  open(anchor, template, popupRef, popupClass = DEFAULT_POPUP_CLASS) {
1550
1673
  const toggle = isPresent(popupRef) && this.popupRef === popupRef;
@@ -1611,10 +1734,10 @@ class SinglePopupService {
1611
1734
  }));
1612
1735
  });
1613
1736
  }
1737
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SinglePopupService, deps: [{ token: i1$3.PopupService }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: PivotLocalizationService }], target: i0.ɵɵFactoryTarget.Injectable });
1738
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SinglePopupService });
1614
1739
  }
1615
- SinglePopupService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SinglePopupService, deps: [{ token: i1$3.PopupService }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: PivotLocalizationService }], target: i0.ɵɵFactoryTarget.Injectable });
1616
- SinglePopupService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SinglePopupService });
1617
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SinglePopupService, decorators: [{
1740
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SinglePopupService, decorators: [{
1618
1741
  type: Injectable
1619
1742
  }], ctorParameters: function () { return [{ type: i1$3.PopupService }, { type: i0.Renderer2 }, { type: i0.NgZone }, { type: PivotLocalizationService }]; } });
1620
1743
 
@@ -1626,14 +1749,26 @@ const POPUP_CLASS = 'k-column-menu';
1626
1749
  * Represents the field chip menu component.
1627
1750
  */
1628
1751
  class ChipMenuComponent {
1752
+ popupService;
1753
+ localization;
1754
+ service;
1755
+ renderer;
1756
+ /**
1757
+ * The Configurator field instance to control with the menu.
1758
+ */
1759
+ chip;
1760
+ tabIndex = '-1';
1761
+ isMeasureField = false;
1762
+ anchor;
1763
+ template;
1764
+ menuItemSVGIcon = moreVerticalIcon;
1765
+ popupRef;
1766
+ closeSubscription;
1629
1767
  constructor(popupService, localization, service, renderer) {
1630
1768
  this.popupService = popupService;
1631
1769
  this.localization = localization;
1632
1770
  this.service = service;
1633
1771
  this.renderer = renderer;
1634
- this.tabIndex = '-1';
1635
- this.isMeasureField = false;
1636
- this.menuItemSVGIcon = moreVerticalIcon;
1637
1772
  this.closeSubscription = service.closeMenu.subscribe(this.close.bind(this));
1638
1773
  }
1639
1774
  ngOnDestroy() {
@@ -1662,12 +1797,11 @@ class ChipMenuComponent {
1662
1797
  const chipName = this.chip.name.toString();
1663
1798
  return replaceMessagePlaceholder(localizationMsg, 'fieldName', chipName);
1664
1799
  }
1665
- }
1666
- ChipMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChipMenuComponent, deps: [{ token: SinglePopupService }, { token: PivotLocalizationService }, { token: ChipMenuService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
1667
- ChipMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ChipMenuComponent, isStandalone: true, selector: "kendo-pivot-chip-menu", inputs: { chip: "chip", tabIndex: "tabIndex", isMeasureField: "isMeasureField", anchor: "anchor" }, providers: [
1668
- ChipMenuService,
1669
- MenuTabbingService
1670
- ], viewQueries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true, static: true }], ngImport: i0, template: `
1800
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipMenuComponent, deps: [{ token: SinglePopupService }, { token: PivotLocalizationService }, { token: ChipMenuService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
1801
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ChipMenuComponent, isStandalone: true, selector: "kendo-pivot-chip-menu", inputs: { chip: "chip", tabIndex: "tabIndex", isMeasureField: "isMeasureField", anchor: "anchor" }, providers: [
1802
+ ChipMenuService,
1803
+ MenuTabbingService
1804
+ ], viewQueries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true, static: true }], ngImport: i0, template: `
1671
1805
  <ng-template #template>
1672
1806
  <kendo-pivot-chipmenu-container
1673
1807
  (keydown.escape)="close()"
@@ -1697,7 +1831,8 @@ ChipMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
1697
1831
  </kendo-pivot-chipmenu-container>
1698
1832
  </ng-template>
1699
1833
  `, isInline: true, dependencies: [{ kind: "component", type: ChipMenuContainerComponent, selector: "kendo-pivot-chipmenu-container" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ChipMenuSortComponent, selector: "kendo-pivot-chipmenu-sort", inputs: ["chip"] }, { kind: "directive", type: ChipMenuItemDirective, selector: "[kendoPivotChipMenuItem]", inputs: ["kendoPivotChipMenuItem"] }, { kind: "component", type: ChipMenuFilterComponent, selector: "kendo-pivot-chipmenu-filter", inputs: ["chip", "expanded", "isLast"], outputs: ["expand", "collapse"] }, { kind: "component", type: ChipMenuReorderComponent, selector: "kendo-pivot-chipmenu-reorder", inputs: ["chip"] }] });
1700
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChipMenuComponent, decorators: [{
1834
+ }
1835
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipMenuComponent, decorators: [{
1701
1836
  type: Component,
1702
1837
  args: [{
1703
1838
  providers: [
@@ -1768,6 +1903,7 @@ const append = (element, container) => {
1768
1903
  * @hidden
1769
1904
  */
1770
1905
  class DropCueService {
1906
+ dom;
1771
1907
  create() {
1772
1908
  this.dom = document.createElement('span');
1773
1909
  const wrapper = document.createElement('div');
@@ -1811,10 +1947,10 @@ class DropCueService {
1811
1947
  }
1812
1948
  this.dom.style.display = '';
1813
1949
  }
1950
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropCueService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1951
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropCueService });
1814
1952
  }
1815
- DropCueService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DropCueService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1816
- DropCueService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DropCueService });
1817
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DropCueService, decorators: [{
1953
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropCueService, decorators: [{
1818
1954
  type: Injectable
1819
1955
  }] });
1820
1956
 
@@ -1822,6 +1958,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1822
1958
  * @hidden
1823
1959
  */
1824
1960
  class DraggableChipDirective {
1961
+ draggable;
1962
+ element;
1963
+ zone;
1964
+ service;
1965
+ cue;
1966
+ renderer;
1967
+ get pointerEvents() {
1968
+ return this.drag ? 'none' : undefined;
1969
+ }
1970
+ touchActions = 'none';
1971
+ item;
1972
+ initialX = {};
1973
+ initialY = {};
1974
+ drag;
1975
+ invalidTarget = false;
1976
+ subs = new Subscription();
1825
1977
  constructor(draggable, element, zone, service, cue, renderer) {
1826
1978
  this.draggable = draggable;
1827
1979
  this.element = element;
@@ -1829,14 +1981,6 @@ class DraggableChipDirective {
1829
1981
  this.service = service;
1830
1982
  this.cue = cue;
1831
1983
  this.renderer = renderer;
1832
- this.touchActions = 'none';
1833
- this.initialX = {};
1834
- this.initialY = {};
1835
- this.invalidTarget = false;
1836
- this.subs = new Subscription();
1837
- }
1838
- get pointerEvents() {
1839
- return this.drag ? 'none' : undefined;
1840
1984
  }
1841
1985
  ngOnInit() {
1842
1986
  this.subs.add(this.draggable.kendoPress
@@ -1906,10 +2050,10 @@ class DraggableChipDirective {
1906
2050
  ngOnDestroy() {
1907
2051
  this.subs.unsubscribe();
1908
2052
  }
2053
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DraggableChipDirective, deps: [{ token: i1$4.DraggableDirective, optional: true }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: ConfiguratorService }, { token: DropCueService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
2054
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DraggableChipDirective, isStandalone: true, selector: "[kendoChipDraggable]", inputs: { item: "item" }, host: { properties: { "style.pointerEvents": "this.pointerEvents", "style.touch-action": "this.touchActions" } }, ngImport: i0 });
1909
2055
  }
1910
- DraggableChipDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DraggableChipDirective, deps: [{ token: i1$4.DraggableDirective, optional: true }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: ConfiguratorService }, { token: DropCueService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
1911
- DraggableChipDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: DraggableChipDirective, isStandalone: true, selector: "[kendoChipDraggable]", inputs: { item: "item" }, host: { properties: { "style.pointerEvents": "this.pointerEvents", "style.touch-action": "this.touchActions" } }, ngImport: i0 });
1912
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DraggableChipDirective, decorators: [{
2056
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DraggableChipDirective, decorators: [{
1913
2057
  type: Directive,
1914
2058
  args: [{
1915
2059
  selector: '[kendoChipDraggable]',
@@ -1931,13 +2075,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1931
2075
  * @hidden
1932
2076
  */
1933
2077
  class DropTargetDirective {
2078
+ element;
2079
+ configuratorService;
2080
+ cue;
2081
+ renderer;
2082
+ zone;
2083
+ item;
2084
+ axes;
2085
+ elementType;
2086
+ elementSectionType;
2087
+ targetElement;
2088
+ nextChipOffset;
2089
+ subs = new Subscription();
1934
2090
  constructor(element, configuratorService, cue, renderer, zone) {
1935
2091
  this.element = element;
1936
2092
  this.configuratorService = configuratorService;
1937
2093
  this.cue = cue;
1938
2094
  this.renderer = renderer;
1939
2095
  this.zone = zone;
1940
- this.subs = new Subscription();
1941
2096
  }
1942
2097
  ngOnInit() {
1943
2098
  const element = this.element.nativeElement;
@@ -2079,10 +2234,10 @@ class DropTargetDirective {
2079
2234
  }
2080
2235
  }
2081
2236
  }
2237
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropTargetDirective, deps: [{ token: i0.ElementRef }, { token: ConfiguratorService }, { token: DropCueService }, { token: i0.Renderer2 }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
2238
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DropTargetDirective, isStandalone: true, selector: "[kendoDropTarget]", inputs: { item: "item", axes: "axes" }, ngImport: i0 });
2082
2239
  }
2083
- DropTargetDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DropTargetDirective, deps: [{ token: i0.ElementRef }, { token: ConfiguratorService }, { token: DropCueService }, { token: i0.Renderer2 }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
2084
- DropTargetDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: DropTargetDirective, isStandalone: true, selector: "[kendoDropTarget]", inputs: { item: "item", axes: "axes" }, ngImport: i0 });
2085
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DropTargetDirective, decorators: [{
2240
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropTargetDirective, decorators: [{
2086
2241
  type: Directive,
2087
2242
  args: [{
2088
2243
  selector: '[kendoDropTarget]',
@@ -2099,44 +2254,44 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
2099
2254
  * Represents the Kendo UI PivotGrid Configurator component for Angular.
2100
2255
  */
2101
2256
  class PivotGridConfiguratorComponent {
2257
+ dataService;
2258
+ localization;
2259
+ configuratorService;
2260
+ cdr;
2261
+ zone;
2262
+ hostClass = true;
2263
+ hostAriaRole = 'dialog';
2264
+ get headerTextId() {
2265
+ return `k-pivotgrid-${this.dataService.pivotGridId}-configurator-header`;
2266
+ }
2267
+ orientation = 'vertical';
2268
+ sort = new Array();
2269
+ filter;
2270
+ navigation;
2271
+ close = new EventEmitter();
2272
+ treeView;
2273
+ columnsList;
2274
+ rowsList;
2275
+ originalState;
2276
+ state;
2277
+ fields;
2278
+ checked = [];
2279
+ get isHorizontal() {
2280
+ return this.orientation === 'horizontal';
2281
+ }
2282
+ subs = new Subscription();
2283
+ /**
2284
+ * A function which determines if a specific node has child nodes.
2285
+ */
2286
+ hasChildren = (node) => !('hierarchyUniqueName' in node) && !('aggregator' in node);
2102
2287
  constructor(dataService, localization, configuratorService, cdr, zone) {
2103
2288
  this.dataService = dataService;
2104
2289
  this.localization = localization;
2105
2290
  this.configuratorService = configuratorService;
2106
2291
  this.cdr = cdr;
2107
2292
  this.zone = zone;
2108
- this.hostClass = true;
2109
- this.hostAriaRole = 'dialog';
2110
- this.orientation = 'vertical';
2111
- this.sort = new Array();
2112
- this.close = new EventEmitter();
2113
- this.checked = [];
2114
- this.subs = new Subscription();
2115
- /**
2116
- * A function which determines if a specific node has child nodes.
2117
- */
2118
- this.hasChildren = (node) => !('hierarchyUniqueName' in node) && !('aggregator' in node);
2119
- this.checkItemBy = (context) => {
2120
- return context.dataItem;
2121
- };
2122
- /**
2123
- * A function which provides the child nodes for a given parent node.
2124
- */
2125
- this.children = (node) => {
2126
- if (this.dataService.directive.type === 'olap') {
2127
- const observable = from(this.dataService.directive.fetchChildren(node, this.fields));
2128
- return observable.pipe(mergeMap(value => of(value)));
2129
- }
2130
- return of(node.children);
2131
- };
2132
2293
  this.configuratorService.configuratorInstance = this;
2133
2294
  }
2134
- get headerTextId() {
2135
- return `k-pivotgrid-${this.dataService.pivotGridId}-configurator-header`;
2136
- }
2137
- get isHorizontal() {
2138
- return this.orientation === 'horizontal';
2139
- }
2140
2295
  ngOnInit() {
2141
2296
  this.subs.add(this.dataService.fields
2142
2297
  .subscribe(res => {
@@ -2273,6 +2428,9 @@ class PivotGridConfiguratorComponent {
2273
2428
  ].some((h) => (h === f.uniqueName || h === f.defaultHierarchy)));
2274
2429
  this.checked = checked;
2275
2430
  }
2431
+ checkItemBy = (context) => {
2432
+ return context.dataItem;
2433
+ };
2276
2434
  /**
2277
2435
  * Determines if a checkbox should be rendered.
2278
2436
  */
@@ -2282,6 +2440,16 @@ class PivotGridConfiguratorComponent {
2282
2440
  || (node.type === 2)
2283
2441
  || node.uniqueName === '[KPIs]');
2284
2442
  }
2443
+ /**
2444
+ * A function which provides the child nodes for a given parent node.
2445
+ */
2446
+ children = (node) => {
2447
+ if (this.dataService.directive.type === 'olap') {
2448
+ const observable = from(this.dataService.directive.fetchChildren(node, this.fields));
2449
+ return observable.pipe(mergeMap(value => of(value)));
2450
+ }
2451
+ return of(node.children);
2452
+ };
2285
2453
  /**
2286
2454
  * Check if the newly loaded child nodes have checked items.
2287
2455
  * (Only for OLAP data-binding directive)
@@ -2368,13 +2536,12 @@ class PivotGridConfiguratorComponent {
2368
2536
  this.cdr.detectChanges();
2369
2537
  this[`${targetCollectionName}sList`]?.chips.last.focus();
2370
2538
  }
2371
- }
2372
- PivotGridConfiguratorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PivotGridConfiguratorComponent, deps: [{ token: PivotGridDataService }, { token: i1$1.LocalizationService }, { token: ConfiguratorService }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
2373
- PivotGridConfiguratorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PivotGridConfiguratorComponent, isStandalone: true, selector: "kendo-pivotgrid-configurator", inputs: { orientation: "orientation", sort: "sort", filter: "filter", navigation: "navigation" }, outputs: { close: "close" }, host: { properties: { "class.k-pivotgrid-configurator": "this.hostClass", "attr.role": "this.hostAriaRole", "attr.aria-labelledby": "this.headerTextId" } }, providers: [
2374
- ConfiguratorService,
2375
- DropCueService,
2376
- SinglePopupService
2377
- ], viewQueries: [{ propertyName: "treeView", first: true, predicate: TreeViewComponent, descendants: true }, { propertyName: "columnsList", first: true, predicate: ["columnsChiplist"], descendants: true }, { propertyName: "rowsList", first: true, predicate: ["rowsChiplist"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `
2539
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PivotGridConfiguratorComponent, deps: [{ token: PivotGridDataService }, { token: i1$1.LocalizationService }, { token: ConfiguratorService }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
2540
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PivotGridConfiguratorComponent, isStandalone: true, selector: "kendo-pivotgrid-configurator", inputs: { orientation: "orientation", sort: "sort", filter: "filter", navigation: "navigation" }, outputs: { close: "close" }, host: { properties: { "class.k-pivotgrid-configurator": "this.hostClass", "attr.role": "this.hostAriaRole", "attr.aria-labelledby": "this.headerTextId" } }, providers: [
2541
+ ConfiguratorService,
2542
+ DropCueService,
2543
+ SinglePopupService
2544
+ ], viewQueries: [{ propertyName: "treeView", first: true, predicate: TreeViewComponent, descendants: true }, { propertyName: "columnsList", first: true, predicate: ["columnsChiplist"], descendants: true }, { propertyName: "rowsList", first: true, predicate: ["rowsChiplist"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `
2378
2545
  <div
2379
2546
  class="k-pivotgrid-configurator-panel k-pivotgrid-configurator-push"
2380
2547
  [ngClass]="{
@@ -2567,7 +2734,8 @@ PivotGridConfiguratorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
2567
2734
  </div>
2568
2735
  </div>
2569
2736
  `, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: TreeViewComponent, selector: "kendo-treeview", inputs: ["filterInputPlaceholder", "expandDisabledNodes", "animate", "nodeTemplate", "loadMoreButtonTemplate", "trackBy", "nodes", "textField", "hasChildren", "isChecked", "isDisabled", "hasCheckbox", "isExpanded", "isSelected", "isVisible", "navigable", "children", "loadOnDemand", "filterable", "filter", "size", "disableParentNodesOnly"], outputs: ["childrenLoaded", "blur", "focus", "expand", "collapse", "nodeDragStart", "nodeDrag", "filterStateChange", "nodeDrop", "nodeDragEnd", "addItem", "removeItem", "checkedChange", "selectionChange", "filterChange", "nodeClick", "nodeDblClick"], exportAs: ["kendoTreeView"] }, { kind: "directive", type: ExpandDirective, selector: "[kendoTreeViewExpandable]", inputs: ["isExpanded", "expandBy", "expandOnFilter", "expandedKeys"], outputs: ["expandedKeysChange"] }, { kind: "directive", type: CheckDirective, selector: "[kendoTreeViewCheckable]", inputs: ["isChecked", "checkBy", "checkedKeys", "kendoTreeViewCheckable"], outputs: ["checkedKeysChange"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: DropTargetDirective, selector: "[kendoDropTarget]", inputs: ["item", "axes"] }, { kind: "component", type: ChipListComponent, selector: "kendo-chiplist, kendo-chip-list", inputs: ["selection", "size", "role", "navigable"], outputs: ["selectedChange", "remove"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ChipComponent, selector: "kendo-chip", inputs: ["label", "icon", "svgIcon", "iconClass", "avatarSettings", "selected", "removable", "removeIcon", "removeSvgIcon", "hasMenu", "menuIcon", "menuSvgIcon", "disabled", "size", "rounded", "fillMode", "themeColor"], outputs: ["remove", "menuToggle", "contentClick"] }, { kind: "directive", type: DraggableChipDirective, selector: "[kendoChipDraggable]", inputs: ["item"] }, { kind: "directive", type: DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { kind: "directive", type: ChipKeyboardNavigationDirective, selector: "[kendoChipKeyboardNavigation]", outputs: ["reorder"] }, { kind: "component", type: ChipMenuComponent, selector: "kendo-pivot-chip-menu", inputs: ["chip", "tabIndex", "isMeasureField", "anchor"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
2570
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PivotGridConfiguratorComponent, decorators: [{
2737
+ }
2738
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PivotGridConfiguratorComponent, decorators: [{
2571
2739
  type: Component,
2572
2740
  args: [{
2573
2741
  selector: 'kendo-pivotgrid-configurator',
@@ -2810,6 +2978,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
2810
2978
  * The event data for the ExpandChangeEvent
2811
2979
  */
2812
2980
  class ExpandChangeEvent extends PreventableEvent {
2981
+ /**
2982
+ * The current row axes configuration, resulting from the end user interaction.
2983
+ */
2984
+ rowAxes;
2985
+ /**
2986
+ * The current column axes configuration, resulting from the end user interaction.
2987
+ */
2988
+ columnAxes;
2989
+ /**
2990
+ * The measure axes configuration.
2991
+ */
2992
+ measureAxes;
2813
2993
  /**
2814
2994
  * @hidden
2815
2995
  */
@@ -2823,6 +3003,26 @@ class ExpandChangeEvent extends PreventableEvent {
2823
3003
  * The event data for the ConfigurationChangeEvent
2824
3004
  */
2825
3005
  class ConfigurationChangeEvent extends PreventableEvent {
3006
+ /**
3007
+ * The current row axes configuration, resulting from the end user interaction.
3008
+ */
3009
+ rowAxes;
3010
+ /**
3011
+ * The current column axes configuration, resulting from the end user interaction.
3012
+ */
3013
+ columnAxes;
3014
+ /**
3015
+ * The measure axes configuration.
3016
+ */
3017
+ measureAxes;
3018
+ /**
3019
+ * The sorting configuration.
3020
+ */
3021
+ sort;
3022
+ /**
3023
+ * The filtering configuration.
3024
+ */
3025
+ filter;
2826
3026
  /**
2827
3027
  * @hidden
2828
3028
  */
@@ -2837,41 +3037,49 @@ class ConfigurationChangeEvent extends PreventableEvent {
2837
3037
  * A directive which binds the PivotGrid to an array of objects.
2838
3038
  */
2839
3039
  class PivotBaseBindingDirective {
3040
+ dataService;
3041
+ zone;
3042
+ /**
3043
+ * Represents the column axes configuration of the PivotGrid.
3044
+ */
3045
+ columnAxes = [];
3046
+ /**
3047
+ * Represents the row axes configuration of the PivotGrid.
3048
+ */
3049
+ rowAxes = [];
3050
+ /**
3051
+ * Represents the measure axes configuration of the PivotGrid.
3052
+ */
3053
+ measureAxes = [];
3054
+ /**
3055
+ * Represents the initial sorted state of the PivotGrid.
3056
+ */
3057
+ sort = [];
3058
+ /**
3059
+ * Represents the initial filtered state of the PivotGrid.
3060
+ */
3061
+ filter;
3062
+ /**
3063
+ * Fires each time a row or column header gets expanded or collapsed by the end user. The event is preventable.
3064
+ * If you prevent the event, the PivotGrid will not be rerendered with the new state, resulting from the end user interaction.
3065
+ */
3066
+ expandChange = new EventEmitter();
3067
+ /**
3068
+ * Fires when the Configurator Apply button is pressed. The event is preventable.
3069
+ * If you prevent the event, the PivotGrid will not be rerendered with the new state, resulting from the configuration changes, applied through the configurator interface.
3070
+ */
3071
+ configurationChange = new EventEmitter();
3072
+ /**
3073
+ * Fires each time when new data is loaded and transformed to show aggregated values.
3074
+ * The event fires upon initialization and on user interaction that changes the state of the PivotGrid.
3075
+ */
3076
+ dataLoaded = new EventEmitter();
3077
+ dataState;
3078
+ configuratorFields;
3079
+ subs = new Subscription();
2840
3080
  constructor(dataService, zone) {
2841
3081
  this.dataService = dataService;
2842
3082
  this.zone = zone;
2843
- /**
2844
- * Represents the column axes configuration of the PivotGrid.
2845
- */
2846
- this.columnAxes = [];
2847
- /**
2848
- * Represents the row axes configuration of the PivotGrid.
2849
- */
2850
- this.rowAxes = [];
2851
- /**
2852
- * Represents the measure axes configuration of the PivotGrid.
2853
- */
2854
- this.measureAxes = [];
2855
- /**
2856
- * Represents the initial sorted state of the PivotGrid.
2857
- */
2858
- this.sort = [];
2859
- /**
2860
- * Fires each time a row or column header gets expanded or collapsed by the end user. The event is preventable.
2861
- * If you prevent the event, the PivotGrid will not be rerendered with the new state, resulting from the end user interaction.
2862
- */
2863
- this.expandChange = new EventEmitter();
2864
- /**
2865
- * Fires when the Configurator Apply button is pressed. The event is preventable.
2866
- * If you prevent the event, the PivotGrid will not be rerendered with the new state, resulting from the configuration changes, applied through the configurator interface.
2867
- */
2868
- this.configurationChange = new EventEmitter();
2869
- /**
2870
- * Fires each time when new data is loaded and transformed to show aggregated values.
2871
- * The event fires upon initialization and on user interaction that changes the state of the PivotGrid.
2872
- */
2873
- this.dataLoaded = new EventEmitter();
2874
- this.subs = new Subscription();
2875
3083
  }
2876
3084
  ngOnInit() {
2877
3085
  this.dataService.state = new PivotGridState(this.columnAxes, this.rowAxes, this.measureAxes, this.sort, this.filter);
@@ -2944,10 +3152,10 @@ class PivotBaseBindingDirective {
2944
3152
  this[axes] = newHeaders;
2945
3153
  this.loadData(this.dataService.state);
2946
3154
  }
3155
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PivotBaseBindingDirective, deps: [{ token: PivotGridDataService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
3156
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: PivotBaseBindingDirective, selector: "kendo-base-binding-directive", inputs: { columnAxes: "columnAxes", rowAxes: "rowAxes", measureAxes: "measureAxes", sort: "sort", filter: "filter" }, outputs: { expandChange: "expandChange", configurationChange: "configurationChange", dataLoaded: "dataLoaded" }, ngImport: i0 });
2947
3157
  }
2948
- PivotBaseBindingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PivotBaseBindingDirective, deps: [{ token: PivotGridDataService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
2949
- PivotBaseBindingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: PivotBaseBindingDirective, selector: "kendo-base-binding-directive", inputs: { columnAxes: "columnAxes", rowAxes: "rowAxes", measureAxes: "measureAxes", sort: "sort", filter: "filter" }, outputs: { expandChange: "expandChange", configurationChange: "configurationChange", dataLoaded: "dataLoaded" }, ngImport: i0 });
2950
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PivotBaseBindingDirective, decorators: [{
3158
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PivotBaseBindingDirective, decorators: [{
2951
3159
  type: Directive,
2952
3160
  args: [{
2953
3161
  selector: 'kendo-base-binding-directive'
@@ -2978,10 +3186,21 @@ const stringSeparator = '&';
2978
3186
  * A directive which binds the PivotGrid to local data ([see example]({% slug directives_databinding_local_pivotgrid %})).
2979
3187
  */
2980
3188
  class PivotLocalBindingDirective extends PivotBaseBindingDirective {
3189
+ /**
3190
+ * The array of data which will be used to populate the PivotGrid.
3191
+ */
3192
+ data;
3193
+ /**
3194
+ * Represents the dimensions object of the PivotGrid.
3195
+ */
3196
+ dimensions;
3197
+ /**
3198
+ * Represents the measures collection of the PivotGrid.
3199
+ */
3200
+ measures;
3201
+ type = 'local';
2981
3202
  constructor(dataService, zone) {
2982
3203
  super(dataService, zone);
2983
- this.type = 'local';
2984
- this.createAxisSettings = (key) => ({ key, ...this.dimensions[key] });
2985
3204
  }
2986
3205
  ngOnChanges(changes) {
2987
3206
  if (anyChanged(['data', 'dimensions', 'columnAxes', 'rowAxes', 'measureAxes', 'measures'], changes)) {
@@ -3018,13 +3237,14 @@ class PivotLocalBindingDirective extends PivotBaseBindingDirective {
3018
3237
  });
3019
3238
  this.updateDataServiceFields();
3020
3239
  }
3240
+ createAxisSettings = (key) => ({ key, ...this.dimensions[key] });
3021
3241
  getRootAxes(axes) {
3022
3242
  return Array.from(rootFields(axes).keys()).join(stringSeparator);
3023
3243
  }
3244
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PivotLocalBindingDirective, deps: [{ token: PivotGridDataService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
3245
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: PivotLocalBindingDirective, isStandalone: true, selector: "[kendoPivotLocalBinding]", inputs: { data: ["kendoPivotLocalBinding", "data"], dimensions: "dimensions", measures: "measures" }, exportAs: ["kendoPivotLocalBinding"], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
3024
3246
  }
3025
- PivotLocalBindingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PivotLocalBindingDirective, deps: [{ token: PivotGridDataService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
3026
- PivotLocalBindingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: PivotLocalBindingDirective, isStandalone: true, selector: "[kendoPivotLocalBinding]", inputs: { data: ["kendoPivotLocalBinding", "data"], dimensions: "dimensions", measures: "measures" }, exportAs: ["kendoPivotLocalBinding"], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
3027
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PivotLocalBindingDirective, decorators: [{
3247
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PivotLocalBindingDirective, decorators: [{
3028
3248
  type: Directive,
3029
3249
  args: [{
3030
3250
  selector: '[kendoPivotLocalBinding]',
@@ -3044,9 +3264,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
3044
3264
  * A directive which binds the PivotGrid to data using an Online Analytical Processing (OLAP) service ([see example]({% slug directives_databinding_remote_pivotgrid %})).
3045
3265
  */
3046
3266
  class PivotOLAPBindingDirective extends PivotBaseBindingDirective {
3267
+ /**
3268
+ * The OLAP service endpoint where the data is processed and retrieved to render the pivot table.
3269
+ */
3270
+ url;
3271
+ /**
3272
+ * The cube name that is used to retrieve data for the pivot table rendering.
3273
+ */
3274
+ cube;
3275
+ /**
3276
+ * The database name that is used to retrieve the data from the specified connection string.
3277
+ */
3278
+ catalog;
3279
+ type = 'olap';
3047
3280
  constructor(dataService, zone) {
3048
3281
  super(dataService, zone);
3049
- this.type = 'olap';
3050
3282
  }
3051
3283
  ngOnChanges(changes) {
3052
3284
  if (anyChanged(['url', 'cube', 'catalog', 'columnAxes', 'rowAxes', 'measureAxes'], changes)) {
@@ -3187,10 +3419,10 @@ class PivotOLAPBindingDirective extends PivotBaseBindingDirective {
3187
3419
  };
3188
3420
  return fetchDiscover({ url: this.url }, options);
3189
3421
  }
3422
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PivotOLAPBindingDirective, deps: [{ token: PivotGridDataService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
3423
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: PivotOLAPBindingDirective, isStandalone: true, selector: "[kendoPivotOLAPBinding]", inputs: { url: "url", cube: "cube", catalog: "catalog" }, exportAs: ["kendoPivotOLAPBinding"], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
3190
3424
  }
3191
- PivotOLAPBindingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PivotOLAPBindingDirective, deps: [{ token: PivotGridDataService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
3192
- PivotOLAPBindingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: PivotOLAPBindingDirective, isStandalone: true, selector: "[kendoPivotOLAPBinding]", inputs: { url: "url", cube: "cube", catalog: "catalog" }, exportAs: ["kendoPivotOLAPBinding"], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
3193
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PivotOLAPBindingDirective, decorators: [{
3425
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PivotOLAPBindingDirective, decorators: [{
3194
3426
  type: Directive,
3195
3427
  args: [{
3196
3428
  selector: '[kendoPivotOLAPBinding]',
@@ -3209,10 +3441,207 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
3209
3441
  * @hidden
3210
3442
  */
3211
3443
  class PivotGridMessages extends ComponentMessages {
3444
+ /**
3445
+ * The text content of the filter item in the column and row fields menu.
3446
+ */
3447
+ fieldMenuFilterItemLabel;
3448
+ /**
3449
+ * The text content of the sort ascending item in the column and row fields menu.
3450
+ */
3451
+ fieldMenuSortAscendingItemLabel;
3452
+ /**
3453
+ * The text content of the sort descending item in the column and row fields menu.
3454
+ */
3455
+ fieldMenuSortDescendingItemLabel;
3456
+ /**
3457
+ * The label of the filter input.
3458
+ *
3459
+ * The filter input label consists of a two-part message - the name(s) of the fields and a localizable string.
3460
+ * For fields named '[Geography][City]', the default label will be 'Geography City Filter'.
3461
+ *
3462
+ * To allow reordering the field name(s) and the localizable part, the filterInputLabel accepts a string with a
3463
+ * placeholder for the fields - e.g. 'filter for {fields}'. The '{fields}' placeholder will be replaced
3464
+ * internally with the current field(s) name(s), and the resulting label will be rendered as 'filter for Geography City'.
3465
+ *
3466
+ * @example
3467
+ *
3468
+ * ```ts-no-run
3469
+ * <kendo-pivotgrid>
3470
+ * <kendo-pivotgrid-messages
3471
+ * filterInputLabel="filter for {fields}"
3472
+ * >
3473
+ * </kendo-pivotgrid-messages>
3474
+ * </kendo-pivotgrid>
3475
+ * ```
3476
+ */
3477
+ filterInputLabel;
3478
+ /**
3479
+ * The label of the filter operators DropDownList.
3480
+ *
3481
+ * The label consists of a two-part message - the name(s) of the fields and a localizable string.
3482
+ * For fields named '[Geography][City]', the default label will be 'Geography City Filter Operators'.
3483
+ *
3484
+ * To allow reordering the field name(s) and the localizable part, the filterMenuOperatorsDropDownLabel accepts a string with a
3485
+ * placeholder for the fields - e.g. 'filter operators for {fields}'. The '{fields}' placeholder will be replaced
3486
+ * internally with the current field(s) name(s), and the resulting label will be rendered as 'filter operators for Geography City'.
3487
+ *
3488
+ * @example
3489
+ *
3490
+ * ```ts-no-run
3491
+ * <kendo-pivotgrid>
3492
+ * <kendo-pivotgrid-messages
3493
+ * filterMenuOperatorsDropDownLabel="filter operators for {fields}"
3494
+ * >
3495
+ * </kendo-pivotgrid-messages>
3496
+ * </kendo-pivotgrid>
3497
+ * ```
3498
+ */
3499
+ filterOperatorsDropDownLabel;
3500
+ /**
3501
+ * The text of the `Equal` (**Is equal to**) filter operator.
3502
+ */
3503
+ filterEqOperator;
3504
+ /**
3505
+ * The text of the `NotEqual` (**Is not equal to**) filter operator.
3506
+ */
3507
+ filterNotEqOperator;
3508
+ /**
3509
+ * The text of the `IsNull` (**Is null**) filter operator.
3510
+ */
3511
+ filterIsNullOperator;
3512
+ /**
3513
+ * The text of the `IsNotNull` (**Is not null**) filter operator.
3514
+ */
3515
+ filterIsNotNullOperator;
3516
+ /**
3517
+ * The text of the `IsEmpty` (**Is empty**) filter operator.
3518
+ */
3519
+ filterIsEmptyOperator;
3520
+ /**
3521
+ * The text of the `IsNotEmpty` (**Is not empty**) filter operator.
3522
+ */
3523
+ filterIsNotEmptyOperator;
3524
+ /**
3525
+ * The text of the `StartsWith` (**Starts with**) filter operator.
3526
+ */
3527
+ filterStartsWithOperator;
3528
+ /**
3529
+ * The text of the `Contains` (**Contains**) filter operator.
3530
+ */
3531
+ filterContainsOperator;
3532
+ /**
3533
+ * The text of the `DoesNotContain` (**Does not contain**) filter operator.
3534
+ */
3535
+ filterNotContainsOperator;
3536
+ /**
3537
+ * The text of the `EndsWith` (**Ends with**) string filter operator.
3538
+ */
3539
+ filterEndsWithOperator;
3540
+ /**
3541
+ * The text of the **Filter** button.
3542
+ */
3543
+ filterFilterButton;
3544
+ /**
3545
+ * The text of the **Clear filter** button.
3546
+ */
3547
+ filterClearButton;
3548
+ /**
3549
+ * The loading text.
3550
+ *
3551
+ * > The `loading` property is part of the accessibility support of the PivotGrid.
3552
+ * Its value is detectable by screen readers and is not otherwise visible.
3553
+ */
3554
+ loading;
3555
+ /**
3556
+ * The value of the aria-label attribute placed on the PivotGrid focusable empty cell element.
3557
+ */
3558
+ emptyCellLabel;
3559
+ /**
3560
+ * The text content of the button that opens and closes the PivotGrid configurator.
3561
+ */
3562
+ configuratorButtonText;
3563
+ /**
3564
+ * The text content of the PivotGrid configurator title element.
3565
+ */
3566
+ configuratorHeaderText;
3567
+ /**
3568
+ * The text content of the PivotGrid configurator fields section title element.
3569
+ */
3570
+ configuratorFieldsText;
3571
+ /**
3572
+ * The text content of the PivotGrid configurator columns section title element.
3573
+ */
3574
+ configuratorColumnsText;
3575
+ /**
3576
+ * The text content of the PivotGrid configurator rows section title element.
3577
+ */
3578
+ configuratorRowsText;
3579
+ /**
3580
+ * The text content of the PivotGrid configurator values section title element.
3581
+ */
3582
+ configuratorValuesText;
3583
+ /**
3584
+ * The text content of the PivotGrid configurator Cancel button.
3585
+ */
3586
+ configuratorCancelButtonText;
3587
+ /**
3588
+ * The text content of the PivotGrid configurator Apply button.
3589
+ */
3590
+ configuratorApplyButtonText;
3591
+ /**
3592
+ * The text content of the PivotGrid configurator empty rows container.
3593
+ */
3594
+ configuratorEmptyRowsText;
3595
+ /**
3596
+ * The text content of the PivotGrid configurator empty columns container.
3597
+ */
3598
+ configuratorEmptyColumnsText;
3599
+ /**
3600
+ * The text content of the PivotGrid configurator empty measures container.
3601
+ */
3602
+ configuratorEmptyMeasuresText;
3603
+ /**
3604
+ * The text content of the Move to Columns item in the column and row fields menu.
3605
+ */
3606
+ fieldMenuMoveToColumnsItem;
3607
+ /**
3608
+ * The text content of the Move to Rows item in the column and row fields menu.
3609
+ */
3610
+ fieldMenuMoveToRowsItem;
3611
+ /**
3612
+ * The text content of the Move as previous item in the column, row, and value fields menu.
3613
+ */
3614
+ fieldMenuMovePreviousItem;
3615
+ /**
3616
+ * The text content of the Move as next item in the column, row, and value fields menu.
3617
+ */
3618
+ fieldMenuMoveNextItem;
3619
+ /**
3620
+ * The title of the chip menu icon.
3621
+ *
3622
+ * The title consists of a two-part message - the name of the chip and a localizable string.
3623
+ * For a field named 'Product', the default title will be 'Product Field Menu'.
3624
+ *
3625
+ * To allow reordering the field name and the localizable part, the chipMenu accepts a string with a
3626
+ * placeholder for the chip name - e.g. 'chip for {fieldName}'. The '{fieldName}' placeholder will be replaced
3627
+ * internally with the current chip name, and the resulting title will be rendered as 'Product Field Menu'.
3628
+ *
3629
+ * @example
3630
+ *
3631
+ * ```ts-no-run
3632
+ * <kendo-pivotgrid>
3633
+ * <kendo-pivotgrid-messages
3634
+ * chipMenuIconTitle="'{fieldName} Field Menu'"
3635
+ * >
3636
+ * </kendo-pivotgrid-messages>
3637
+ * </kendo-pivotgrid>
3638
+ * ```
3639
+ */
3640
+ chipMenuIconTitle;
3641
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PivotGridMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
3642
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: PivotGridMessages, inputs: { fieldMenuFilterItemLabel: "fieldMenuFilterItemLabel", fieldMenuSortAscendingItemLabel: "fieldMenuSortAscendingItemLabel", fieldMenuSortDescendingItemLabel: "fieldMenuSortDescendingItemLabel", filterInputLabel: "filterInputLabel", filterOperatorsDropDownLabel: "filterOperatorsDropDownLabel", filterEqOperator: "filterEqOperator", filterNotEqOperator: "filterNotEqOperator", filterIsNullOperator: "filterIsNullOperator", filterIsNotNullOperator: "filterIsNotNullOperator", filterIsEmptyOperator: "filterIsEmptyOperator", filterIsNotEmptyOperator: "filterIsNotEmptyOperator", filterStartsWithOperator: "filterStartsWithOperator", filterContainsOperator: "filterContainsOperator", filterNotContainsOperator: "filterNotContainsOperator", filterEndsWithOperator: "filterEndsWithOperator", filterFilterButton: "filterFilterButton", filterClearButton: "filterClearButton", loading: "loading", emptyCellLabel: "emptyCellLabel", configuratorButtonText: "configuratorButtonText", configuratorHeaderText: "configuratorHeaderText", configuratorFieldsText: "configuratorFieldsText", configuratorColumnsText: "configuratorColumnsText", configuratorRowsText: "configuratorRowsText", configuratorValuesText: "configuratorValuesText", configuratorCancelButtonText: "configuratorCancelButtonText", configuratorApplyButtonText: "configuratorApplyButtonText", configuratorEmptyRowsText: "configuratorEmptyRowsText", configuratorEmptyColumnsText: "configuratorEmptyColumnsText", configuratorEmptyMeasuresText: "configuratorEmptyMeasuresText", fieldMenuMoveToColumnsItem: "fieldMenuMoveToColumnsItem", fieldMenuMoveToRowsItem: "fieldMenuMoveToRowsItem", fieldMenuMovePreviousItem: "fieldMenuMovePreviousItem", fieldMenuMoveNextItem: "fieldMenuMoveNextItem", chipMenuIconTitle: "chipMenuIconTitle" }, usesInheritance: true, ngImport: i0 });
3212
3643
  }
3213
- PivotGridMessages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PivotGridMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
3214
- PivotGridMessages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: PivotGridMessages, inputs: { fieldMenuFilterItemLabel: "fieldMenuFilterItemLabel", fieldMenuSortAscendingItemLabel: "fieldMenuSortAscendingItemLabel", fieldMenuSortDescendingItemLabel: "fieldMenuSortDescendingItemLabel", filterInputLabel: "filterInputLabel", filterOperatorsDropDownLabel: "filterOperatorsDropDownLabel", filterEqOperator: "filterEqOperator", filterNotEqOperator: "filterNotEqOperator", filterIsNullOperator: "filterIsNullOperator", filterIsNotNullOperator: "filterIsNotNullOperator", filterIsEmptyOperator: "filterIsEmptyOperator", filterIsNotEmptyOperator: "filterIsNotEmptyOperator", filterStartsWithOperator: "filterStartsWithOperator", filterContainsOperator: "filterContainsOperator", filterNotContainsOperator: "filterNotContainsOperator", filterEndsWithOperator: "filterEndsWithOperator", filterFilterButton: "filterFilterButton", filterClearButton: "filterClearButton", loading: "loading", emptyCellLabel: "emptyCellLabel", configuratorButtonText: "configuratorButtonText", configuratorHeaderText: "configuratorHeaderText", configuratorFieldsText: "configuratorFieldsText", configuratorColumnsText: "configuratorColumnsText", configuratorRowsText: "configuratorRowsText", configuratorValuesText: "configuratorValuesText", configuratorCancelButtonText: "configuratorCancelButtonText", configuratorApplyButtonText: "configuratorApplyButtonText", configuratorEmptyRowsText: "configuratorEmptyRowsText", configuratorEmptyColumnsText: "configuratorEmptyColumnsText", configuratorEmptyMeasuresText: "configuratorEmptyMeasuresText", fieldMenuMoveToColumnsItem: "fieldMenuMoveToColumnsItem", fieldMenuMoveToRowsItem: "fieldMenuMoveToRowsItem", fieldMenuMovePreviousItem: "fieldMenuMovePreviousItem", fieldMenuMoveNextItem: "fieldMenuMoveNextItem", chipMenuIconTitle: "chipMenuIconTitle" }, usesInheritance: true, ngImport: i0 });
3215
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PivotGridMessages, decorators: [{
3644
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PivotGridMessages, decorators: [{
3216
3645
  type: Directive
3217
3646
  }], propDecorators: { fieldMenuFilterItemLabel: [{
3218
3647
  type: Input
@@ -3291,6 +3720,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
3291
3720
  * ([see example]({% slug globalization_pivotgrid %}#toc-custom-messages)).
3292
3721
  */
3293
3722
  class CustomMessagesComponent extends PivotGridMessages {
3723
+ service;
3294
3724
  constructor(service) {
3295
3725
  super();
3296
3726
  this.service = service;
@@ -3298,15 +3728,15 @@ class CustomMessagesComponent extends PivotGridMessages {
3298
3728
  get override() {
3299
3729
  return true;
3300
3730
  }
3731
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CustomMessagesComponent, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
3732
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CustomMessagesComponent, isStandalone: true, selector: "kendo-pivotgrid-messages", providers: [
3733
+ {
3734
+ provide: PivotGridMessages,
3735
+ useExisting: forwardRef(() => CustomMessagesComponent)
3736
+ }
3737
+ ], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
3301
3738
  }
3302
- CustomMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CustomMessagesComponent, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
3303
- CustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CustomMessagesComponent, isStandalone: true, selector: "kendo-pivotgrid-messages", providers: [
3304
- {
3305
- provide: PivotGridMessages,
3306
- useExisting: forwardRef(() => CustomMessagesComponent)
3307
- }
3308
- ], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
3309
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CustomMessagesComponent, decorators: [{
3739
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CustomMessagesComponent, decorators: [{
3310
3740
  type: Component,
3311
3741
  args: [{
3312
3742
  providers: [
@@ -3325,19 +3755,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
3325
3755
  * @hidden
3326
3756
  */
3327
3757
  class LocalizedMessagesDirective extends PivotGridMessages {
3758
+ service;
3328
3759
  constructor(service) {
3329
3760
  super();
3330
3761
  this.service = service;
3331
3762
  }
3763
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LocalizedMessagesDirective, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
3764
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: LocalizedMessagesDirective, isStandalone: true, selector: "[kendoPivotGridLocalizedMessages]", providers: [
3765
+ {
3766
+ provide: PivotGridMessages,
3767
+ useExisting: forwardRef(() => LocalizedMessagesDirective)
3768
+ }
3769
+ ], usesInheritance: true, ngImport: i0 });
3332
3770
  }
3333
- LocalizedMessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LocalizedMessagesDirective, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
3334
- LocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: LocalizedMessagesDirective, isStandalone: true, selector: "[kendoPivotGridLocalizedMessages]", providers: [
3335
- {
3336
- provide: PivotGridMessages,
3337
- useExisting: forwardRef(() => LocalizedMessagesDirective)
3338
- }
3339
- ], usesInheritance: true, ngImport: i0 });
3340
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LocalizedMessagesDirective, decorators: [{
3771
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LocalizedMessagesDirective, decorators: [{
3341
3772
  type: Directive,
3342
3773
  args: [{
3343
3774
  providers: [
@@ -3358,8 +3789,8 @@ const packageMetadata = {
3358
3789
  name: '@progress/kendo-angular-pivotgrid',
3359
3790
  productName: 'Kendo UI for Angular',
3360
3791
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
3361
- publishDate: 1729874461,
3362
- version: '17.0.0-develop.21',
3792
+ publishDate: 1730103769,
3793
+ version: '17.0.0-develop.22',
3363
3794
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
3364
3795
  };
3365
3796
 
@@ -3386,13 +3817,14 @@ const packageMetadata = {
3386
3817
  * ```
3387
3818
  */
3388
3819
  class CellTemplateDirective {
3820
+ templateRef;
3389
3821
  constructor(templateRef) {
3390
3822
  this.templateRef = templateRef;
3391
3823
  }
3824
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CellTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
3825
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: CellTemplateDirective, isStandalone: true, selector: "[kendoPivotGridCellTemplate]", ngImport: i0 });
3392
3826
  }
3393
- CellTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CellTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
3394
- CellTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: CellTemplateDirective, isStandalone: true, selector: "[kendoPivotGridCellTemplate]", ngImport: i0 });
3395
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CellTemplateDirective, decorators: [{
3827
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CellTemplateDirective, decorators: [{
3396
3828
  type: Directive,
3397
3829
  args: [{
3398
3830
  selector: '[kendoPivotGridCellTemplate]',
@@ -3422,13 +3854,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
3422
3854
  * ```
3423
3855
  */
3424
3856
  class ValueCellTemplateDirective {
3857
+ templateRef;
3425
3858
  constructor(templateRef) {
3426
3859
  this.templateRef = templateRef;
3427
3860
  }
3861
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ValueCellTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
3862
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ValueCellTemplateDirective, isStandalone: true, selector: "[kendoPivotGridValueCellTemplate]", ngImport: i0 });
3428
3863
  }
3429
- ValueCellTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ValueCellTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
3430
- ValueCellTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: ValueCellTemplateDirective, isStandalone: true, selector: "[kendoPivotGridValueCellTemplate]", ngImport: i0 });
3431
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ValueCellTemplateDirective, decorators: [{
3864
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ValueCellTemplateDirective, decorators: [{
3432
3865
  type: Directive,
3433
3866
  args: [{
3434
3867
  selector: '[kendoPivotGridValueCellTemplate]',
@@ -3459,13 +3892,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
3459
3892
  * ```
3460
3893
  */
3461
3894
  class RowHeaderCellTemplateDirective {
3895
+ templateRef;
3462
3896
  constructor(templateRef) {
3463
3897
  this.templateRef = templateRef;
3464
3898
  }
3899
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RowHeaderCellTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
3900
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: RowHeaderCellTemplateDirective, isStandalone: true, selector: "[kendoPivotGridRowHeaderCellTemplate]", ngImport: i0 });
3465
3901
  }
3466
- RowHeaderCellTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RowHeaderCellTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
3467
- RowHeaderCellTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: RowHeaderCellTemplateDirective, isStandalone: true, selector: "[kendoPivotGridRowHeaderCellTemplate]", ngImport: i0 });
3468
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RowHeaderCellTemplateDirective, decorators: [{
3902
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RowHeaderCellTemplateDirective, decorators: [{
3469
3903
  type: Directive,
3470
3904
  args: [{
3471
3905
  selector: '[kendoPivotGridRowHeaderCellTemplate]',
@@ -3496,13 +3930,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
3496
3930
  * ```
3497
3931
  */
3498
3932
  class ColumnHeaderCellTemplateDirective {
3933
+ templateRef;
3499
3934
  constructor(templateRef) {
3500
3935
  this.templateRef = templateRef;
3501
3936
  }
3937
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnHeaderCellTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
3938
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ColumnHeaderCellTemplateDirective, isStandalone: true, selector: "[kendoPivotGridColumnHeaderCellTemplate]", ngImport: i0 });
3502
3939
  }
3503
- ColumnHeaderCellTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ColumnHeaderCellTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
3504
- ColumnHeaderCellTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: ColumnHeaderCellTemplateDirective, isStandalone: true, selector: "[kendoPivotGridColumnHeaderCellTemplate]", ngImport: i0 });
3505
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ColumnHeaderCellTemplateDirective, decorators: [{
3940
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnHeaderCellTemplateDirective, decorators: [{
3506
3941
  type: Directive,
3507
3942
  args: [{
3508
3943
  selector: '[kendoPivotGridColumnHeaderCellTemplate]',
@@ -3514,53 +3949,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
3514
3949
  * @hidden
3515
3950
  */
3516
3951
  class ScrollableTable {
3952
+ element;
3953
+ handlers;
3954
+ options;
3955
+ startRow = 0;
3956
+ endRow;
3957
+ startCol = 0;
3958
+ endCol;
3959
+ renderedRows;
3960
+ renderedCols;
3961
+ total;
3962
+ totalCols;
3963
+ rtl;
3964
+ visibleRows;
3965
+ visibleCols;
3966
+ lastKnownScrollPosition = { top: 0, left: 0 };
3967
+ offsetFirst = 0;
3968
+ stretcher;
3969
+ rect;
3517
3970
  constructor(element, handlers, options) {
3518
3971
  this.element = element;
3519
3972
  this.handlers = handlers;
3520
3973
  this.options = options;
3521
- this.startRow = 0;
3522
- this.startCol = 0;
3523
- this.lastKnownScrollPosition = { top: 0, left: 0 };
3524
- this.offsetFirst = 0;
3525
- this.scrollHandler = (e) => {
3526
- const verticalDir = this.element.scrollTop - this.lastKnownScrollPosition.top;
3527
- const horizontalDir = Math.abs(this.element.scrollLeft) - this.lastKnownScrollPosition.left;
3528
- if (this.options.rowVirtualization) {
3529
- if (verticalDir > 0) {
3530
- if (this.element.scrollTop > (this.renderedRows * this.options.itemHeight + this.offsetFirst - this.rect.height)) {
3531
- this.startRow = Math.floor(this.element.scrollTop / this.options.itemHeight);
3532
- this.rowVirtualizationUpdate();
3533
- }
3534
- }
3535
- else {
3536
- if (this.element.scrollTop <= this.offsetFirst) {
3537
- this.startRow = Math.max(0, Math.ceil(this.element.scrollTop / this.options.itemHeight) - Math.ceil(this.options.renderedRows / 3));
3538
- this.rowVirtualizationUpdate();
3539
- }
3540
- }
3541
- }
3542
- if (this.options.columnVirtualization) {
3543
- if (horizontalDir > 0) {
3544
- if (Math.abs(this.element.scrollLeft) - (Math.max(this.startCol - 1, 0) * (this.options.colWidth || 200)) > (this.options.colWidth || 200)) {
3545
- this.startCol = Math.min(Math.max(Math.floor(Math.abs(this.element.scrollLeft) / this.options.itemWidth) - 1, 0), this.totalCols - this.renderedCols);
3546
- this.handlers.onScroll();
3547
- }
3548
- }
3549
- else {
3550
- if (Math.abs(this.element.scrollLeft) <= (this.startCol + 1) * (this.options.colWidth || 200)) {
3551
- this.startCol = Math.min(Math.max(Math.floor(Math.abs(this.element.scrollLeft) / this.options.itemWidth) - 1, 0), this.totalCols - this.renderedCols);
3552
- this.handlers.onScroll();
3553
- }
3554
- }
3555
- }
3556
- this.lastKnownScrollPosition = {
3557
- top: this.element.scrollTop,
3558
- left: Math.abs(this.element.scrollLeft)
3559
- };
3560
- };
3561
- this.scrollEndHandler = () => {
3562
- this.handlers.onScrollEnd();
3563
- };
3564
3974
  this.initialize();
3565
3975
  }
3566
3976
  onNewData(recalculateSize = false) {
@@ -3603,6 +4013,45 @@ class ScrollableTable {
3603
4013
  this.element.addEventListener('scroll', this.scrollHandler);
3604
4014
  this.element.addEventListener('scrollend', this.scrollEndHandler);
3605
4015
  }
4016
+ scrollHandler = (e) => {
4017
+ const verticalDir = this.element.scrollTop - this.lastKnownScrollPosition.top;
4018
+ const horizontalDir = Math.abs(this.element.scrollLeft) - this.lastKnownScrollPosition.left;
4019
+ if (this.options.rowVirtualization) {
4020
+ if (verticalDir > 0) {
4021
+ if (this.element.scrollTop > (this.renderedRows * this.options.itemHeight + this.offsetFirst - this.rect.height)) {
4022
+ this.startRow = Math.floor(this.element.scrollTop / this.options.itemHeight);
4023
+ this.rowVirtualizationUpdate();
4024
+ }
4025
+ }
4026
+ else {
4027
+ if (this.element.scrollTop <= this.offsetFirst) {
4028
+ this.startRow = Math.max(0, Math.ceil(this.element.scrollTop / this.options.itemHeight) - Math.ceil(this.options.renderedRows / 3));
4029
+ this.rowVirtualizationUpdate();
4030
+ }
4031
+ }
4032
+ }
4033
+ if (this.options.columnVirtualization) {
4034
+ if (horizontalDir > 0) {
4035
+ if (Math.abs(this.element.scrollLeft) - (Math.max(this.startCol - 1, 0) * (this.options.colWidth || 200)) > (this.options.colWidth || 200)) {
4036
+ this.startCol = Math.min(Math.max(Math.floor(Math.abs(this.element.scrollLeft) / this.options.itemWidth) - 1, 0), this.totalCols - this.renderedCols);
4037
+ this.handlers.onScroll();
4038
+ }
4039
+ }
4040
+ else {
4041
+ if (Math.abs(this.element.scrollLeft) <= (this.startCol + 1) * (this.options.colWidth || 200)) {
4042
+ this.startCol = Math.min(Math.max(Math.floor(Math.abs(this.element.scrollLeft) / this.options.itemWidth) - 1, 0), this.totalCols - this.renderedCols);
4043
+ this.handlers.onScroll();
4044
+ }
4045
+ }
4046
+ }
4047
+ this.lastKnownScrollPosition = {
4048
+ top: this.element.scrollTop,
4049
+ left: Math.abs(this.element.scrollLeft)
4050
+ };
4051
+ };
4052
+ scrollEndHandler = () => {
4053
+ this.handlers.onScrollEnd();
4054
+ };
3606
4055
  recalculateSize() {
3607
4056
  const totalHeight = this.total * this.options.itemHeight;
3608
4057
  const totalWidth = this.totalCols * this.options.itemWidth;
@@ -3625,21 +4074,18 @@ class ScrollableTable {
3625
4074
  * @hidden
3626
4075
  */
3627
4076
  class PivotGridCellDirective {
3628
- constructor(hostEl, renderer, dataService) {
3629
- this.hostEl = hostEl;
3630
- this.renderer = renderer;
3631
- this.dataService = dataService;
3632
- this.cellClass = true;
3633
- this.chevronUpSVGIcon = chevronUpIcon;
3634
- this.chevronDownSVGIcon = chevronDownIcon;
3635
- this.handleClick = () => {
3636
- this.dataService.expandedStateChange.emit({
3637
- action: this.expanded ? 'collapse' : 'expand',
3638
- cell: this.kendoPivotGridCell,
3639
- tableType: this.tableType
3640
- });
3641
- };
3642
- }
4077
+ hostEl;
4078
+ renderer;
4079
+ dataService;
4080
+ cellClass = true;
4081
+ kendoPivotGridCell;
4082
+ tableType;
4083
+ rowIndex;
4084
+ colIndex;
4085
+ customCellTemplate;
4086
+ valueCellTemplate;
4087
+ rowHeaderCellTemplate;
4088
+ columnHeaderCellTemplate;
3643
4089
  get isNotProvidedCellTemplatePerType() {
3644
4090
  return (this.tableType === 'values' && !this.valueCellTemplate)
3645
4091
  || (this.tableType === 'rowHeader' && !this.rowHeaderCellTemplate)
@@ -3648,6 +4094,13 @@ class PivotGridCellDirective {
3648
4094
  get expanded() {
3649
4095
  return (this.kendoPivotGridCell?.hasChildren && this.kendoPivotGridCell.children.length > 0) || false;
3650
4096
  }
4097
+ chevronUpSVGIcon = chevronUpIcon;
4098
+ chevronDownSVGIcon = chevronDownIcon;
4099
+ constructor(hostEl, renderer, dataService) {
4100
+ this.hostEl = hostEl;
4101
+ this.renderer = renderer;
4102
+ this.dataService = dataService;
4103
+ }
3651
4104
  ngOnInit() {
3652
4105
  const nativeElement = this.hostEl.nativeElement;
3653
4106
  this.renderer.setAttribute(nativeElement, 'rowspan', this.kendoPivotGridCell.rowSpan || 1);
@@ -3667,9 +4120,15 @@ class PivotGridCellDirective {
3667
4120
  }
3668
4121
  }
3669
4122
  }
3670
- }
3671
- PivotGridCellDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PivotGridCellDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: PivotGridDataService }], target: i0.ɵɵFactoryTarget.Component });
3672
- PivotGridCellDirective.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PivotGridCellDirective, isStandalone: true, selector: "[kendoPivotGridCell]", inputs: { kendoPivotGridCell: "kendoPivotGridCell", tableType: "tableType", rowIndex: "rowIndex", colIndex: "colIndex", customCellTemplate: "customCellTemplate", valueCellTemplate: "valueCellTemplate", rowHeaderCellTemplate: "rowHeaderCellTemplate", columnHeaderCellTemplate: "columnHeaderCellTemplate" }, host: { properties: { "class.k-pivotgrid-cell": "this.cellClass" } }, ngImport: i0, template: `
4123
+ handleClick = () => {
4124
+ this.dataService.expandedStateChange.emit({
4125
+ action: this.expanded ? 'collapse' : 'expand',
4126
+ cell: this.kendoPivotGridCell,
4127
+ tableType: this.tableType
4128
+ });
4129
+ };
4130
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PivotGridCellDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: PivotGridDataService }], target: i0.ɵɵFactoryTarget.Component });
4131
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PivotGridCellDirective, isStandalone: true, selector: "[kendoPivotGridCell]", inputs: { kendoPivotGridCell: "kendoPivotGridCell", tableType: "tableType", rowIndex: "rowIndex", colIndex: "colIndex", customCellTemplate: "customCellTemplate", valueCellTemplate: "valueCellTemplate", rowHeaderCellTemplate: "rowHeaderCellTemplate", columnHeaderCellTemplate: "columnHeaderCellTemplate" }, host: { properties: { "class.k-pivotgrid-cell": "this.cellClass" } }, ngImport: i0, template: `
3673
4132
  <kendo-icon-wrapper
3674
4133
  *ngIf="kendoPivotGridCell.hasChildren && !kendoPivotGridCell.total"
3675
4134
  aria-hidden="true"
@@ -3730,7 +4189,8 @@ PivotGridCellDirective.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
3730
4189
  {{ kendoPivotGridCell.data ? kendoPivotGridCell.data.fmtValue : kendoPivotGridCell.caption }}
3731
4190
  </span>
3732
4191
  `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "directive", type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
3733
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PivotGridCellDirective, decorators: [{
4192
+ }
4193
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PivotGridCellDirective, decorators: [{
3734
4194
  type: Component,
3735
4195
  args: [{
3736
4196
  // eslint-disable-next-line @angular-eslint/component-selector
@@ -3824,13 +4284,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
3824
4284
  * @hidden
3825
4285
  */
3826
4286
  class PivotGridScrollService {
3827
- constructor() {
3828
- this.virtualScrolling = false;
3829
- }
4287
+ virtualScrolling = false;
4288
+ pivotGrid;
4289
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PivotGridScrollService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4290
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PivotGridScrollService });
3830
4291
  }
3831
- PivotGridScrollService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PivotGridScrollService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3832
- PivotGridScrollService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PivotGridScrollService });
3833
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PivotGridScrollService, decorators: [{
4292
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PivotGridScrollService, decorators: [{
3834
4293
  type: Injectable
3835
4294
  }] });
3836
4295
 
@@ -3838,61 +4297,48 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
3838
4297
  * @hidden
3839
4298
  */
3840
4299
  class PivotGridTableComponent {
4300
+ host;
4301
+ dataService;
4302
+ localization;
4303
+ zone;
4304
+ scrollService;
4305
+ headerItems;
4306
+ rows;
4307
+ renderedRows;
4308
+ renderedCols;
4309
+ totalRows;
4310
+ startRowIndex = 0;
4311
+ startColIndex = 0;
4312
+ rtl = false;
4313
+ tableType;
4314
+ colWidth;
4315
+ customCellTemplate;
4316
+ valueCellTemplate;
4317
+ rowHeaderCellTemplate;
4318
+ columnHeaderCellTemplate;
4319
+ scrollableSettings;
4320
+ get pivotGridId() {
4321
+ return `kendo-pivotgrid-${this.dataService.pivotGridId}-`;
4322
+ }
4323
+ get columnVirtualization() {
4324
+ return this.scrollableSettings?.type && this.scrollableSettings?.type !== 'row';
4325
+ }
4326
+ get rowVirtualization() {
4327
+ return this.scrollableSettings?.type && this.scrollableSettings?.type !== 'column';
4328
+ }
4329
+ subs = new Subscription();
4330
+ scrollable;
3841
4331
  constructor(host, dataService, localization, zone, scrollService) {
3842
4332
  this.host = host;
3843
4333
  this.dataService = dataService;
3844
4334
  this.localization = localization;
3845
4335
  this.zone = zone;
3846
4336
  this.scrollService = scrollService;
3847
- this.startRowIndex = 0;
3848
- this.startColIndex = 0;
3849
- this.rtl = false;
3850
- this.subs = new Subscription();
3851
- this.colsUpdateCallback = (cols) => {
3852
- this.renderedCols = Math.min(cols.length, this.scrollableSettings?.columns);
3853
- this.renderedCols && this.scrollable && (this.scrollable.totalCols = cols.length);
3854
- (this.scrollableSettings && this.scrollableSettings.type !== 'row') && this.scrollable?.onNewData(true);
3855
- this.headerItems = cols;
3856
- isDocumentAvailable() && !this.scrollable && this.tableType === 'values' && (this.columnVirtualization || this.rowVirtualization) && this.initScrollable();
3857
- };
3858
- this.initScrollable = () => {
3859
- this.scrollable = new ScrollableTable(this.host.nativeElement, {
3860
- onScroll: () => {
3861
- this.startRowIndex = this.scrollable.startRow;
3862
- this.startColIndex = this.scrollable.startCol;
3863
- this.renderedRows = this.rows.slice(this.startRowIndex, this.startRowIndex + this.scrollableSettings.rows);
3864
- this.scrollable.renderedRows = this.renderedRows.length;
3865
- this.scrollable.renderedCols = this.renderedCols;
3866
- },
3867
- onScrollEnd: () => {
3868
- matchAriaAttributes(this.host.nativeElement.closest('.k-pivotgrid'));
3869
- }
3870
- }, {
3871
- itemHeight: this.scrollableSettings.rowHeight,
3872
- itemWidth: this.colWidth || 200,
3873
- total: this.totalRows,
3874
- totalCols: this.headerItems.length,
3875
- renderedRows: this.scrollableSettings.rows,
3876
- renderedCols: this.scrollableSettings.columns,
3877
- columnVirtualization: this.columnVirtualization,
3878
- rowVirtualization: this.rowVirtualization,
3879
- rtl: this.rtl
3880
- });
3881
- };
3882
4337
  this.subs.add(this.localization.changes.subscribe(({ rtl }) => {
3883
4338
  this.rtl = rtl;
3884
4339
  this.scrollable && (this.scrollable.rtl = rtl);
3885
4340
  }));
3886
4341
  }
3887
- get pivotGridId() {
3888
- return `kendo-pivotgrid-${this.dataService.pivotGridId}-`;
3889
- }
3890
- get columnVirtualization() {
3891
- return this.scrollableSettings?.type && this.scrollableSettings?.type !== 'row';
3892
- }
3893
- get rowVirtualization() {
3894
- return this.scrollableSettings?.type && this.scrollableSettings?.type !== 'column';
3895
- }
3896
4342
  ngOnInit() {
3897
4343
  this.subs.add(this.dataService[`${this.tableType}Rows`].subscribe(rows => {
3898
4344
  this.rows = rows;
@@ -3914,6 +4360,37 @@ class PivotGridTableComponent {
3914
4360
  this.subs.unsubscribe();
3915
4361
  this.scrollable?.destroy();
3916
4362
  }
4363
+ colsUpdateCallback = (cols) => {
4364
+ this.renderedCols = Math.min(cols.length, this.scrollableSettings?.columns);
4365
+ this.renderedCols && this.scrollable && (this.scrollable.totalCols = cols.length);
4366
+ (this.scrollableSettings && this.scrollableSettings.type !== 'row') && this.scrollable?.onNewData(true);
4367
+ this.headerItems = cols;
4368
+ isDocumentAvailable() && !this.scrollable && this.tableType === 'values' && (this.columnVirtualization || this.rowVirtualization) && this.initScrollable();
4369
+ };
4370
+ initScrollable = () => {
4371
+ this.scrollable = new ScrollableTable(this.host.nativeElement, {
4372
+ onScroll: () => {
4373
+ this.startRowIndex = this.scrollable.startRow;
4374
+ this.startColIndex = this.scrollable.startCol;
4375
+ this.renderedRows = this.rows.slice(this.startRowIndex, this.startRowIndex + this.scrollableSettings.rows);
4376
+ this.scrollable.renderedRows = this.renderedRows.length;
4377
+ this.scrollable.renderedCols = this.renderedCols;
4378
+ },
4379
+ onScrollEnd: () => {
4380
+ matchAriaAttributes(this.host.nativeElement.closest('.k-pivotgrid'));
4381
+ }
4382
+ }, {
4383
+ itemHeight: this.scrollableSettings.rowHeight,
4384
+ itemWidth: this.colWidth || 200,
4385
+ total: this.totalRows,
4386
+ totalCols: this.headerItems.length,
4387
+ renderedRows: this.scrollableSettings.rows,
4388
+ renderedCols: this.scrollableSettings.columns,
4389
+ columnVirtualization: this.columnVirtualization,
4390
+ rowVirtualization: this.rowVirtualization,
4391
+ rtl: this.rtl
4392
+ });
4393
+ };
3917
4394
  initScrollableKeyboardNavigation() {
3918
4395
  const pivotGrid = this.scrollService.pivotGrid;
3919
4396
  this.host.nativeElement.addEventListener('keydown', (e) => {
@@ -3996,9 +4473,8 @@ class PivotGridTableComponent {
3996
4473
  }
3997
4474
  }, true);
3998
4475
  }
3999
- }
4000
- PivotGridTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PivotGridTableComponent, deps: [{ token: i0.ElementRef }, { token: PivotGridDataService }, { token: i1$1.LocalizationService }, { token: i0.NgZone }, { token: PivotGridScrollService }], target: i0.ɵɵFactoryTarget.Component });
4001
- PivotGridTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PivotGridTableComponent, isStandalone: true, selector: "kendo-pivotgrid-table", inputs: { tableType: "tableType", colWidth: "colWidth", customCellTemplate: "customCellTemplate", valueCellTemplate: "valueCellTemplate", rowHeaderCellTemplate: "rowHeaderCellTemplate", columnHeaderCellTemplate: "columnHeaderCellTemplate", scrollableSettings: "scrollableSettings" }, ngImport: i0, template: `
4476
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PivotGridTableComponent, deps: [{ token: i0.ElementRef }, { token: PivotGridDataService }, { token: i1$1.LocalizationService }, { token: i0.NgZone }, { token: PivotGridScrollService }], target: i0.ɵɵFactoryTarget.Component });
4477
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PivotGridTableComponent, isStandalone: true, selector: "kendo-pivotgrid-table", inputs: { tableType: "tableType", colWidth: "colWidth", customCellTemplate: "customCellTemplate", valueCellTemplate: "valueCellTemplate", rowHeaderCellTemplate: "rowHeaderCellTemplate", columnHeaderCellTemplate: "columnHeaderCellTemplate", scrollableSettings: "scrollableSettings" }, ngImport: i0, template: `
4002
4478
  <table
4003
4479
  class="k-pivotgrid-table"
4004
4480
  role="presentation"
@@ -4047,7 +4523,8 @@ PivotGridTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
4047
4523
  </tbody>
4048
4524
  </table>
4049
4525
  `, isInline: true, dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: PivotGridCellDirective, selector: "[kendoPivotGridCell]", inputs: ["kendoPivotGridCell", "tableType", "rowIndex", "colIndex", "customCellTemplate", "valueCellTemplate", "rowHeaderCellTemplate", "columnHeaderCellTemplate"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
4050
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PivotGridTableComponent, decorators: [{
4526
+ }
4527
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PivotGridTableComponent, decorators: [{
4051
4528
  type: Component,
4052
4529
  args: [{
4053
4530
  selector: 'kendo-pivotgrid-table',
@@ -4154,66 +4631,13 @@ const DEFAULT_CONFIGURATOR_SETTINGS = {
4154
4631
  * Represents the Kendo UI PivotGrid component for Angular.
4155
4632
  */
4156
4633
  class PivotGridComponent {
4157
- constructor(hostEl, zone, dataService, localization, renderer, _scrollbarWidthService, scrollService) {
4158
- this.hostEl = hostEl;
4159
- this.zone = zone;
4160
- this.dataService = dataService;
4161
- this.localization = localization;
4162
- this.renderer = renderer;
4163
- this.scrollService = scrollService;
4164
- this.hostClass = true;
4165
- /**
4166
- * Specify the width of the column header and data cells. Value is treated as pixels [(see example)]({% slug appearance_pivotgrid %}#toc-column-headers-width).
4167
- *
4168
- * @default 200
4169
- */
4170
- this.columnHeadersWidth = 200;
4171
- /**
4172
- * If set to true, the user can use dedicated shortcuts to interact with the PivotGrid. By default, navigation is disabled.
4173
- *
4174
- * @default false
4175
- */
4176
- this.navigable = false;
4177
- /**
4178
- * @hidden
4179
- */
4180
- this.gearSVGIcon = gearIcon;
4181
- this.resizeObservers = [];
4182
- this._loaderSettings = DEFAULT_LOADER_SETTINGS;
4183
- this._virtualScrolling = normalizeVirtualSettings(false);
4184
- this.subs = new Subscription();
4185
- this.rtl = false;
4186
- this.resizeContainer = (axis, element) => {
4187
- const isRows = axis === 'Rows';
4188
- const table = this.table.nativeElement;
4189
- const size = isRows ? 'offsetHeight' : 'offsetWidth';
4190
- table.style[`gridTemplate${axis}`] = '';
4191
- table.style[`gridTemplate${axis}`] = `${element[size]}px 1fr`;
4192
- };
4193
- this.handleScroll = (event) => {
4194
- if (event.target === this.valuesTable.nativeElement) {
4195
- syncScroll(event.target, [
4196
- this.rowHeadersTable.nativeElement,
4197
- this.colHeadersTable.nativeElement
4198
- ]);
4199
- }
4200
- else if (event.target.closest('.k-pivotgrid-row-headers')) {
4201
- event.preventDefault();
4202
- syncWheel(event, [this.valuesTable.nativeElement, this.rowHeadersTable.nativeElement], 'scrollTop', 'Y');
4203
- }
4204
- else if (event.target.closest('.k-pivotgrid-column-headers')) {
4205
- event.preventDefault();
4206
- syncWheel(event, [this.valuesTable.nativeElement, this.colHeadersTable.nativeElement], 'scrollLeft', 'X');
4207
- }
4208
- };
4209
- validatePackage(packageMetadata);
4210
- this.subs.add(this.localization.changes.subscribe(({ rtl }) => {
4211
- this.rtl = rtl;
4212
- this.direction = this.rtl ? 'rtl' : 'ltr';
4213
- }));
4214
- dataService.wrapper = this.hostEl.nativeElement;
4215
- this.scrollService.pivotGrid = this;
4216
- }
4634
+ hostEl;
4635
+ zone;
4636
+ dataService;
4637
+ localization;
4638
+ renderer;
4639
+ scrollService;
4640
+ hostClass = true;
4217
4641
  get rightPositionClass() {
4218
4642
  return !this.configuratorSettings || this.configuratorSettings.position === 'right';
4219
4643
  }
@@ -4229,6 +4653,15 @@ class PivotGridComponent {
4229
4653
  get dir() {
4230
4654
  return this.direction;
4231
4655
  }
4656
+ colHeadersTable;
4657
+ rowHeadersTable;
4658
+ valuesTable;
4659
+ table;
4660
+ configuratorWrapper;
4661
+ customCellTemplate;
4662
+ valueCellTemplate;
4663
+ rowHeaderCellTemplate;
4664
+ columnHeaderCellTemplate;
4232
4665
  /**
4233
4666
  * Specify the type, size and color of the PivotGrid's loader.
4234
4667
  *
@@ -4249,6 +4682,10 @@ class PivotGridComponent {
4249
4682
  get loadingText() {
4250
4683
  return this.localization.get('loading');
4251
4684
  }
4685
+ /**
4686
+ * Specifies whether the axes configurator should be displayed.
4687
+ */
4688
+ configurator;
4252
4689
  /**
4253
4690
  * Sets the virtualization options of the component. By default the virtual scrolling functionality is disabled.
4254
4691
  *
@@ -4264,12 +4701,54 @@ class PivotGridComponent {
4264
4701
  get configuratorSettings() {
4265
4702
  return this.configurator && Object.assign({}, DEFAULT_CONFIGURATOR_SETTINGS, this.configurator);
4266
4703
  }
4704
+ /**
4705
+ * Specify the width of the column header and data cells. Value is treated as pixels [(see example)]({% slug appearance_pivotgrid %}#toc-column-headers-width).
4706
+ *
4707
+ * @default 200
4708
+ */
4709
+ columnHeadersWidth = 200;
4710
+ /**
4711
+ * If set to true, the user can use dedicated shortcuts to interact with the PivotGrid. By default, navigation is disabled.
4712
+ *
4713
+ * @default false
4714
+ */
4715
+ navigable = false;
4267
4716
  /**
4268
4717
  * Holds the displayed aggregated PivotGrid values.
4269
4718
  */
4270
4719
  get aggregateData() {
4271
4720
  return cloneArray(this.dataService.aggregateData);
4272
4721
  }
4722
+ /**
4723
+ * @hidden
4724
+ */
4725
+ gearSVGIcon = gearIcon;
4726
+ loading;
4727
+ showConfigurator;
4728
+ configuratorNavigation;
4729
+ resizeObservers = [];
4730
+ _loaderSettings = DEFAULT_LOADER_SETTINGS;
4731
+ _virtualScrolling = normalizeVirtualSettings(false);
4732
+ subs = new Subscription();
4733
+ rtl = false;
4734
+ direction;
4735
+ navigation;
4736
+ navigationSubs;
4737
+ constructor(hostEl, zone, dataService, localization, renderer, _scrollbarWidthService, scrollService) {
4738
+ this.hostEl = hostEl;
4739
+ this.zone = zone;
4740
+ this.dataService = dataService;
4741
+ this.localization = localization;
4742
+ this.renderer = renderer;
4743
+ this.scrollService = scrollService;
4744
+ validatePackage(packageMetadata);
4745
+ this.subs.add(this.localization.changes.subscribe(({ rtl }) => {
4746
+ this.rtl = rtl;
4747
+ this.direction = this.rtl ? 'rtl' : 'ltr';
4748
+ }));
4749
+ dataService.wrapper = this.hostEl.nativeElement;
4750
+ this.scrollService.pivotGrid = this;
4751
+ }
4273
4752
  ngAfterViewInit() {
4274
4753
  if (isDocumentAvailable()) {
4275
4754
  this.zone.runOutsideAngular(() => {
@@ -4335,6 +4814,29 @@ class PivotGridComponent {
4335
4814
  }
4336
4815
  }
4337
4816
  }
4817
+ resizeContainer = (axis, element) => {
4818
+ const isRows = axis === 'Rows';
4819
+ const table = this.table.nativeElement;
4820
+ const size = isRows ? 'offsetHeight' : 'offsetWidth';
4821
+ table.style[`gridTemplate${axis}`] = '';
4822
+ table.style[`gridTemplate${axis}`] = `${element[size]}px 1fr`;
4823
+ };
4824
+ handleScroll = (event) => {
4825
+ if (event.target === this.valuesTable.nativeElement) {
4826
+ syncScroll(event.target, [
4827
+ this.rowHeadersTable.nativeElement,
4828
+ this.colHeadersTable.nativeElement
4829
+ ]);
4830
+ }
4831
+ else if (event.target.closest('.k-pivotgrid-row-headers')) {
4832
+ event.preventDefault();
4833
+ syncWheel(event, [this.valuesTable.nativeElement, this.rowHeadersTable.nativeElement], 'scrollTop', 'Y');
4834
+ }
4835
+ else if (event.target.closest('.k-pivotgrid-column-headers')) {
4836
+ event.preventDefault();
4837
+ syncWheel(event, [this.valuesTable.nativeElement, this.colHeadersTable.nativeElement], 'scrollLeft', 'X');
4838
+ }
4839
+ };
4338
4840
  /**
4339
4841
  * @hidden
4340
4842
  */
@@ -4377,18 +4879,17 @@ class PivotGridComponent {
4377
4879
  this.configuratorNavigation.stop();
4378
4880
  }
4379
4881
  }
4380
- }
4381
- PivotGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PivotGridComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: PivotGridDataService }, { token: i1$1.LocalizationService }, { token: i0.Renderer2 }, { token: i1$4.ScrollbarWidthService }, { token: PivotGridScrollService }], target: i0.ɵɵFactoryTarget.Component });
4382
- PivotGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PivotGridComponent, isStandalone: true, selector: "kendo-pivotgrid", inputs: { loaderSettings: "loaderSettings", configurator: "configurator", virtualScrolling: "virtualScrolling", columnHeadersWidth: "columnHeadersWidth", navigable: "navigable" }, host: { properties: { "class.k-d-flex": "this.hostClass", "class.k-pos-relative": "this.hostClass", "class.k-flex-row": "this.rightPositionClass", "class.k-flex-row-reverse": "this.leftPositionClass", "class.k-flex-column": "this.bottomPositionClass", "class.k-flex-column-reverse": "this.topPositionClass", "attr.dir": "this.dir" } }, providers: [
4383
- PivotGridDataService,
4384
- LocalizationService,
4385
- PivotLocalizationService,
4386
- {
4387
- provide: L10N_PREFIX,
4388
- useValue: 'kendo.pivotgrid'
4389
- },
4390
- PivotGridScrollService
4391
- ], queries: [{ propertyName: "customCellTemplate", first: true, predicate: CellTemplateDirective, descendants: true }, { propertyName: "valueCellTemplate", first: true, predicate: ValueCellTemplateDirective, descendants: true }, { propertyName: "rowHeaderCellTemplate", first: true, predicate: RowHeaderCellTemplateDirective, descendants: true }, { propertyName: "columnHeaderCellTemplate", first: true, predicate: ColumnHeaderCellTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "colHeadersTable", first: true, predicate: ["colHeadersTable"], descendants: true, read: ElementRef }, { propertyName: "rowHeadersTable", first: true, predicate: ["rowHeadersTable"], descendants: true, read: ElementRef }, { propertyName: "valuesTable", first: true, predicate: ["valuesTable"], descendants: true, read: ElementRef }, { propertyName: "table", first: true, predicate: ["table"], descendants: true, read: ElementRef }, { propertyName: "configuratorWrapper", first: true, predicate: ["configurator"], descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0, template: `
4882
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PivotGridComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: PivotGridDataService }, { token: i1$1.LocalizationService }, { token: i0.Renderer2 }, { token: i1$4.ScrollbarWidthService }, { token: PivotGridScrollService }], target: i0.ɵɵFactoryTarget.Component });
4883
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PivotGridComponent, isStandalone: true, selector: "kendo-pivotgrid", inputs: { loaderSettings: "loaderSettings", configurator: "configurator", virtualScrolling: "virtualScrolling", columnHeadersWidth: "columnHeadersWidth", navigable: "navigable" }, host: { properties: { "class.k-d-flex": "this.hostClass", "class.k-pos-relative": "this.hostClass", "class.k-flex-row": "this.rightPositionClass", "class.k-flex-row-reverse": "this.leftPositionClass", "class.k-flex-column": "this.bottomPositionClass", "class.k-flex-column-reverse": "this.topPositionClass", "attr.dir": "this.dir" } }, providers: [
4884
+ PivotGridDataService,
4885
+ LocalizationService,
4886
+ PivotLocalizationService,
4887
+ {
4888
+ provide: L10N_PREFIX,
4889
+ useValue: 'kendo.pivotgrid'
4890
+ },
4891
+ PivotGridScrollService
4892
+ ], queries: [{ propertyName: "customCellTemplate", first: true, predicate: CellTemplateDirective, descendants: true }, { propertyName: "valueCellTemplate", first: true, predicate: ValueCellTemplateDirective, descendants: true }, { propertyName: "rowHeaderCellTemplate", first: true, predicate: RowHeaderCellTemplateDirective, descendants: true }, { propertyName: "columnHeaderCellTemplate", first: true, predicate: ColumnHeaderCellTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "colHeadersTable", first: true, predicate: ["colHeadersTable"], descendants: true, read: ElementRef }, { propertyName: "rowHeadersTable", first: true, predicate: ["rowHeadersTable"], descendants: true, read: ElementRef }, { propertyName: "valuesTable", first: true, predicate: ["valuesTable"], descendants: true, read: ElementRef }, { propertyName: "table", first: true, predicate: ["table"], descendants: true, read: ElementRef }, { propertyName: "configuratorWrapper", first: true, predicate: ["configurator"], descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0, template: `
4392
4893
  <ng-container kendoPivotGridLocalizedMessages
4393
4894
  i18n-loading="kendo.pivotgrid.loading|The loading text"
4394
4895
  loading="Loading"
@@ -4547,7 +5048,8 @@ PivotGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ver
4547
5048
  </span>
4548
5049
  </div>
4549
5050
  `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoPivotGridLocalizedMessages]" }, { kind: "component", type: PivotGridTableComponent, selector: "kendo-pivotgrid-table", inputs: ["tableType", "colWidth", "customCellTemplate", "valueCellTemplate", "rowHeaderCellTemplate", "columnHeaderCellTemplate", "scrollableSettings"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: LoaderComponent, selector: "kendo-loader", inputs: ["type", "themeColor", "size"] }, { kind: "component", type: PivotGridConfiguratorComponent, selector: "kendo-pivotgrid-configurator", inputs: ["orientation", "sort", "filter", "navigation"], outputs: ["close"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
4550
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PivotGridComponent, decorators: [{
5051
+ }
5052
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PivotGridComponent, decorators: [{
4551
5053
  type: Component,
4552
5054
  args: [{
4553
5055
  selector: 'kendo-pivotgrid',
@@ -4868,19 +5370,19 @@ const KENDO_PIVOTGRID = [
4868
5370
  * ```
4869
5371
  */
4870
5372
  class PivotGridModule {
5373
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PivotGridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5374
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PivotGridModule, imports: [ChipMenuItemComponent, ChipMenuSortComponent, ChipMenuComponent, ChipMenuFilterComponent, ChipMenuItemContentTemplateDirective, FilterMenuContainerComponent, StringFilterMenuComponent, FilterMenuDropDownListDirective, ChipMenuContainerComponent, ChipMenuItemDirective, ChipMenuReorderComponent, PivotGridComponent, PivotGridTableComponent, PivotGridConfiguratorComponent, PivotGridCellDirective, PivotLocalBindingDirective, PivotOLAPBindingDirective, DraggableChipDirective, DropTargetDirective, LocalizedMessagesDirective, CustomMessagesComponent, ChipKeyboardNavigationDirective, CellTemplateDirective, ValueCellTemplateDirective, RowHeaderCellTemplateDirective, ColumnHeaderCellTemplateDirective, FormsModule, ReactiveFormsModule], exports: [PivotGridComponent, PivotGridTableComponent, PivotGridCellDirective, PivotLocalBindingDirective, PivotOLAPBindingDirective, CustomMessagesComponent, CellTemplateDirective, ValueCellTemplateDirective, RowHeaderCellTemplateDirective, ColumnHeaderCellTemplateDirective] });
5375
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PivotGridModule, providers: [
5376
+ IconsService,
5377
+ PopupService,
5378
+ ResizeBatchService,
5379
+ DialogContainerService,
5380
+ DialogService,
5381
+ WindowService,
5382
+ WindowContainerService
5383
+ ], imports: [ChipMenuItemComponent, ChipMenuSortComponent, ChipMenuComponent, ChipMenuFilterComponent, FilterMenuContainerComponent, StringFilterMenuComponent, ChipMenuReorderComponent, PivotGridComponent, PivotGridTableComponent, PivotGridConfiguratorComponent, PivotGridCellDirective, FormsModule, ReactiveFormsModule] });
4871
5384
  }
4872
- PivotGridModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PivotGridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
4873
- PivotGridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: PivotGridModule, imports: [ChipMenuItemComponent, ChipMenuSortComponent, ChipMenuComponent, ChipMenuFilterComponent, ChipMenuItemContentTemplateDirective, FilterMenuContainerComponent, StringFilterMenuComponent, FilterMenuDropDownListDirective, ChipMenuContainerComponent, ChipMenuItemDirective, ChipMenuReorderComponent, PivotGridComponent, PivotGridTableComponent, PivotGridConfiguratorComponent, PivotGridCellDirective, PivotLocalBindingDirective, PivotOLAPBindingDirective, DraggableChipDirective, DropTargetDirective, LocalizedMessagesDirective, CustomMessagesComponent, ChipKeyboardNavigationDirective, CellTemplateDirective, ValueCellTemplateDirective, RowHeaderCellTemplateDirective, ColumnHeaderCellTemplateDirective, FormsModule, ReactiveFormsModule], exports: [PivotGridComponent, PivotGridTableComponent, PivotGridCellDirective, PivotLocalBindingDirective, PivotOLAPBindingDirective, CustomMessagesComponent, CellTemplateDirective, ValueCellTemplateDirective, RowHeaderCellTemplateDirective, ColumnHeaderCellTemplateDirective] });
4874
- PivotGridModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PivotGridModule, providers: [
4875
- IconsService,
4876
- PopupService,
4877
- ResizeBatchService,
4878
- DialogContainerService,
4879
- DialogService,
4880
- WindowService,
4881
- WindowContainerService
4882
- ], imports: [ChipMenuItemComponent, ChipMenuSortComponent, ChipMenuComponent, ChipMenuFilterComponent, FilterMenuContainerComponent, StringFilterMenuComponent, ChipMenuContainerComponent, ChipMenuReorderComponent, PivotGridComponent, PivotGridTableComponent, PivotGridConfiguratorComponent, PivotGridCellDirective, CustomMessagesComponent, FormsModule, ReactiveFormsModule] });
4883
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PivotGridModule, decorators: [{
5385
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PivotGridModule, decorators: [{
4884
5386
  type: NgModule,
4885
5387
  args: [{
4886
5388
  imports: [...KENDO_PIVOTGRID_CHIPMENU_DECLARATIONS, ...KENDO_PIVOTGRID_DECLARATIONS, FormsModule, ReactiveFormsModule],