@progress/kendo-angular-pivotgrid 17.0.0-develop.20 → 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.
- package/configurator/chip-menu/chip-menu-filter.component.d.ts +1 -1
- package/configurator/chip-menu/chip-menu-item-base.d.ts +1 -1
- package/configurator/chip-menu/chip-menu-item.component.d.ts +1 -1
- package/configurator/chip-menu/chip-menu-item.directive.d.ts +1 -1
- package/configurator/chip-menu/chip-menu-reorder.component.d.ts +1 -1
- package/configurator/chip-menu/chip-menu-sort.component.d.ts +1 -1
- package/configurator/chip-menu/chip-menu.component.d.ts +1 -1
- package/configurator/chip-menu/filtering/filter-menu-container.component.d.ts +1 -1
- package/configurator/chip-menu/filtering/filter-menu-dropdownlist.directive.d.ts +1 -1
- package/configurator/chip-menu/filtering/string-filter-menu.component.d.ts +3 -3
- package/configurator/configurator.component.d.ts +1 -1
- package/configurator/draggable.directive.d.ts +1 -1
- package/configurator/drop-target.directive.d.ts +1 -1
- package/data-binding/base-binding-directive.d.ts +1 -1
- package/data-binding/local-binding.directive.d.ts +1 -1
- package/data-binding/olap-binding.directive.d.ts +1 -1
- package/{esm2020 → esm2022}/configurator/chip-kb-nav.directive.mjs +8 -5
- package/{esm2020 → esm2022}/configurator/chip-menu/chip-menu-container.component.mjs +8 -5
- package/{esm2020 → esm2022}/configurator/chip-menu/chip-menu-filter.component.mjs +25 -19
- package/{esm2020 → esm2022}/configurator/chip-menu/chip-menu-item-base.mjs +9 -6
- package/{esm2020 → esm2022}/configurator/chip-menu/chip-menu-item-content-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/configurator/chip-menu/chip-menu-item.component.mjs +65 -40
- package/{esm2020 → esm2022}/configurator/chip-menu/chip-menu-item.directive.mjs +35 -28
- package/{esm2020 → esm2022}/configurator/chip-menu/chip-menu-reorder.component.mjs +27 -19
- package/{esm2020 → esm2022}/configurator/chip-menu/chip-menu-sort.component.mjs +10 -6
- package/{esm2020 → esm2022}/configurator/chip-menu/chip-menu.component.mjs +22 -10
- package/{esm2020 → esm2022}/configurator/chip-menu/chip-menu.service.mjs +12 -10
- package/{esm2020 → esm2022}/configurator/chip-menu/filtering/filter-menu-container.component.mjs +21 -8
- package/{esm2020 → esm2022}/configurator/chip-menu/filtering/filter-menu-dropdownlist.directive.mjs +11 -9
- package/{esm2020 → esm2022}/configurator/chip-menu/filtering/menu-tabbing.service.mjs +7 -6
- package/{esm2020 → esm2022}/configurator/chip-menu/filtering/string-filter-menu.component.mjs +25 -15
- package/{esm2020 → esm2022}/configurator/chip-menu/single-popup.service.mjs +21 -10
- package/{esm2020 → esm2022}/configurator/configurator.component.mjs +51 -38
- package/{esm2020 → esm2022}/configurator/configurator.service.mjs +12 -5
- package/{esm2020 → esm2022}/configurator/draggable.directive.mjs +19 -11
- package/{esm2020 → esm2022}/configurator/drop-cue.service.mjs +4 -3
- package/{esm2020 → esm2022}/configurator/drop-target.directive.mjs +15 -4
- package/{esm2020 → esm2022}/data-binding/base-binding-directive.mjs +43 -35
- package/{esm2020 → esm2022}/data-binding/local-binding.directive.mjs +17 -5
- package/{esm2020 → esm2022}/data-binding/olap-binding.directive.mjs +16 -4
- package/{esm2020 → esm2022}/data-binding/pivotgrid-data.service.mjs +25 -14
- package/{esm2020 → esm2022}/localization/custom-messages.component.mjs +9 -8
- package/{esm2020 → esm2022}/localization/localized-messages.directive.mjs +9 -8
- package/esm2022/localization/messages.mjs +284 -0
- package/{esm2020 → esm2022}/localization/pivot-localization.service.mjs +4 -3
- package/{esm2020 → esm2022}/models/configuration-change-event.mjs +20 -0
- package/{esm2020 → esm2022}/models/configurator-settings.mjs +5 -0
- package/{esm2020 → esm2022}/models/expanded-change-event.mjs +12 -0
- package/{esm2020 → esm2022}/package-metadata.mjs +2 -2
- package/{esm2020 → esm2022}/pivotgrid.component.mjs +98 -73
- package/{esm2020 → esm2022}/pivotgrid.module.mjs +12 -12
- package/{esm2020 → esm2022}/rendering/pivotgrid-cell.directive.mjs +30 -19
- package/{esm2020 → esm2022}/rendering/pivotgrid-table.component.mjs +66 -48
- package/{esm2020 → esm2022}/rendering/templates/pivotgrid-cell-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/rendering/templates/pivotgrid-column-header-cell-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/rendering/templates/pivotgrid-row-header-cell-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/rendering/templates/pivotgrid-value-cell-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/virtual/scroll.service.mjs +5 -6
- package/{esm2020 → esm2022}/virtual/scrollable-container.mjs +57 -43
- package/{fesm2020 → fesm2022}/progress-kendo-angular-pivotgrid.mjs +1057 -555
- package/localization/messages.d.ts +1 -1
- package/models/configurator-chipmenu-reorder-target.d.ts +1 -1
- package/models/configurator-orientation.d.ts +1 -1
- package/models/configurator-position.d.ts +1 -1
- package/models/drop-section.d.ts +1 -1
- package/models/drop-target.d.ts +1 -1
- package/models/expanded-state-action.d.ts +2 -2
- package/models/virtualization-settings.d.ts +1 -1
- package/package.json +21 -27
- package/pivotgrid.component.d.ts +1 -1
- package/rendering/pivotgrid-cell.directive.d.ts +1 -1
- package/rendering/pivotgrid-table.component.d.ts +1 -1
- package/schematics/ngAdd/index.js +2 -2
- package/esm2020/localization/messages.mjs +0 -87
- package/fesm2015/progress-kendo-angular-pivotgrid.mjs +0 -4933
- /package/{esm2020 → esm2022}/directives.mjs +0 -0
- /package/{esm2020 → esm2022}/index.mjs +0 -0
- /package/{esm2020 → esm2022}/models/configurator-chipmenu-reorder-target.mjs +0 -0
- /package/{esm2020 → esm2022}/models/configurator-orientation.mjs +0 -0
- /package/{esm2020 → esm2022}/models/configurator-position.mjs +0 -0
- /package/{esm2020 → esm2022}/models/data-row-item.mjs +0 -0
- /package/{esm2020 → esm2022}/models/drop-section.mjs +0 -0
- /package/{esm2020 → esm2022}/models/drop-target.mjs +0 -0
- /package/{esm2020 → esm2022}/models/expanded-state-action.mjs +0 -0
- /package/{esm2020 → esm2022}/models/loader-settings.mjs +0 -0
- /package/{esm2020 → esm2022}/models/virtualization-settings.mjs +0 -0
- /package/{esm2020 → esm2022}/progress-kendo-angular-pivotgrid.mjs +0 -0
- /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
|
-
|
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
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
505
|
-
|
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
|
-
|
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
|
-
|
520
|
-
|
521
|
-
|
522
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
608
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
733
|
-
|
734
|
-
|
735
|
-
|
736
|
-
|
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
|
-
|
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
|
-
|
858
|
-
|
859
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
974
|
-
|
975
|
-
|
976
|
-
|
977
|
-
|
978
|
-
|
979
|
-
|
980
|
-
|
981
|
-
|
982
|
-
|
983
|
-
|
984
|
-
|
985
|
-
|
986
|
-
|
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
|
-
|
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
|
-
|
1037
|
-
|
1038
|
-
|
1039
|
-
|
1040
|
-
|
1041
|
-
|
1042
|
-
|
1043
|
-
|
1044
|
-
|
1045
|
-
|
1046
|
-
|
1047
|
-
|
1048
|
-
|
1049
|
-
|
1050
|
-
|
1051
|
-
|
1052
|
-
|
1053
|
-
|
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: "
|
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
|
-
|
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
|
-
|
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
|
-
|
1257
|
-
|
1258
|
-
|
1259
|
-
|
1260
|
-
|
1261
|
-
|
1262
|
-
|
1263
|
-
|
1264
|
-
|
1265
|
-
|
1266
|
-
|
1267
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
1667
|
-
|
1668
|
-
|
1669
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
2373
|
-
|
2374
|
-
|
2375
|
-
|
2376
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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:
|
3362
|
-
version: '17.0.0-develop.
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
3629
|
-
|
3630
|
-
|
3631
|
-
|
3632
|
-
|
3633
|
-
|
3634
|
-
|
3635
|
-
|
3636
|
-
|
3637
|
-
|
3638
|
-
|
3639
|
-
|
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
|
-
|
3672
|
-
|
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
|
-
|
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
|
-
|
3828
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
4158
|
-
|
4159
|
-
|
4160
|
-
|
4161
|
-
|
4162
|
-
|
4163
|
-
|
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
|
-
|
4382
|
-
|
4383
|
-
|
4384
|
-
|
4385
|
-
|
4386
|
-
|
4387
|
-
|
4388
|
-
|
4389
|
-
|
4390
|
-
|
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
|
-
|
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
|
-
|
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],
|