@progress/kendo-angular-pivotgrid 21.4.1 → 22.0.0-develop.1
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-item-base.d.ts +1 -1
- package/data-binding/base-binding-directive.d.ts +1 -1
- package/fesm2022/progress-kendo-angular-pivotgrid.mjs +120 -120
- package/localization/messages.d.ts +1 -1
- package/package.json +18 -26
- package/schematics/ngAdd/index.js +2 -2
- package/esm2022/configurator/chip-kb-nav.directive.mjs +0 -69
- package/esm2022/configurator/chip-menu/chip-menu-container.component.mjs +0 -51
- package/esm2022/configurator/chip-menu/chip-menu-filter.component.mjs +0 -135
- package/esm2022/configurator/chip-menu/chip-menu-item-base.mjs +0 -40
- package/esm2022/configurator/chip-menu/chip-menu-item-content-template.directive.mjs +0 -29
- package/esm2022/configurator/chip-menu/chip-menu-item.component.mjs +0 -206
- package/esm2022/configurator/chip-menu/chip-menu-item.directive.mjs +0 -98
- package/esm2022/configurator/chip-menu/chip-menu-reorder.component.mjs +0 -198
- package/esm2022/configurator/chip-menu/chip-menu-sort.component.mjs +0 -104
- package/esm2022/configurator/chip-menu/chip-menu.component.mjs +0 -165
- package/esm2022/configurator/chip-menu/chip-menu.service.mjs +0 -40
- package/esm2022/configurator/chip-menu/filtering/filter-menu-container.component.mjs +0 -186
- package/esm2022/configurator/chip-menu/filtering/filter-menu-dropdownlist.directive.mjs +0 -44
- package/esm2022/configurator/chip-menu/filtering/menu-tabbing.service.mjs +0 -20
- package/esm2022/configurator/chip-menu/filtering/string-filter-menu.component.mjs +0 -148
- package/esm2022/configurator/chip-menu/single-popup.service.mjs +0 -136
- package/esm2022/configurator/configurator.component.mjs +0 -806
- package/esm2022/configurator/configurator.service.mjs +0 -53
- package/esm2022/configurator/draggable.directive.mjs +0 -131
- package/esm2022/configurator/drop-cue.service.mjs +0 -86
- package/esm2022/configurator/drop-target.directive.mjs +0 -190
- package/esm2022/data-binding/base-binding-directive.mjs +0 -164
- package/esm2022/data-binding/local-binding.directive.mjs +0 -107
- package/esm2022/data-binding/olap-binding.directive.mjs +0 -204
- package/esm2022/data-binding/pivotgrid-data.service.mjs +0 -76
- package/esm2022/directives.mjs +0 -97
- package/esm2022/index.mjs +0 -28
- package/esm2022/localization/custom-messages.component.mjs +0 -57
- package/esm2022/localization/localized-messages.directive.mjs +0 -39
- package/esm2022/localization/messages.mjs +0 -254
- package/esm2022/localization/pivot-localization.service.mjs +0 -30
- package/esm2022/models/configuration-change-event.mjs +0 -37
- package/esm2022/models/configurator-chipmenu-reorder-target.mjs +0 -5
- package/esm2022/models/configurator-orientation.mjs +0 -5
- package/esm2022/models/configurator-position.mjs +0 -5
- package/esm2022/models/configurator-settings.mjs +0 -21
- package/esm2022/models/data-row-item.mjs +0 -5
- package/esm2022/models/drop-section.mjs +0 -5
- package/esm2022/models/drop-target.mjs +0 -5
- package/esm2022/models/expanded-change-event.mjs +0 -29
- package/esm2022/models/expanded-state-action.mjs +0 -5
- package/esm2022/models/loader-settings.mjs +0 -5
- package/esm2022/models/virtualization-settings.mjs +0 -25
- package/esm2022/package-metadata.mjs +0 -16
- package/esm2022/pivotgrid.component.mjs +0 -729
- package/esm2022/pivotgrid.module.mjs +0 -87
- package/esm2022/progress-kendo-angular-pivotgrid.mjs +0 -8
- package/esm2022/rendering/pivotgrid-cell.directive.mjs +0 -247
- package/esm2022/rendering/pivotgrid-table.component.mjs +0 -386
- package/esm2022/rendering/templates/pivotgrid-cell-template.directive.mjs +0 -44
- package/esm2022/rendering/templates/pivotgrid-column-header-cell-template.directive.mjs +0 -44
- package/esm2022/rendering/templates/pivotgrid-row-header-cell-template.directive.mjs +0 -44
- package/esm2022/rendering/templates/pivotgrid-value-cell-template.directive.mjs +0 -43
- package/esm2022/util.mjs +0 -223
- package/esm2022/virtual/scroll.service.mjs +0 -18
- package/esm2022/virtual/scrollable-container.mjs +0 -128
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
-
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
-
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
import { Directive, Input, NgZone } from '@angular/core';
|
|
6
|
-
import { PivotGridDataService } from './pivotgrid-data.service';
|
|
7
|
-
import { createDataTree, createFlatSchemaDimensions, createLocalDataState, rootFields } from '@progress/kendo-pivotgrid-common';
|
|
8
|
-
import { anyChanged } from '@progress/kendo-angular-common';
|
|
9
|
-
import { PivotBaseBindingDirective } from './base-binding-directive';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "./pivotgrid-data.service";
|
|
12
|
-
const dataField = 'aggregate';
|
|
13
|
-
const columnsData = 'columns';
|
|
14
|
-
const bindingFields = { dataField, columnsData };
|
|
15
|
-
const stringSeparator = '&';
|
|
16
|
-
/**
|
|
17
|
-
* Represents a directive that binds the PivotGrid to local data ([see example]({% slug directives_databinding_local_pivotgrid %})).
|
|
18
|
-
*
|
|
19
|
-
* @example
|
|
20
|
-
* ```html
|
|
21
|
-
* <kendo-pivotgrid
|
|
22
|
-
* [kendoPivotLocalBinding]="data"
|
|
23
|
-
* [dimensions]="dimensions"
|
|
24
|
-
* [measures]="measures"
|
|
25
|
-
* [columnAxes]="columnAxes"
|
|
26
|
-
* [rowAxes]="rowAxes"
|
|
27
|
-
* [measureAxes]="measureAxes">
|
|
28
|
-
* </kendo-pivotgrid>
|
|
29
|
-
* ```
|
|
30
|
-
*
|
|
31
|
-
* @remarks
|
|
32
|
-
* Applied to: {@link PivotGridComponent}
|
|
33
|
-
*/
|
|
34
|
-
export class PivotLocalBindingDirective extends PivotBaseBindingDirective {
|
|
35
|
-
/**
|
|
36
|
-
* Contains the array of data which will be used to populate the PivotGrid.
|
|
37
|
-
*/
|
|
38
|
-
data;
|
|
39
|
-
/**
|
|
40
|
-
* Defines the dimensions object of the PivotGrid.
|
|
41
|
-
*/
|
|
42
|
-
dimensions;
|
|
43
|
-
/**
|
|
44
|
-
* Contains the measures collection of the PivotGrid.
|
|
45
|
-
*/
|
|
46
|
-
measures;
|
|
47
|
-
type = 'local';
|
|
48
|
-
constructor(dataService, zone) {
|
|
49
|
-
super(dataService, zone);
|
|
50
|
-
}
|
|
51
|
-
ngOnChanges(changes) {
|
|
52
|
-
if (anyChanged(['data', 'dimensions', 'columnAxes', 'rowAxes', 'measureAxes', 'measures'], changes)) {
|
|
53
|
-
this.loadData(this.dataService.state);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* @hidden
|
|
58
|
-
*/
|
|
59
|
-
fetchChildren(node) {
|
|
60
|
-
return node.children;
|
|
61
|
-
}
|
|
62
|
-
loadFields() {
|
|
63
|
-
this.configuratorFields = createFlatSchemaDimensions(this.dimensions, this.measures);
|
|
64
|
-
this.updateConfiguratorFields();
|
|
65
|
-
}
|
|
66
|
-
loadData(state) {
|
|
67
|
-
const { columnAxes, rowAxes, measureAxes, sort, filter } = state;
|
|
68
|
-
const rootColumnAxes = this.getRootAxes(columnAxes);
|
|
69
|
-
const rootRowAxes = this.getRootAxes(rowAxes);
|
|
70
|
-
const columnSettings = rootColumnAxes ? rootColumnAxes.split(stringSeparator).map(this.createAxisSettings) : [];
|
|
71
|
-
const rowSettings = rootRowAxes ? rootRowAxes.split(stringSeparator).map(this.createAxisSettings) : [];
|
|
72
|
-
const measuresSettings = measureAxes.map(m => this.measures.find(meas => String(meas.name) === String(m.name))).filter(Boolean);
|
|
73
|
-
const dataTree = createDataTree(this.data, rowSettings, columnSettings, measuresSettings, bindingFields, filter);
|
|
74
|
-
this.dataState = createLocalDataState({
|
|
75
|
-
dataTree,
|
|
76
|
-
rowSettings,
|
|
77
|
-
columnSettings,
|
|
78
|
-
rowAxes: rowAxes,
|
|
79
|
-
columnAxes: columnAxes,
|
|
80
|
-
measures: measuresSettings,
|
|
81
|
-
sort: sort, // not needed for the moment
|
|
82
|
-
fields: bindingFields
|
|
83
|
-
});
|
|
84
|
-
this.updateDataServiceFields();
|
|
85
|
-
}
|
|
86
|
-
createAxisSettings = (key) => ({ key, ...this.dimensions[key] });
|
|
87
|
-
getRootAxes(axes) {
|
|
88
|
-
return Array.from(rootFields(axes).keys()).join(stringSeparator);
|
|
89
|
-
}
|
|
90
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PivotLocalBindingDirective, deps: [{ token: i1.PivotGridDataService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
|
|
91
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: PivotLocalBindingDirective, isStandalone: true, selector: "[kendoPivotLocalBinding]", inputs: { data: ["kendoPivotLocalBinding", "data"], dimensions: "dimensions", measures: "measures" }, exportAs: ["kendoPivotLocalBinding"], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
|
|
92
|
-
}
|
|
93
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PivotLocalBindingDirective, decorators: [{
|
|
94
|
-
type: Directive,
|
|
95
|
-
args: [{
|
|
96
|
-
selector: '[kendoPivotLocalBinding]',
|
|
97
|
-
exportAs: 'kendoPivotLocalBinding',
|
|
98
|
-
standalone: true
|
|
99
|
-
}]
|
|
100
|
-
}], ctorParameters: () => [{ type: i1.PivotGridDataService }, { type: i0.NgZone }], propDecorators: { data: [{
|
|
101
|
-
type: Input,
|
|
102
|
-
args: ['kendoPivotLocalBinding']
|
|
103
|
-
}], dimensions: [{
|
|
104
|
-
type: Input
|
|
105
|
-
}], measures: [{
|
|
106
|
-
type: Input
|
|
107
|
-
}] } });
|
|
@@ -1,204 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
-
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
-
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
import { Directive, Input, NgZone } from '@angular/core';
|
|
6
|
-
import { PivotGridDataService } from './pivotgrid-data.service';
|
|
7
|
-
import { addKPI, buildKPIMeasures, createDataState, fetchData, fetchDiscover } from '@progress/kendo-pivotgrid-common';
|
|
8
|
-
import { anyChanged } from '@progress/kendo-angular-common';
|
|
9
|
-
import { PivotBaseBindingDirective } from './base-binding-directive';
|
|
10
|
-
import { clone } from '../util';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
import * as i1 from "./pivotgrid-data.service";
|
|
13
|
-
/**
|
|
14
|
-
* Represents a directive that binds the PivotGrid to data using an Online Analytical Processing (OLAP) service ([see example]({% slug directives_databinding_remote_pivotgrid %})).
|
|
15
|
-
*
|
|
16
|
-
* @example
|
|
17
|
-
* ```html
|
|
18
|
-
* <kendo-pivotgrid
|
|
19
|
-
* kendoPivotOLAPBinding
|
|
20
|
-
* [url]="url"
|
|
21
|
-
* catalog="Adventure Works DW 2008 SE"
|
|
22
|
-
* cube="Adventure Works"
|
|
23
|
-
* [columnAxes]="columnAxes"
|
|
24
|
-
* [rowAxes]="rowAxes"
|
|
25
|
-
* [measureAxes]="measureAxes">
|
|
26
|
-
* </kendo-pivotgrid>
|
|
27
|
-
* ```
|
|
28
|
-
*
|
|
29
|
-
* @remarks
|
|
30
|
-
* Applied to: {@link PivotGridComponent}
|
|
31
|
-
*/
|
|
32
|
-
export class PivotOLAPBindingDirective extends PivotBaseBindingDirective {
|
|
33
|
-
/**
|
|
34
|
-
* Defines the OLAP service endpoint where the data is processed and retrieved to render the pivot table.
|
|
35
|
-
*/
|
|
36
|
-
url;
|
|
37
|
-
/**
|
|
38
|
-
* Sets the cube name that is used to retrieve data for the pivot table rendering.
|
|
39
|
-
*/
|
|
40
|
-
cube;
|
|
41
|
-
/**
|
|
42
|
-
* Sets the database name that is used to retrieve the data from the specified connection string.
|
|
43
|
-
*/
|
|
44
|
-
catalog;
|
|
45
|
-
type = 'olap';
|
|
46
|
-
constructor(dataService, zone) {
|
|
47
|
-
super(dataService, zone);
|
|
48
|
-
}
|
|
49
|
-
ngOnChanges(changes) {
|
|
50
|
-
if (anyChanged(['url', 'cube', 'catalog', 'columnAxes', 'rowAxes', 'measureAxes'], changes)) {
|
|
51
|
-
this.loadData(this.dataService.state);
|
|
52
|
-
this.loadFields();
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
loadData(state) {
|
|
56
|
-
const { columnAxes, rowAxes, measureAxes, sort, filter } = state;
|
|
57
|
-
this.dataService.loading.next(true);
|
|
58
|
-
const options = {
|
|
59
|
-
connection: {
|
|
60
|
-
catalog: this.catalog,
|
|
61
|
-
cube: this.cube
|
|
62
|
-
},
|
|
63
|
-
columnAxes,
|
|
64
|
-
rowAxes,
|
|
65
|
-
measureAxes,
|
|
66
|
-
sort,
|
|
67
|
-
filter
|
|
68
|
-
};
|
|
69
|
-
fetchData({ url: this.url }, clone(options))
|
|
70
|
-
.then(createDataState)
|
|
71
|
-
.then(newDataState => {
|
|
72
|
-
this.dataState = newDataState;
|
|
73
|
-
this.updateDataServiceFields();
|
|
74
|
-
this.dataService.loading.next(false);
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
loadFields() {
|
|
78
|
-
const options = {
|
|
79
|
-
connection: {
|
|
80
|
-
catalog: this.catalog,
|
|
81
|
-
cube: this.cube
|
|
82
|
-
},
|
|
83
|
-
restrictions: {
|
|
84
|
-
catalogName: this.catalog,
|
|
85
|
-
cubeName: this.cube
|
|
86
|
-
},
|
|
87
|
-
command: 'schemaDimensions'
|
|
88
|
-
};
|
|
89
|
-
fetchDiscover({ url: this.url }, options)
|
|
90
|
-
.then((newFields) => {
|
|
91
|
-
addKPI(newFields);
|
|
92
|
-
this.configuratorFields = newFields;
|
|
93
|
-
this.updateConfiguratorFields();
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
async updateFields(event, fields) {
|
|
97
|
-
const newFields = fields.slice();
|
|
98
|
-
const field = this.getField(newFields, event);
|
|
99
|
-
if (field && field.uniqueName === '[KPIs]') {
|
|
100
|
-
const KPIs = this.normalizeKPIs(await this.loadKPIs());
|
|
101
|
-
field.children = KPIs;
|
|
102
|
-
}
|
|
103
|
-
else if (field && field.type === 'kpi') {
|
|
104
|
-
field.children = buildKPIMeasures(field);
|
|
105
|
-
}
|
|
106
|
-
else if (field && !field.children) {
|
|
107
|
-
const additionalFields = await this.loadAvailableFields(field);
|
|
108
|
-
field.children = additionalFields;
|
|
109
|
-
}
|
|
110
|
-
return field?.children;
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* @hidden
|
|
114
|
-
*/
|
|
115
|
-
fetchChildren(event, fields) {
|
|
116
|
-
return this.updateFields(event, fields);
|
|
117
|
-
}
|
|
118
|
-
normalizeKPIs(data) {
|
|
119
|
-
for (let idx = 0, length = data.length; idx < length; idx++) {
|
|
120
|
-
data[idx].uniqueName = data[idx].name;
|
|
121
|
-
data[idx].type = 'kpi';
|
|
122
|
-
}
|
|
123
|
-
return data;
|
|
124
|
-
}
|
|
125
|
-
getField(nodes = [], target) {
|
|
126
|
-
for (let i = 0; i < nodes.length; i++) {
|
|
127
|
-
const node = nodes[i];
|
|
128
|
-
if (node.uniqueName === target.uniqueName) {
|
|
129
|
-
return node;
|
|
130
|
-
}
|
|
131
|
-
const result = this.getField(node.children, target);
|
|
132
|
-
if (result !== null) {
|
|
133
|
-
return result;
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
return null;
|
|
137
|
-
}
|
|
138
|
-
async loadKPIs() {
|
|
139
|
-
const options = {
|
|
140
|
-
connection: {
|
|
141
|
-
catalog: this.catalog,
|
|
142
|
-
cube: this.cube
|
|
143
|
-
},
|
|
144
|
-
restrictions: {
|
|
145
|
-
catalogName: this.catalog,
|
|
146
|
-
cubeName: this.cube
|
|
147
|
-
},
|
|
148
|
-
command: 'schemaKPIs'
|
|
149
|
-
};
|
|
150
|
-
return fetchDiscover({ url: this.url }, options);
|
|
151
|
-
}
|
|
152
|
-
async loadAvailableFields(field) {
|
|
153
|
-
let command;
|
|
154
|
-
let dimensionUniqueName;
|
|
155
|
-
let hierarchyUniqueName;
|
|
156
|
-
let levelUniqueName;
|
|
157
|
-
let memberUniqueName;
|
|
158
|
-
let treeOp;
|
|
159
|
-
if (field.type === 2) {
|
|
160
|
-
command = 'schemaMeasures';
|
|
161
|
-
}
|
|
162
|
-
else if (field.dimensionUniqueName) {
|
|
163
|
-
command = 'schemaLevels';
|
|
164
|
-
hierarchyUniqueName = field.uniqueName;
|
|
165
|
-
}
|
|
166
|
-
else {
|
|
167
|
-
command = 'schemaHierarchies';
|
|
168
|
-
dimensionUniqueName = field.uniqueName;
|
|
169
|
-
}
|
|
170
|
-
const options = {
|
|
171
|
-
connection: {
|
|
172
|
-
catalog: this.catalog,
|
|
173
|
-
cube: this.cube
|
|
174
|
-
},
|
|
175
|
-
restrictions: {
|
|
176
|
-
catalogName: this.catalog,
|
|
177
|
-
cubeName: this.cube,
|
|
178
|
-
hierarchyUniqueName,
|
|
179
|
-
dimensionUniqueName,
|
|
180
|
-
levelUniqueName,
|
|
181
|
-
memberUniqueName,
|
|
182
|
-
treeOp
|
|
183
|
-
},
|
|
184
|
-
command
|
|
185
|
-
};
|
|
186
|
-
return fetchDiscover({ url: this.url }, options);
|
|
187
|
-
}
|
|
188
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PivotOLAPBindingDirective, deps: [{ token: i1.PivotGridDataService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
|
|
189
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: PivotOLAPBindingDirective, isStandalone: true, selector: "[kendoPivotOLAPBinding]", inputs: { url: "url", cube: "cube", catalog: "catalog" }, exportAs: ["kendoPivotOLAPBinding"], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
|
|
190
|
-
}
|
|
191
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PivotOLAPBindingDirective, decorators: [{
|
|
192
|
-
type: Directive,
|
|
193
|
-
args: [{
|
|
194
|
-
selector: '[kendoPivotOLAPBinding]',
|
|
195
|
-
exportAs: 'kendoPivotOLAPBinding',
|
|
196
|
-
standalone: true
|
|
197
|
-
}]
|
|
198
|
-
}], ctorParameters: () => [{ type: i1.PivotGridDataService }, { type: i0.NgZone }], propDecorators: { url: [{
|
|
199
|
-
type: Input
|
|
200
|
-
}], cube: [{
|
|
201
|
-
type: Input
|
|
202
|
-
}], catalog: [{
|
|
203
|
-
type: Input
|
|
204
|
-
}] } });
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
-
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
-
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
import { EventEmitter, Injectable, NgZone, Output } from '@angular/core';
|
|
6
|
-
import { isDocumentAvailable } from '@progress/kendo-angular-common';
|
|
7
|
-
import { toColumns, toData, toRows, toTree } from '@progress/kendo-pivotgrid-common';
|
|
8
|
-
import { matchAriaAttributes } from '../util';
|
|
9
|
-
import { BehaviorSubject } from 'rxjs';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
/**
|
|
12
|
-
* @hidden
|
|
13
|
-
*/
|
|
14
|
-
let nextPivotGridId = 0;
|
|
15
|
-
/**
|
|
16
|
-
* @hidden
|
|
17
|
-
*/
|
|
18
|
-
export class PivotGridDataService {
|
|
19
|
-
ngZone;
|
|
20
|
-
expandedStateChange = new EventEmitter();
|
|
21
|
-
configuratorFieldChange = new EventEmitter();
|
|
22
|
-
expandedFieldChange = new EventEmitter();
|
|
23
|
-
directive;
|
|
24
|
-
normalizedData;
|
|
25
|
-
rows;
|
|
26
|
-
columns;
|
|
27
|
-
wrapper;
|
|
28
|
-
aggregateData;
|
|
29
|
-
state;
|
|
30
|
-
columnHeaderLeaves;
|
|
31
|
-
columnHeaderRows = new BehaviorSubject([]);
|
|
32
|
-
columnHeaderCols = new BehaviorSubject([]);
|
|
33
|
-
rowHeaderLeaves;
|
|
34
|
-
rowHeaderCols = new BehaviorSubject([]);
|
|
35
|
-
rowHeaderRows = new BehaviorSubject([]);
|
|
36
|
-
valuesRows = new BehaviorSubject([]);
|
|
37
|
-
loading = new BehaviorSubject(false);
|
|
38
|
-
pivotGridId;
|
|
39
|
-
constructor(ngZone) {
|
|
40
|
-
this.ngZone = ngZone;
|
|
41
|
-
this.pivotGridId = nextPivotGridId++;
|
|
42
|
-
}
|
|
43
|
-
fields = new BehaviorSubject([]);
|
|
44
|
-
configuredFields = new BehaviorSubject([]);
|
|
45
|
-
updateRowsAndCols() {
|
|
46
|
-
const rowsTree = toTree((this.rows || []).slice());
|
|
47
|
-
const [rowHeaderRows, rowHeaderLeaves, rowHeaderDepth, rowHeaderBreadth] = toRows(rowsTree);
|
|
48
|
-
const columnsTree = toTree((this.columns || []).slice());
|
|
49
|
-
const [columnHeaderRows, columnHeaderLeaves, columnHeaderBreadth] = toColumns(columnsTree);
|
|
50
|
-
this.columnHeaderLeaves = columnHeaderLeaves;
|
|
51
|
-
this.columnHeaderCols.next(columnHeaderLeaves);
|
|
52
|
-
this.columnHeaderRows.next(columnHeaderRows);
|
|
53
|
-
this.rowHeaderLeaves = rowHeaderLeaves;
|
|
54
|
-
this.rowHeaderCols.next(new Array(rowHeaderBreadth).fill({}));
|
|
55
|
-
this.rowHeaderRows.next(rowHeaderRows);
|
|
56
|
-
this.valuesRows.next(toData((this.normalizedData || []).slice(), columnHeaderLeaves, rowHeaderLeaves, columnHeaderBreadth, rowHeaderDepth));
|
|
57
|
-
if (isDocumentAvailable()) {
|
|
58
|
-
this.ngZone.runOutsideAngular(() => {
|
|
59
|
-
// needed because all tables need to be rendered in accordance with the new settings
|
|
60
|
-
// before applying the required DOM attributes
|
|
61
|
-
setTimeout(() => matchAriaAttributes(this.wrapper));
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PivotGridDataService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
66
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PivotGridDataService });
|
|
67
|
-
}
|
|
68
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PivotGridDataService, decorators: [{
|
|
69
|
-
type: Injectable
|
|
70
|
-
}], ctorParameters: () => [{ type: i0.NgZone }], propDecorators: { expandedStateChange: [{
|
|
71
|
-
type: Output
|
|
72
|
-
}], configuratorFieldChange: [{
|
|
73
|
-
type: Output
|
|
74
|
-
}], expandedFieldChange: [{
|
|
75
|
-
type: Output
|
|
76
|
-
}] } });
|
package/esm2022/directives.mjs
DELETED
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
-
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
-
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
import { ChipKeyboardNavigationDirective } from "./configurator/chip-kb-nav.directive";
|
|
6
|
-
import { ChipMenuContainerComponent } from "./configurator/chip-menu/chip-menu-container.component";
|
|
7
|
-
import { ChipMenuFilterComponent } from "./configurator/chip-menu/chip-menu-filter.component";
|
|
8
|
-
import { ChipMenuItemContentTemplateDirective } from "./configurator/chip-menu/chip-menu-item-content-template.directive";
|
|
9
|
-
import { ChipMenuItemComponent } from "./configurator/chip-menu/chip-menu-item.component";
|
|
10
|
-
import { ChipMenuItemDirective } from "./configurator/chip-menu/chip-menu-item.directive";
|
|
11
|
-
import { ChipMenuReorderComponent } from "./configurator/chip-menu/chip-menu-reorder.component";
|
|
12
|
-
import { ChipMenuSortComponent } from "./configurator/chip-menu/chip-menu-sort.component";
|
|
13
|
-
import { ChipMenuComponent } from "./configurator/chip-menu/chip-menu.component";
|
|
14
|
-
import { FilterMenuContainerComponent } from "./configurator/chip-menu/filtering/filter-menu-container.component";
|
|
15
|
-
import { FilterMenuDropDownListDirective } from "./configurator/chip-menu/filtering/filter-menu-dropdownlist.directive";
|
|
16
|
-
import { StringFilterMenuComponent } from "./configurator/chip-menu/filtering/string-filter-menu.component";
|
|
17
|
-
import { PivotGridConfiguratorComponent } from "./configurator/configurator.component";
|
|
18
|
-
import { DraggableChipDirective } from "./configurator/draggable.directive";
|
|
19
|
-
import { DropTargetDirective } from "./configurator/drop-target.directive";
|
|
20
|
-
import { PivotLocalBindingDirective } from "./data-binding/local-binding.directive";
|
|
21
|
-
import { PivotOLAPBindingDirective } from "./data-binding/olap-binding.directive";
|
|
22
|
-
import { CustomMessagesComponent } from "./localization/custom-messages.component";
|
|
23
|
-
import { LocalizedMessagesDirective } from "./localization/localized-messages.directive";
|
|
24
|
-
import { PivotGridComponent } from "./pivotgrid.component";
|
|
25
|
-
import { PivotGridCellDirective } from "./rendering/pivotgrid-cell.directive";
|
|
26
|
-
import { PivotGridTableComponent } from "./rendering/pivotgrid-table.component";
|
|
27
|
-
import { CellTemplateDirective } from "./rendering/templates/pivotgrid-cell-template.directive";
|
|
28
|
-
import { ColumnHeaderCellTemplateDirective } from "./rendering/templates/pivotgrid-column-header-cell-template.directive";
|
|
29
|
-
import { RowHeaderCellTemplateDirective } from "./rendering/templates/pivotgrid-row-header-cell-template.directive";
|
|
30
|
-
import { ValueCellTemplateDirective } from "./rendering/templates/pivotgrid-value-cell-template.directive";
|
|
31
|
-
/**
|
|
32
|
-
* @hidden
|
|
33
|
-
*/
|
|
34
|
-
export const KENDO_PIVOTGRID_CHIPMENU_DECLARATIONS = [
|
|
35
|
-
ChipMenuItemComponent,
|
|
36
|
-
ChipMenuSortComponent,
|
|
37
|
-
ChipMenuComponent,
|
|
38
|
-
ChipMenuFilterComponent,
|
|
39
|
-
ChipMenuItemContentTemplateDirective,
|
|
40
|
-
FilterMenuContainerComponent,
|
|
41
|
-
StringFilterMenuComponent,
|
|
42
|
-
FilterMenuDropDownListDirective,
|
|
43
|
-
ChipMenuContainerComponent,
|
|
44
|
-
ChipMenuItemDirective,
|
|
45
|
-
ChipMenuReorderComponent
|
|
46
|
-
];
|
|
47
|
-
/**
|
|
48
|
-
* @hidden
|
|
49
|
-
*/
|
|
50
|
-
export const KENDO_PIVOTGRID_DECLARATIONS = [
|
|
51
|
-
PivotGridComponent,
|
|
52
|
-
PivotGridTableComponent,
|
|
53
|
-
PivotGridConfiguratorComponent,
|
|
54
|
-
PivotGridCellDirective,
|
|
55
|
-
PivotLocalBindingDirective,
|
|
56
|
-
PivotOLAPBindingDirective,
|
|
57
|
-
DraggableChipDirective,
|
|
58
|
-
DropTargetDirective,
|
|
59
|
-
LocalizedMessagesDirective,
|
|
60
|
-
CustomMessagesComponent,
|
|
61
|
-
ChipKeyboardNavigationDirective,
|
|
62
|
-
CellTemplateDirective,
|
|
63
|
-
ValueCellTemplateDirective,
|
|
64
|
-
RowHeaderCellTemplateDirective,
|
|
65
|
-
ColumnHeaderCellTemplateDirective
|
|
66
|
-
];
|
|
67
|
-
/**
|
|
68
|
-
* Use the `KENDO_PIVOTGRID` utility array to add all `@progress/kendo-angular-pivotgrid`-related components and directives to a standalone Angular component.
|
|
69
|
-
*
|
|
70
|
-
* @example
|
|
71
|
-
* ```ts
|
|
72
|
-
* import { Component } from '@angular/core';
|
|
73
|
-
* import { KENDO_PIVOTGRID } from '@progress/kendo-angular-pivotgrid';
|
|
74
|
-
*
|
|
75
|
-
* @Component({
|
|
76
|
-
* standalone: true,
|
|
77
|
-
* imports: [KENDO_PIVOTGRID],
|
|
78
|
-
* template: `
|
|
79
|
-
* <kendo-pivotgrid [data]="data" ...>
|
|
80
|
-
* </kendo-pivotgrid>
|
|
81
|
-
* `
|
|
82
|
-
* })
|
|
83
|
-
* export class AppComponent { }
|
|
84
|
-
* ```
|
|
85
|
-
*/
|
|
86
|
-
export const KENDO_PIVOTGRID = [
|
|
87
|
-
PivotGridComponent,
|
|
88
|
-
PivotGridTableComponent,
|
|
89
|
-
PivotGridCellDirective,
|
|
90
|
-
PivotLocalBindingDirective,
|
|
91
|
-
PivotOLAPBindingDirective,
|
|
92
|
-
CustomMessagesComponent,
|
|
93
|
-
CellTemplateDirective,
|
|
94
|
-
ValueCellTemplateDirective,
|
|
95
|
-
RowHeaderCellTemplateDirective,
|
|
96
|
-
ColumnHeaderCellTemplateDirective
|
|
97
|
-
];
|
package/esm2022/index.mjs
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
-
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
-
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
export * from './directives';
|
|
6
|
-
export { PivotGridComponent } from './pivotgrid.component';
|
|
7
|
-
export { PivotGridModule } from './pivotgrid.module';
|
|
8
|
-
// Unsupported private class
|
|
9
|
-
export { PivotGridCellDirective } from './rendering/pivotgrid-cell.directive';
|
|
10
|
-
export { PivotGridTableComponent } from './rendering/pivotgrid-table.component';
|
|
11
|
-
export { CustomMessagesComponent } from './localization/custom-messages.component';
|
|
12
|
-
export { PivotGridConfiguratorComponent } from './configurator/configurator.component';
|
|
13
|
-
// Data-binding directives
|
|
14
|
-
export { PivotLocalBindingDirective } from './data-binding/local-binding.directive';
|
|
15
|
-
export { PivotOLAPBindingDirective } from './data-binding/olap-binding.directive';
|
|
16
|
-
// Draggable directive
|
|
17
|
-
export { DraggableChipDirective } from './configurator/draggable.directive';
|
|
18
|
-
export { DropTargetDirective } from './configurator/drop-target.directive';
|
|
19
|
-
// Events
|
|
20
|
-
export { ExpandChangeEvent } from './models/expanded-change-event';
|
|
21
|
-
export { ConfigurationChangeEvent } from './models/configuration-change-event';
|
|
22
|
-
// Template Directives
|
|
23
|
-
export { CellTemplateDirective } from './rendering/templates/pivotgrid-cell-template.directive';
|
|
24
|
-
export { ValueCellTemplateDirective } from './rendering/templates/pivotgrid-value-cell-template.directive';
|
|
25
|
-
export { RowHeaderCellTemplateDirective } from './rendering/templates/pivotgrid-row-header-cell-template.directive';
|
|
26
|
-
export { ColumnHeaderCellTemplateDirective } from './rendering/templates/pivotgrid-column-header-cell-template.directive';
|
|
27
|
-
// Export types from PivotGrid common package
|
|
28
|
-
export { sumAggregate, averageAggregate, minAggregate, maxAggregate, countAggregate, AggregateType, createAggregate } from '@progress/kendo-pivotgrid-common';
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
-
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
-
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
import { Component, forwardRef } from '@angular/core';
|
|
6
|
-
import { LocalizationService } from '@progress/kendo-angular-l10n';
|
|
7
|
-
import { PivotGridMessages } from './messages';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "@progress/kendo-angular-l10n";
|
|
10
|
-
/**
|
|
11
|
-
* Represents the custom messages component of the PivotGrid.
|
|
12
|
-
*
|
|
13
|
-
* Use this component to override default messages for the PivotGrid.
|
|
14
|
-
* ([see example]({% slug globalization_pivotgrid %}#toc-custom-messages)).
|
|
15
|
-
*
|
|
16
|
-
* @example
|
|
17
|
-
* ```html
|
|
18
|
-
* <kendo-pivotgrid>
|
|
19
|
-
* <kendo-pivotgrid-messages
|
|
20
|
-
* configuratorButtonText="Configure"
|
|
21
|
-
* configuratorHeaderText="PivotGrid Settings"
|
|
22
|
-
* configuratorApplyButtonText="Apply Changes">
|
|
23
|
-
* </kendo-pivotgrid-messages>
|
|
24
|
-
* </kendo-pivotgrid>
|
|
25
|
-
* ```
|
|
26
|
-
*/
|
|
27
|
-
export class CustomMessagesComponent extends PivotGridMessages {
|
|
28
|
-
service;
|
|
29
|
-
constructor(service) {
|
|
30
|
-
super();
|
|
31
|
-
this.service = service;
|
|
32
|
-
}
|
|
33
|
-
get override() {
|
|
34
|
-
return true;
|
|
35
|
-
}
|
|
36
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CustomMessagesComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
37
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CustomMessagesComponent, isStandalone: true, selector: "kendo-pivotgrid-messages", providers: [
|
|
38
|
-
{
|
|
39
|
-
provide: PivotGridMessages,
|
|
40
|
-
useExisting: forwardRef(() => CustomMessagesComponent)
|
|
41
|
-
}
|
|
42
|
-
], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
|
|
43
|
-
}
|
|
44
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CustomMessagesComponent, decorators: [{
|
|
45
|
-
type: Component,
|
|
46
|
-
args: [{
|
|
47
|
-
providers: [
|
|
48
|
-
{
|
|
49
|
-
provide: PivotGridMessages,
|
|
50
|
-
useExisting: forwardRef(() => CustomMessagesComponent)
|
|
51
|
-
}
|
|
52
|
-
],
|
|
53
|
-
selector: 'kendo-pivotgrid-messages',
|
|
54
|
-
template: ``,
|
|
55
|
-
standalone: true
|
|
56
|
-
}]
|
|
57
|
-
}], ctorParameters: () => [{ type: i1.LocalizationService }] });
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
-
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
-
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
import { Directive, forwardRef } from '@angular/core';
|
|
6
|
-
import { LocalizationService } from '@progress/kendo-angular-l10n';
|
|
7
|
-
import { PivotGridMessages } from './messages';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "@progress/kendo-angular-l10n";
|
|
10
|
-
/**
|
|
11
|
-
* @hidden
|
|
12
|
-
*/
|
|
13
|
-
export class LocalizedMessagesDirective extends PivotGridMessages {
|
|
14
|
-
service;
|
|
15
|
-
constructor(service) {
|
|
16
|
-
super();
|
|
17
|
-
this.service = service;
|
|
18
|
-
}
|
|
19
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LocalizedMessagesDirective, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
20
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: LocalizedMessagesDirective, isStandalone: true, selector: "[kendoPivotGridLocalizedMessages]", providers: [
|
|
21
|
-
{
|
|
22
|
-
provide: PivotGridMessages,
|
|
23
|
-
useExisting: forwardRef(() => LocalizedMessagesDirective)
|
|
24
|
-
}
|
|
25
|
-
], usesInheritance: true, ngImport: i0 });
|
|
26
|
-
}
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LocalizedMessagesDirective, decorators: [{
|
|
28
|
-
type: Directive,
|
|
29
|
-
args: [{
|
|
30
|
-
providers: [
|
|
31
|
-
{
|
|
32
|
-
provide: PivotGridMessages,
|
|
33
|
-
useExisting: forwardRef(() => LocalizedMessagesDirective)
|
|
34
|
-
}
|
|
35
|
-
],
|
|
36
|
-
selector: '[kendoPivotGridLocalizedMessages]',
|
|
37
|
-
standalone: true
|
|
38
|
-
}]
|
|
39
|
-
}], ctorParameters: () => [{ type: i1.LocalizationService }] });
|