@progress/kendo-angular-pivotgrid 19.3.0-develop.4 → 19.3.0-develop.40
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/esm2022/configurator/chip-kb-nav.directive.mjs +5 -4
- package/esm2022/configurator/chip-menu/chip-menu-item.directive.mjs +1 -1
- package/esm2022/configurator/chip-menu/chip-menu.component.mjs +1 -1
- package/esm2022/configurator/chip-menu/filtering/filter-menu-dropdownlist.directive.mjs +1 -1
- package/esm2022/configurator/chip-menu/filtering/string-filter-menu.component.mjs +1 -1
- package/esm2022/configurator/configurator.component.mjs +1 -1
- package/esm2022/package-metadata.mjs +2 -2
- package/esm2022/rendering/pivotgrid-table.component.mjs +9 -8
- package/esm2022/util.mjs +0 -4
- package/fesm2022/progress-kendo-angular-pivotgrid.mjs +18 -20
- package/index.d.ts +1 -0
- package/package.json +14 -14
- package/schematics/ngAdd/index.js +2 -2
- package/util.d.ts +0 -4
@@ -4,7 +4,7 @@
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
5
5
|
import { Directive, EventEmitter, NgZone, Output, Renderer2 } from '@angular/core';
|
6
6
|
import { ChipComponent } from '@progress/kendo-angular-buttons';
|
7
|
-
import { Keys } from '@progress/kendo-angular-common';
|
7
|
+
import { Keys, normalizeNumpadKeys } from '@progress/kendo-angular-common';
|
8
8
|
import { Subscription } from 'rxjs';
|
9
9
|
import * as i0 from "@angular/core";
|
10
10
|
import * as i1 from "@progress/kendo-angular-buttons";
|
@@ -27,11 +27,12 @@ export class ChipKeyboardNavigationDirective {
|
|
27
27
|
this.ngZone.runOutsideAngular(() => {
|
28
28
|
this.keydownSub.add(this.renderer.listen(chipElement, 'keydown', (ev) => {
|
29
29
|
ev.preventDefault();
|
30
|
-
const
|
30
|
+
const code = normalizeNumpadKeys(ev);
|
31
|
+
const isAltDown = code === Keys.ArrowDown && ev.altKey;
|
31
32
|
const menuIcon = this.host.element.nativeElement.querySelector('.k-i-more-vertical, .k-svg-i-more-vertical');
|
32
33
|
const isCtrlOrMeta = ev.ctrlKey || ev.metaKey;
|
33
34
|
const shiftAndMeta = ev.shiftKey && isCtrlOrMeta;
|
34
|
-
const isArrow = [Keys.ArrowLeft, Keys.ArrowRight, Keys.ArrowDown, Keys.ArrowUp].includes(
|
35
|
+
const isArrow = [Keys.ArrowLeft, Keys.ArrowRight, Keys.ArrowDown, Keys.ArrowUp].includes(code);
|
35
36
|
const isReorderAction = shiftAndMeta && isArrow;
|
36
37
|
if (isAltDown && menuIcon) {
|
37
38
|
menuIcon.click();
|
@@ -42,7 +43,7 @@ export class ChipKeyboardNavigationDirective {
|
|
42
43
|
[Keys.ArrowUp]: 'up',
|
43
44
|
[Keys.ArrowRight]: 'right',
|
44
45
|
[Keys.ArrowLeft]: 'left'
|
45
|
-
}[
|
46
|
+
}[code];
|
46
47
|
this.reorder.emit({
|
47
48
|
direction,
|
48
49
|
sender: this.host
|
@@ -8,7 +8,6 @@ import { Component, Input, ViewChild, Renderer2, TemplateRef } from '@angular/co
|
|
8
8
|
import { SinglePopupService } from './single-popup.service';
|
9
9
|
import { ChipMenuService } from './chip-menu.service';
|
10
10
|
import { PivotLocalizationService } from '../../localization/pivot-localization.service';
|
11
|
-
import { replaceMessagePlaceholder } from '../../util';
|
12
11
|
import { moreVerticalIcon } from '@progress/kendo-svg-icons';
|
13
12
|
import { ChipMenuReorderComponent } from './chip-menu-reorder.component';
|
14
13
|
import { ChipMenuFilterComponent } from './chip-menu-filter.component';
|
@@ -18,6 +17,7 @@ import { NgIf } from '@angular/common';
|
|
18
17
|
import { ChipMenuContainerComponent } from './chip-menu-container.component';
|
19
18
|
import { IconWrapperComponent } from '@progress/kendo-angular-icons';
|
20
19
|
import { ChipComponent } from '@progress/kendo-angular-buttons';
|
20
|
+
import { replaceMessagePlaceholder } from '@progress/kendo-angular-common';
|
21
21
|
import * as i0 from "@angular/core";
|
22
22
|
import * as i1 from "./single-popup.service";
|
23
23
|
import * as i2 from "../../localization/pivot-localization.service";
|
@@ -25,7 +25,7 @@ export class FilterMenuDropDownListDirective {
|
|
25
25
|
this.host.wrapper.nativeElement.removeEventListener('keydown', this.keydownHandler);
|
26
26
|
}
|
27
27
|
keydownHandler = (e) => {
|
28
|
-
if (e.
|
28
|
+
if (e.code === Keys.Escape && this.host.isOpen) {
|
29
29
|
e.stopPropagation();
|
30
30
|
this.host.toggle(false);
|
31
31
|
}
|
@@ -8,10 +8,10 @@ import { PivotLocalizationService } from '../../../localization/pivot-localizati
|
|
8
8
|
import { FormBuilder, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';
|
9
9
|
import { ConfiguratorService } from '../../configurator.service';
|
10
10
|
import { Subscription } from 'rxjs';
|
11
|
-
import { replaceMessagePlaceholder } from '../../../util';
|
12
11
|
import { FilterMenuDropDownListDirective } from './filter-menu-dropdownlist.directive';
|
13
12
|
import { DropDownListComponent } from '@progress/kendo-angular-dropdowns';
|
14
13
|
import { TextBoxDirective } from '@progress/kendo-angular-inputs';
|
14
|
+
import { replaceMessagePlaceholder } from '@progress/kendo-angular-common';
|
15
15
|
import * as i0 from "@angular/core";
|
16
16
|
import * as i1 from "../../../localization/pivot-localization.service";
|
17
17
|
import * as i2 from "../../configurator.service";
|
@@ -508,7 +508,7 @@ export class PivotGridConfiguratorComponent {
|
|
508
508
|
<button kendoButton themeColor="primary" type="button" (click)="handleSubmit()">{{messageFor('configuratorApplyButtonText')}}</button>
|
509
509
|
</div>
|
510
510
|
</div>
|
511
|
-
`, 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"] }] });
|
511
|
+
`, 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: ["orientation", "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"] }] });
|
512
512
|
}
|
513
513
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PivotGridConfiguratorComponent, decorators: [{
|
514
514
|
type: Component,
|
@@ -10,7 +10,7 @@ export const packageMetadata = {
|
|
10
10
|
productName: 'Kendo UI for Angular',
|
11
11
|
productCode: 'KENDOUIANGULAR',
|
12
12
|
productCodes: ['KENDOUIANGULAR'],
|
13
|
-
publishDate:
|
14
|
-
version: '19.3.0-develop.
|
13
|
+
publishDate: 1754990978,
|
14
|
+
version: '19.3.0-develop.40',
|
15
15
|
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'
|
16
16
|
};
|
@@ -13,7 +13,7 @@ import { ScrollableTable } from '../virtual/scrollable-container';
|
|
13
13
|
import { PivotGridCellDirective } from './pivotgrid-cell.directive';
|
14
14
|
import { NgFor, NgIf, NgStyle } from '@angular/common';
|
15
15
|
import { LocalizationService } from '@progress/kendo-angular-l10n';
|
16
|
-
import { Keys, isDocumentAvailable } from '@progress/kendo-angular-common';
|
16
|
+
import { Keys, isDocumentAvailable, normalizeNumpadKeys } from '@progress/kendo-angular-common';
|
17
17
|
import { isVisible, matchAriaAttributes } from '../util';
|
18
18
|
import { PivotGridScrollService } from '../virtual/scroll.service';
|
19
19
|
import * as i0 from "@angular/core";
|
@@ -121,10 +121,11 @@ export class PivotGridTableComponent {
|
|
121
121
|
initScrollableKeyboardNavigation() {
|
122
122
|
const pivotGrid = this.scrollService.pivotGrid;
|
123
123
|
this.host.nativeElement.addEventListener('keydown', (e) => {
|
124
|
-
|
124
|
+
const code = normalizeNumpadKeys(e);
|
125
|
+
if (this.tableType === 'values' && e.targe.tagName === 'TD') {
|
125
126
|
e.stopImmediatePropagation();
|
126
127
|
e.preventDefault();
|
127
|
-
if (
|
128
|
+
if (code === Keys.ArrowLeft) {
|
128
129
|
const id = e.target.getAttribute('id');
|
129
130
|
if (id.split('-')[5] === '1') {
|
130
131
|
const target = document.querySelector(`tr[aria-owns*="${id}"]`);
|
@@ -137,7 +138,7 @@ export class PivotGridTableComponent {
|
|
137
138
|
}
|
138
139
|
}
|
139
140
|
}
|
140
|
-
else if (
|
141
|
+
else if (code === Keys.ArrowRight) {
|
141
142
|
const id = e.target.getAttribute('id');
|
142
143
|
if (id.split('-')[5] !== this.headerItems.length.toString()) {
|
143
144
|
pivotGrid.navigation.focusElement(e.target.nextElementSibling, e.target);
|
@@ -146,7 +147,7 @@ export class PivotGridTableComponent {
|
|
146
147
|
}
|
147
148
|
}
|
148
149
|
}
|
149
|
-
else if (
|
150
|
+
else if (code === Keys.ArrowUp) {
|
150
151
|
const id = e.target.getAttribute('id');
|
151
152
|
if (id.split('-')[4] === '1') {
|
152
153
|
const target = document.getElementById(e.target.getAttribute('aria-describedby').split(' ').pop());
|
@@ -161,7 +162,7 @@ export class PivotGridTableComponent {
|
|
161
162
|
}
|
162
163
|
}
|
163
164
|
}
|
164
|
-
else if (
|
165
|
+
else if (code === Keys.ArrowDown) {
|
165
166
|
const id = e.target.getAttribute('id');
|
166
167
|
if (id.split('-')[4] !== this.totalRows.toString()) {
|
167
168
|
const index = Array.from(e.target.parentElement.children).findIndex(el => el === e.target);
|
@@ -173,7 +174,7 @@ export class PivotGridTableComponent {
|
|
173
174
|
}
|
174
175
|
}
|
175
176
|
}
|
176
|
-
if (this.tableType === 'rowHeader' && e.target.tagName === 'TH' &&
|
177
|
+
if (this.tableType === 'rowHeader' && e.target.tagName === 'TH' && code === Keys.ArrowRight) {
|
177
178
|
if (e.target.matches(':last-child')) {
|
178
179
|
e.stopImmediatePropagation();
|
179
180
|
e.preventDefault();
|
@@ -186,7 +187,7 @@ export class PivotGridTableComponent {
|
|
186
187
|
}));
|
187
188
|
}
|
188
189
|
}
|
189
|
-
if (this.tableType === 'columnHeader' && e.target.tagName === 'TH' &&
|
190
|
+
if (this.tableType === 'columnHeader' && e.target.tagName === 'TH' && code === Keys.ArrowDown) {
|
190
191
|
if (e.target.parentElement.matches(':last-child')) {
|
191
192
|
e.stopImmediatePropagation();
|
192
193
|
e.preventDefault();
|
package/esm2022/util.mjs
CHANGED
@@ -139,10 +139,6 @@ export const position = (target, before) => {
|
|
139
139
|
* @hidden
|
140
140
|
*/
|
141
141
|
export const filterAndMap = (arr, predicate, mapper) => arr.reduce((acc, curr) => predicate(curr) ? [...acc, mapper(curr)] : acc, []);
|
142
|
-
/**
|
143
|
-
* @hidden
|
144
|
-
*/
|
145
|
-
export const replaceMessagePlaceholder = (message, name, value) => message.replace(new RegExp(`{\\s*${name}\\s*}`, 'g'), value);
|
146
142
|
/**
|
147
143
|
* @hidden
|
148
144
|
*/
|
@@ -7,7 +7,7 @@ import { EventEmitter, Directive, Output, Input, Injectable, Component, ContentC
|
|
7
7
|
import * as i1 from '@progress/kendo-angular-buttons';
|
8
8
|
import { ButtonComponent, ChipListComponent, ChipComponent } from '@progress/kendo-angular-buttons';
|
9
9
|
import * as i1$4 from '@progress/kendo-angular-common';
|
10
|
-
import { Keys, isDocumentAvailable, PreventableEvent, DraggableDirective, hasObservers, anyChanged, EventsOutsideAngularDirective, TemplateContextDirective, isChanged, ResizeBatchService } from '@progress/kendo-angular-common';
|
10
|
+
import { normalizeNumpadKeys, Keys, isDocumentAvailable, replaceMessagePlaceholder, PreventableEvent, DraggableDirective, hasObservers, anyChanged, EventsOutsideAngularDirective, TemplateContextDirective, isChanged, ResizeBatchService } from '@progress/kendo-angular-common';
|
11
11
|
import { Subscription, BehaviorSubject, Subject, from, of, fromEvent } from 'rxjs';
|
12
12
|
import { take, tap, mergeMap, merge } from 'rxjs/operators';
|
13
13
|
import { toTree, toRows, toColumns, toData, configuratorReducer, PIVOT_CONFIGURATOR_ACTION, HEADERS_ACTION, headersReducer, createFlatSchemaDimensions, createDataTree, createLocalDataState, rootFields, fetchData, createDataState, fetchDiscover, addKPI, buildKPIMeasures, PivotGridNavigation, ConfiguratorNavigation } from '@progress/kendo-pivotgrid-common';
|
@@ -49,11 +49,12 @@ class ChipKeyboardNavigationDirective {
|
|
49
49
|
this.ngZone.runOutsideAngular(() => {
|
50
50
|
this.keydownSub.add(this.renderer.listen(chipElement, 'keydown', (ev) => {
|
51
51
|
ev.preventDefault();
|
52
|
-
const
|
52
|
+
const code = normalizeNumpadKeys(ev);
|
53
|
+
const isAltDown = code === Keys.ArrowDown && ev.altKey;
|
53
54
|
const menuIcon = this.host.element.nativeElement.querySelector('.k-i-more-vertical, .k-svg-i-more-vertical');
|
54
55
|
const isCtrlOrMeta = ev.ctrlKey || ev.metaKey;
|
55
56
|
const shiftAndMeta = ev.shiftKey && isCtrlOrMeta;
|
56
|
-
const isArrow = [Keys.ArrowLeft, Keys.ArrowRight, Keys.ArrowDown, Keys.ArrowUp].includes(
|
57
|
+
const isArrow = [Keys.ArrowLeft, Keys.ArrowRight, Keys.ArrowDown, Keys.ArrowUp].includes(code);
|
57
58
|
const isReorderAction = shiftAndMeta && isArrow;
|
58
59
|
if (isAltDown && menuIcon) {
|
59
60
|
menuIcon.click();
|
@@ -64,7 +65,7 @@ class ChipKeyboardNavigationDirective {
|
|
64
65
|
[Keys.ArrowUp]: 'up',
|
65
66
|
[Keys.ArrowRight]: 'right',
|
66
67
|
[Keys.ArrowLeft]: 'left'
|
67
|
-
}[
|
68
|
+
}[code];
|
68
69
|
this.reorder.emit({
|
69
70
|
direction,
|
70
71
|
sender: this.host
|
@@ -147,7 +148,7 @@ class ChipMenuItemDirective {
|
|
147
148
|
this.subs.unsubscribe();
|
148
149
|
}
|
149
150
|
onTab = (e) => {
|
150
|
-
if (e.
|
151
|
+
if (e.code !== Keys.Tab) {
|
151
152
|
return;
|
152
153
|
}
|
153
154
|
if (this.isFirst && e.shiftKey && e.target === this.chipMenuItems[0]) {
|
@@ -317,10 +318,6 @@ const position = (target, before) => {
|
|
317
318
|
* @hidden
|
318
319
|
*/
|
319
320
|
const filterAndMap = (arr, predicate, mapper) => arr.reduce((acc, curr) => predicate(curr) ? [...acc, mapper(curr)] : acc, []);
|
320
|
-
/**
|
321
|
-
* @hidden
|
322
|
-
*/
|
323
|
-
const replaceMessagePlaceholder = (message, name, value) => message.replace(new RegExp(`{\\s*${name}\\s*}`, 'g'), value);
|
324
321
|
/**
|
325
322
|
* @hidden
|
326
323
|
*/
|
@@ -695,7 +692,7 @@ class FilterMenuDropDownListDirective {
|
|
695
692
|
this.host.wrapper.nativeElement.removeEventListener('keydown', this.keydownHandler);
|
696
693
|
}
|
697
694
|
keydownHandler = (e) => {
|
698
|
-
if (e.
|
695
|
+
if (e.code === Keys.Escape && this.host.isOpen) {
|
699
696
|
e.stopPropagation();
|
700
697
|
this.host.toggle(false);
|
701
698
|
}
|
@@ -2736,7 +2733,7 @@ class PivotGridConfiguratorComponent {
|
|
2736
2733
|
<button kendoButton themeColor="primary" type="button" (click)="handleSubmit()">{{messageFor('configuratorApplyButtonText')}}</button>
|
2737
2734
|
</div>
|
2738
2735
|
</div>
|
2739
|
-
`, 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"] }] });
|
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: ["orientation", "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"] }] });
|
2740
2737
|
}
|
2741
2738
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PivotGridConfiguratorComponent, decorators: [{
|
2742
2739
|
type: Component,
|
@@ -3806,8 +3803,8 @@ const packageMetadata = {
|
|
3806
3803
|
productName: 'Kendo UI for Angular',
|
3807
3804
|
productCode: 'KENDOUIANGULAR',
|
3808
3805
|
productCodes: ['KENDOUIANGULAR'],
|
3809
|
-
publishDate:
|
3810
|
-
version: '19.3.0-develop.
|
3806
|
+
publishDate: 1754990978,
|
3807
|
+
version: '19.3.0-develop.40',
|
3811
3808
|
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'
|
3812
3809
|
};
|
3813
3810
|
|
@@ -4415,10 +4412,11 @@ class PivotGridTableComponent {
|
|
4415
4412
|
initScrollableKeyboardNavigation() {
|
4416
4413
|
const pivotGrid = this.scrollService.pivotGrid;
|
4417
4414
|
this.host.nativeElement.addEventListener('keydown', (e) => {
|
4418
|
-
|
4415
|
+
const code = normalizeNumpadKeys(e);
|
4416
|
+
if (this.tableType === 'values' && e.targe.tagName === 'TD') {
|
4419
4417
|
e.stopImmediatePropagation();
|
4420
4418
|
e.preventDefault();
|
4421
|
-
if (
|
4419
|
+
if (code === Keys.ArrowLeft) {
|
4422
4420
|
const id = e.target.getAttribute('id');
|
4423
4421
|
if (id.split('-')[5] === '1') {
|
4424
4422
|
const target = document.querySelector(`tr[aria-owns*="${id}"]`);
|
@@ -4431,7 +4429,7 @@ class PivotGridTableComponent {
|
|
4431
4429
|
}
|
4432
4430
|
}
|
4433
4431
|
}
|
4434
|
-
else if (
|
4432
|
+
else if (code === Keys.ArrowRight) {
|
4435
4433
|
const id = e.target.getAttribute('id');
|
4436
4434
|
if (id.split('-')[5] !== this.headerItems.length.toString()) {
|
4437
4435
|
pivotGrid.navigation.focusElement(e.target.nextElementSibling, e.target);
|
@@ -4440,7 +4438,7 @@ class PivotGridTableComponent {
|
|
4440
4438
|
}
|
4441
4439
|
}
|
4442
4440
|
}
|
4443
|
-
else if (
|
4441
|
+
else if (code === Keys.ArrowUp) {
|
4444
4442
|
const id = e.target.getAttribute('id');
|
4445
4443
|
if (id.split('-')[4] === '1') {
|
4446
4444
|
const target = document.getElementById(e.target.getAttribute('aria-describedby').split(' ').pop());
|
@@ -4455,7 +4453,7 @@ class PivotGridTableComponent {
|
|
4455
4453
|
}
|
4456
4454
|
}
|
4457
4455
|
}
|
4458
|
-
else if (
|
4456
|
+
else if (code === Keys.ArrowDown) {
|
4459
4457
|
const id = e.target.getAttribute('id');
|
4460
4458
|
if (id.split('-')[4] !== this.totalRows.toString()) {
|
4461
4459
|
const index = Array.from(e.target.parentElement.children).findIndex(el => el === e.target);
|
@@ -4467,7 +4465,7 @@ class PivotGridTableComponent {
|
|
4467
4465
|
}
|
4468
4466
|
}
|
4469
4467
|
}
|
4470
|
-
if (this.tableType === 'rowHeader' && e.target.tagName === 'TH' &&
|
4468
|
+
if (this.tableType === 'rowHeader' && e.target.tagName === 'TH' && code === Keys.ArrowRight) {
|
4471
4469
|
if (e.target.matches(':last-child')) {
|
4472
4470
|
e.stopImmediatePropagation();
|
4473
4471
|
e.preventDefault();
|
@@ -4480,7 +4478,7 @@ class PivotGridTableComponent {
|
|
4480
4478
|
}));
|
4481
4479
|
}
|
4482
4480
|
}
|
4483
|
-
if (this.tableType === 'columnHeader' && e.target.tagName === 'TH' &&
|
4481
|
+
if (this.tableType === 'columnHeader' && e.target.tagName === 'TH' && code === Keys.ArrowDown) {
|
4484
4482
|
if (e.target.parentElement.matches(':last-child')) {
|
4485
4483
|
e.stopImmediatePropagation();
|
4486
4484
|
e.preventDefault();
|
package/index.d.ts
CHANGED
@@ -17,6 +17,7 @@ export { ExpandChangeEvent } from './models/expanded-change-event';
|
|
17
17
|
export { ConfigurationChangeEvent } from './models/configuration-change-event';
|
18
18
|
export { PivotDataRowItem } from './models/data-row-item';
|
19
19
|
export { ConfiguratorSettings } from './models/configurator-settings';
|
20
|
+
export { LoaderSettings } from './models/loader-settings';
|
20
21
|
export { PivotGridConfiguratorPosition } from './models/configurator-position';
|
21
22
|
export { PivotGridConfiguratorOrientation } from './models/configurator-orientation';
|
22
23
|
export { DropTargetType } from './models/drop-target';
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@progress/kendo-angular-pivotgrid",
|
3
|
-
"version": "19.3.0-develop.
|
3
|
+
"version": "19.3.0-develop.40",
|
4
4
|
"description": "PivotGrid package for Angular",
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
6
6
|
"author": "Progress",
|
@@ -18,7 +18,7 @@
|
|
18
18
|
"package": {
|
19
19
|
"productName": "Kendo UI for Angular",
|
20
20
|
"productCode": "KENDOUIANGULAR",
|
21
|
-
"publishDate":
|
21
|
+
"publishDate": 1754990978,
|
22
22
|
"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"
|
23
23
|
}
|
24
24
|
},
|
@@ -30,22 +30,22 @@
|
|
30
30
|
"@angular/platform-browser": "16 - 20",
|
31
31
|
"@progress/kendo-data-query": "^1.5.5",
|
32
32
|
"@progress/kendo-drawing": "^1.21.0",
|
33
|
-
"@progress/kendo-licensing": "^1.
|
34
|
-
"@progress/kendo-angular-buttons": "19.3.0-develop.
|
35
|
-
"@progress/kendo-angular-common": "19.3.0-develop.
|
36
|
-
"@progress/kendo-angular-dropdowns": "19.3.0-develop.
|
37
|
-
"@progress/kendo-angular-indicators": "19.3.0-develop.
|
38
|
-
"@progress/kendo-angular-inputs": "19.3.0-develop.
|
39
|
-
"@progress/kendo-angular-intl": "19.3.0-develop.
|
40
|
-
"@progress/kendo-angular-l10n": "19.3.0-develop.
|
41
|
-
"@progress/kendo-angular-popup": "19.3.0-develop.
|
42
|
-
"@progress/kendo-angular-icons": "19.3.0-develop.
|
43
|
-
"@progress/kendo-angular-treeview": "19.3.0-develop.
|
33
|
+
"@progress/kendo-licensing": "^1.7.0",
|
34
|
+
"@progress/kendo-angular-buttons": "19.3.0-develop.40",
|
35
|
+
"@progress/kendo-angular-common": "19.3.0-develop.40",
|
36
|
+
"@progress/kendo-angular-dropdowns": "19.3.0-develop.40",
|
37
|
+
"@progress/kendo-angular-indicators": "19.3.0-develop.40",
|
38
|
+
"@progress/kendo-angular-inputs": "19.3.0-develop.40",
|
39
|
+
"@progress/kendo-angular-intl": "19.3.0-develop.40",
|
40
|
+
"@progress/kendo-angular-l10n": "19.3.0-develop.40",
|
41
|
+
"@progress/kendo-angular-popup": "19.3.0-develop.40",
|
42
|
+
"@progress/kendo-angular-icons": "19.3.0-develop.40",
|
43
|
+
"@progress/kendo-angular-treeview": "19.3.0-develop.40",
|
44
44
|
"rxjs": "^6.5.3 || ^7.0.0"
|
45
45
|
},
|
46
46
|
"dependencies": {
|
47
47
|
"tslib": "^2.3.1",
|
48
|
-
"@progress/kendo-angular-schematics": "19.3.0-develop.
|
48
|
+
"@progress/kendo-angular-schematics": "19.3.0-develop.40",
|
49
49
|
"@progress/kendo-pivotgrid-common": "0.6.3"
|
50
50
|
},
|
51
51
|
"schematics": "./schematics/collection.json",
|
@@ -6,11 +6,11 @@ function default_1(options) {
|
|
6
6
|
// Additional dependencies to install.
|
7
7
|
// See https://github.com/telerik/kendo-schematics/issues/28
|
8
8
|
peerDependencies: {
|
9
|
-
'@progress/kendo-angular-dialog': '19.3.0-develop.
|
9
|
+
'@progress/kendo-angular-dialog': '19.3.0-develop.40',
|
10
10
|
// peer dep of the icons
|
11
11
|
'@progress/kendo-svg-icons': '^4.0.0',
|
12
12
|
// peer dep of the dropdowns
|
13
|
-
'@progress/kendo-angular-navigation': '19.3.0-develop.
|
13
|
+
'@progress/kendo-angular-navigation': '19.3.0-develop.40'
|
14
14
|
} });
|
15
15
|
return (0, schematics_1.externalSchematic)('@progress/kendo-angular-schematics', 'ng-add', finalOptions);
|
16
16
|
}
|
package/util.d.ts
CHANGED
@@ -54,10 +54,6 @@ export declare const position: (target: any, before: any) => {
|
|
54
54
|
* @hidden
|
55
55
|
*/
|
56
56
|
export declare const filterAndMap: (arr: any[], predicate: (item: any) => boolean, mapper: (item: any) => any) => any[];
|
57
|
-
/**
|
58
|
-
* @hidden
|
59
|
-
*/
|
60
|
-
export declare const replaceMessagePlaceholder: (message: string, name: string, value: string) => string;
|
61
57
|
/**
|
62
58
|
* @hidden
|
63
59
|
*/
|