@progress/kendo-angular-pivotgrid 17.0.0-develop.1 → 17.0.0-develop.11
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/README.md +37 -15
- package/configurator/chip-menu/chip-menu.component.d.ts +6 -4
- package/configurator/configurator.component.d.ts +2 -5
- package/esm2020/configurator/chip-menu/chip-menu.component.mjs +16 -31
- package/esm2020/configurator/chip-menu/filtering/filter-menu-container.component.mjs +1 -1
- package/esm2020/configurator/configurator.component.mjs +83 -85
- package/esm2020/package-metadata.mjs +2 -2
- package/esm2020/pivotgrid.component.mjs +3 -3
- package/esm2020/rendering/pivotgrid-cell.directive.mjs +8 -7
- package/fesm2015/progress-kendo-angular-pivotgrid.mjs +110 -129
- package/fesm2020/progress-kendo-angular-pivotgrid.mjs +110 -127
- package/package.json +12 -12
- package/schematics/ngAdd/index.js +2 -2
package/README.md
CHANGED
@@ -2,30 +2,52 @@
|
|
2
2
|
<img width="631" src="https://www.telerik.com/kendo-angular-ui/npm-banner.svg">
|
3
3
|
</a>
|
4
4
|
|
5
|
-
##
|
5
|
+
## Kendo UI for Angular PivotGrid Component
|
6
6
|
|
7
|
-
Kendo UI for Angular is a commercial UI library designed and built for developing business applications with Angular. Every UI component in the Kendo UI for Angular suite has been built from the ground-up specifically for Angular.
|
8
|
-
|
9
|
-
> **Important**
|
10
7
|
> * This package is part of the [Kendo UI for Angular](https://www.telerik.com/kendo-angular-ui/)—a commercial UI library.
|
11
|
-
> * You
|
12
|
-
> *
|
13
|
-
|
8
|
+
> * You must [install a license key](https://www.telerik.com/kendo-angular-ui/my-license) when adding the package to your project. To receive a license key, either [purchase a license](https://www.telerik.com/purchase/kendo-ui) or register for a [free trial](https://www.telerik.com/download-login-v2-kendo-angular-ui).
|
9
|
+
> * The 30-day free trial gives you access to all the Kendo UI for Angular components and their full functionality. Additionally, for the period of your license, you get access to our legendary technical support provided directly by the Kendo UI for Angular team!
|
10
|
+
|
11
|
+
The Kendo UI for Angular PivotGrid displays multidimensional data in a cross-tabular format and comes with a set of ready-to-use features covering local and remote data binding directives, built-in expanding and collapsing of row and column axes, and dynamic calculation of the respective aggregates.
|
12
|
+
|
13
|
+
## What's Included in the Angular PivotGrid Package
|
14
|
+
|
15
|
+
The [Angular PivotGrid](https://www.telerik.com/kendo-angular-ui/components/pivotgrid) package includes the Kendo UI for Angular PivotGrid:
|
16
|
+
|
17
|
+
* [Angular PivotGrid Component](https://www.telerik.com/kendo-angular-ui/components/pivotgrid)
|
18
|
+
|
19
|
+
## Key Features
|
20
|
+
|
21
|
+
Among the many features which the Kendo UI for Angular PivotGrid delivers are:
|
22
|
+
|
23
|
+
* [Data Binding](https://www.telerik.com/kendo-angular-ui/components/pivotgrid/data-binding/basics)—The PivotGrid features automatic data-binding directives for local and OLAP data.
|
24
|
+
* [Aggregates](https://www.telerik.com/kendo-angular-ui/components/pivotgrid/aggregates)—PivotGrid aggregates summarize data across different dimensions, offering insights into trends, patterns, and relationships within the dataset.
|
25
|
+
* [Configurator](https://www.telerik.com/kendo-angular-ui/components/pivotgrid/configurator)—The PivotGrid configurator offers a user-friendly interface that empowers end users to modify column and row dimensions, adjust measure fields, and seamlessly apply sorting and filtering criteria to the dataset.
|
26
|
+
* [Filtering](https://www.telerik.com/kendo-angular-ui/components/pivotgrid/filtering)—The PivotGrid provides built-in filtering directives that enable you to display only those data records which meet specified criteria.
|
27
|
+
* [Sorting](https://www.telerik.com/kendo-angular-ui/components/pivotgrid/sorting)—The PivotGrid supports a number of sorting options including the ability to sort single and multiple columns, define an initial sort state for its data records, and more.
|
28
|
+
* [Templates](https://www.telerik.com/kendo-angular-ui/components/pivotgrid/templates)—The PivotGrid offers templates for customizing the content of all cells or to format the data displayed in the cells.
|
29
|
+
* [Virtualization](https://www.telerik.com/kendo-angular-ui/components/pivotgrid/virtualization)—The PivotGrid offers configurable row and column virtualization of its data table to enable performance optimizations when displaying large data sets.
|
30
|
+
* [Chart Integration](https://www.telerik.com/kendo-angular-ui/components/pivotgrid/integration-with-chart)—The PivotGrid provides the ability to visualize the data within the component in a chart via integration with the [Kendo UI for Angular Charts](https://www.telerik.com/kendo-angular-ui/components/charts) component.
|
31
|
+
* [Globalization](https://www.telerik.com/kendo-angular-ui/components/pivotgrid/globalization)—By using the available globalization options in Kendo UI for Angular, you can translate the PivotGrid messages by adapting them to specific culture locales. Additionally, the PivotGrid supports rendering in a right-to-left (RTL) direction.
|
32
|
+
* [Accessibility](https://www.telerik.com/kendo-angular-ui/components/pivotgrid/accessibility)—The PivotGrid is accessible for screen readers and support WAI-ARIA attributes.
|
33
|
+
* [Keyboard Navigation](https://www.telerik.com/kendo-angular-ui/components/pivotgrid/keyboard-navigation)—The PivotGrid components support a number of keyboard shortcuts which allow users to accomplish various commands.
|
34
|
+
|
35
|
+
## Support Options
|
36
|
+
|
37
|
+
For any issues you might encounter while working with the Kendo UI for Angular PivotGrid, you have the following support channels available:
|
38
|
+
|
39
|
+
* Industry-leading technical support—Kendo UI for Angular paid license holders and users with an active (free) trial license can take advantage of our outstanding customer support. To submit a ticket, use the [dedicated Kendo UI for Angular support system](https://www.telerik.com/account/support-tickets).
|
40
|
+
* Product forums—The [Kendo UI for Angular forums](https://www.telerik.com/forums/kendo-angular-ui) are part of the free support you can get from the community and from the Kendo UI for Angular team.
|
41
|
+
* Feedback portal—The [Kendo UI for Angular feedback portal](https://feedback.telerik.com/kendo-angular-ui) is where you can request and vote for new features to be added.
|
14
42
|
|
15
43
|
## Resources
|
16
44
|
|
17
|
-
* [
|
45
|
+
* [Getting Started with Kendo UI for Angular](https://www.telerik.com/kendo-angular-ui/getting-started)
|
46
|
+
* [Getting Started with the Kendo UI for Angular PivotGrid](https://www.telerik.com/kendo-angular-ui/components/pivotgrid/installation/getting-started)
|
18
47
|
* [Demos, documentation, and component reference](https://www.telerik.com/kendo-angular-ui/components)
|
19
48
|
* [Blogs](http://www.telerik.com/blogs/kendo-ui)
|
20
49
|
* [Kendo UI for Angular pricing and licensing](https://www.telerik.com/purchase/kendo-ui)
|
21
50
|
|
22
|
-
## Questions and Feedback
|
23
|
-
|
24
|
-
* [Official Forums](https://www.telerik.com/forums/kendo-angular-ui)
|
25
|
-
* [GitHub Issues](https://github.com/telerik/kendo-angular/issues)
|
26
|
-
* [Feedback Portal](https://feedback.telerik.com/kendo-angular-ui)
|
27
|
-
* [StackOverflow](https://stackoverflow.com/questions/tagged/kendo-ui-angular2)
|
28
|
-
|
29
51
|
*Copyright © 2024 Progress Software Corporation and/or one of its subsidiaries or affiliates. All rights reserved.*
|
30
52
|
|
31
53
|
*Progress, Telerik, and certain product names used herein are trademarks or registered trademarks of Progress Software Corporation and/or one of its subsidiaries or affiliates in the U.S. and/or other countries.*
|
@@ -2,12 +2,13 @@
|
|
2
2
|
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
5
|
-
import { OnDestroy,
|
5
|
+
import { OnDestroy, Renderer2, TemplateRef } from '@angular/core';
|
6
6
|
import { SinglePopupService } from './single-popup.service';
|
7
7
|
import { ChipMenuService } from './chip-menu.service';
|
8
8
|
import { PivotLocalizationService } from '../../localization/pivot-localization.service';
|
9
9
|
import { AxisDescriptor } from '@progress/kendo-pivotgrid-common';
|
10
10
|
import { SVGIcon } from '@progress/kendo-svg-icons';
|
11
|
+
import { ChipComponent } from '@progress/kendo-angular-buttons';
|
11
12
|
import * as i0 from "@angular/core";
|
12
13
|
/**
|
13
14
|
* @hidden
|
@@ -25,15 +26,16 @@ export declare class ChipMenuComponent implements OnDestroy {
|
|
25
26
|
chip: AxisDescriptor;
|
26
27
|
tabIndex: string;
|
27
28
|
isMeasureField: boolean;
|
28
|
-
anchor:
|
29
|
+
anchor: ChipComponent;
|
30
|
+
template: TemplateRef<any>;
|
29
31
|
menuItemSVGIcon: SVGIcon;
|
30
32
|
private popupRef;
|
31
33
|
private closeSubscription;
|
32
34
|
constructor(popupService: SinglePopupService, localization: PivotLocalizationService, service: ChipMenuService, renderer: Renderer2);
|
33
35
|
ngOnDestroy(): void;
|
34
|
-
toggle(e: any
|
36
|
+
toggle(e: any): void;
|
35
37
|
close(): void;
|
36
38
|
get chipMenuTitle(): string;
|
37
39
|
static ɵfac: i0.ɵɵFactoryDeclaration<ChipMenuComponent, never>;
|
38
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ChipMenuComponent, "kendo-pivot-chip-menu", never, { "chip": "chip"; "tabIndex": "tabIndex"; "isMeasureField": "isMeasureField"; }, {}, never, never, true, never>;
|
40
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ChipMenuComponent, "kendo-pivot-chip-menu", never, { "chip": "chip"; "tabIndex": "tabIndex"; "isMeasureField": "isMeasureField"; "anchor": "anchor"; }, {}, never, never, true, never>;
|
39
41
|
}
|
@@ -81,10 +81,7 @@ export declare class PivotGridConfiguratorComponent implements OnInit, OnChanges
|
|
81
81
|
* Child nodes are concatinated to the root level nodes.
|
82
82
|
*/
|
83
83
|
setChecked(fields?: any[]): void;
|
84
|
-
|
85
|
-
* A function which determines if a specific node is checked/
|
86
|
-
*/
|
87
|
-
isItemChecked(node: any): any;
|
84
|
+
checkItemBy: (context: any) => any;
|
88
85
|
/**
|
89
86
|
* Determines if a checkbox should be rendered.
|
90
87
|
*/
|
@@ -101,7 +98,7 @@ export declare class PivotGridConfiguratorComponent implements OnInit, OnChanges
|
|
101
98
|
children: TreeItem[];
|
102
99
|
item: TreeItem;
|
103
100
|
}): void;
|
104
|
-
handleCheckedChange(event: any
|
101
|
+
handleCheckedChange(event: any): void;
|
105
102
|
onTreeViewSelect(ev: Event): void;
|
106
103
|
onTreeViewEscape(ev: KeyboardEvent): void;
|
107
104
|
handleSubmit(): void;
|
@@ -4,7 +4,7 @@
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
5
5
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
6
6
|
import { MenuTabbingService } from './filtering/menu-tabbing.service';
|
7
|
-
import { Component, Input,
|
7
|
+
import { Component, Input, ViewChild, Renderer2, TemplateRef } from '@angular/core';
|
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';
|
@@ -17,6 +17,7 @@ import { ChipMenuSortComponent } from './chip-menu-sort.component';
|
|
17
17
|
import { NgIf } from '@angular/common';
|
18
18
|
import { ChipMenuContainerComponent } from './chip-menu-container.component';
|
19
19
|
import { IconWrapperComponent } from '@progress/kendo-angular-icons';
|
20
|
+
import { ChipComponent } from '@progress/kendo-angular-buttons';
|
20
21
|
import * as i0 from "@angular/core";
|
21
22
|
import * as i1 from "./single-popup.service";
|
22
23
|
import * as i2 from "../../localization/pivot-localization.service";
|
@@ -42,22 +43,22 @@ export class ChipMenuComponent {
|
|
42
43
|
this.close();
|
43
44
|
this.closeSubscription.unsubscribe();
|
44
45
|
}
|
45
|
-
toggle(e
|
46
|
-
if (e) {
|
47
|
-
e.preventDefault();
|
48
|
-
e.stopImmediatePropagation();
|
46
|
+
toggle(e) {
|
47
|
+
if (e?.originalEvent) {
|
48
|
+
e.originalEvent.preventDefault();
|
49
|
+
e.originalEvent.stopImmediatePropagation();
|
49
50
|
}
|
50
|
-
const
|
51
|
-
this.popupRef = this.popupService.open(
|
51
|
+
const anchorElement = this.anchor.element.nativeElement;
|
52
|
+
this.popupRef = this.popupService.open(anchorElement, this.template, this.popupRef, POPUP_CLASS);
|
52
53
|
this.popupRef && this.renderer.setAttribute(this.popupRef.popupElement, 'dir', this.localization.rtl ? 'rtl' : 'ltr');
|
53
54
|
if (!this.popupRef) {
|
54
|
-
|
55
|
+
anchorElement.focus();
|
55
56
|
}
|
56
57
|
}
|
57
58
|
close() {
|
58
59
|
this.popupService.destroy();
|
59
60
|
this.popupRef = null;
|
60
|
-
this.anchor.nativeElement.closest('.k-chip').focus();
|
61
|
+
this.anchor.element.nativeElement.closest('.k-chip').focus();
|
61
62
|
}
|
62
63
|
get chipMenuTitle() {
|
63
64
|
const localizationMsg = this.localization.get('chipMenuIconTitle') || '';
|
@@ -66,19 +67,10 @@ export class ChipMenuComponent {
|
|
66
67
|
}
|
67
68
|
}
|
68
69
|
ChipMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChipMenuComponent, deps: [{ token: i1.SinglePopupService }, { token: i2.PivotLocalizationService }, { token: i3.ChipMenuService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
69
|
-
ChipMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ChipMenuComponent, isStandalone: true, selector: "kendo-pivot-chip-menu", inputs: { chip: "chip", tabIndex: "tabIndex", isMeasureField: "isMeasureField" }, providers: [
|
70
|
+
ChipMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ChipMenuComponent, isStandalone: true, selector: "kendo-pivot-chip-menu", inputs: { chip: "chip", tabIndex: "tabIndex", isMeasureField: "isMeasureField", anchor: "anchor" }, providers: [
|
70
71
|
ChipMenuService,
|
71
72
|
MenuTabbingService
|
72
|
-
], viewQueries: [{ propertyName: "
|
73
|
-
<kendo-icon-wrapper
|
74
|
-
#anchor
|
75
|
-
name="more-vertical"
|
76
|
-
[svgIcon]="menuItemSVGIcon"
|
77
|
-
(click)="toggle($event, template)"
|
78
|
-
[tabindex]="tabIndex"
|
79
|
-
[attr.title]="chipMenuTitle"
|
80
|
-
>
|
81
|
-
</kendo-icon-wrapper>
|
73
|
+
], viewQueries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true, static: true }], ngImport: i0, template: `
|
82
74
|
<ng-template #template>
|
83
75
|
<kendo-pivot-chipmenu-container
|
84
76
|
(keydown.escape)="close()"
|
@@ -107,7 +99,7 @@ ChipMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
|
|
107
99
|
[service]="service"></kendo-pivot-chipmenu-reorder>
|
108
100
|
</kendo-pivot-chipmenu-container>
|
109
101
|
</ng-template>
|
110
|
-
`, isInline: true, dependencies: [{ kind: "component", type:
|
102
|
+
`, 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"] }] });
|
111
103
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChipMenuComponent, decorators: [{
|
112
104
|
type: Component,
|
113
105
|
args: [{
|
@@ -117,15 +109,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
117
109
|
],
|
118
110
|
selector: 'kendo-pivot-chip-menu',
|
119
111
|
template: `
|
120
|
-
<kendo-icon-wrapper
|
121
|
-
#anchor
|
122
|
-
name="more-vertical"
|
123
|
-
[svgIcon]="menuItemSVGIcon"
|
124
|
-
(click)="toggle($event, template)"
|
125
|
-
[tabindex]="tabIndex"
|
126
|
-
[attr.title]="chipMenuTitle"
|
127
|
-
>
|
128
|
-
</kendo-icon-wrapper>
|
129
112
|
<ng-template #template>
|
130
113
|
<kendo-pivot-chipmenu-container
|
131
114
|
(keydown.escape)="close()"
|
@@ -165,6 +148,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
165
148
|
}], isMeasureField: [{
|
166
149
|
type: Input
|
167
150
|
}], anchor: [{
|
151
|
+
type: Input
|
152
|
+
}], template: [{
|
168
153
|
type: ViewChild,
|
169
|
-
args: ['
|
154
|
+
args: ['template', { static: true }]
|
170
155
|
}] } });
|
@@ -114,7 +114,7 @@ FilterMenuContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14
|
|
114
114
|
</div>
|
115
115
|
</div>
|
116
116
|
</form>
|
117
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.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]
|
117
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.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"] }] });
|
118
118
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FilterMenuContainerComponent, decorators: [{
|
119
119
|
type: Component,
|
120
120
|
args: [{
|