@progress/kendo-angular-pivotgrid 0.2.0-dev.202208181339 → 0.2.0-dev.202209020712
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/bundles/kendo-angular-pivotgrid.umd.js +1 -1
- package/data-binding/base-binding-directive.d.ts +7 -1
- package/esm2015/configurator/configurator.component.js +6 -18
- package/esm2015/data-binding/base-binding-directive.js +15 -1
- package/esm2015/localization/messages.js +7 -1
- package/esm2015/models/data-row-item.js +6 -0
- package/esm2015/package-metadata.js +1 -1
- package/esm2015/pivotgrid.component.js +78 -10
- package/fesm2015/kendo-angular-pivotgrid.js +107 -32
- package/localization/messages.d.ts +13 -1
- package/main.d.ts +1 -0
- package/models/data-row-item.d.ts +18 -0
- package/package.json +3 -3
- package/pivotgrid.component.d.ts +15 -3
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright © 2021 Progress Software Corporation. All rights reserved.
|
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
|
5
|
+
;
|
|
6
|
+
export {};
|
|
@@ -9,7 +9,7 @@ export const packageMetadata = {
|
|
|
9
9
|
name: '@progress/kendo-angular-pivotgrid',
|
|
10
10
|
productName: 'Kendo UI for Angular',
|
|
11
11
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
12
|
-
publishDate:
|
|
12
|
+
publishDate: 1662102713,
|
|
13
13
|
version: '',
|
|
14
14
|
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'
|
|
15
15
|
};
|
|
@@ -5,13 +5,14 @@
|
|
|
5
5
|
import { Component, ElementRef, HostBinding, Input, ViewChild } from '@angular/core';
|
|
6
6
|
import { validatePackage } from '@progress/kendo-licensing';
|
|
7
7
|
import { packageMetadata } from './package-metadata';
|
|
8
|
-
import { isDocumentAvailable } from '@progress/kendo-angular-common';
|
|
8
|
+
import { isChanged, isDocumentAvailable } from '@progress/kendo-angular-common';
|
|
9
9
|
import { PivotGridDataService } from './data-binding/pivotgrid-data.service';
|
|
10
10
|
import { fromEvent, Subscription } from 'rxjs';
|
|
11
11
|
import { syncScroll, syncWheel } from './util';
|
|
12
12
|
// eslint-disable-next-line rxjs/ban-operators
|
|
13
13
|
import { merge } from 'rxjs/operators';
|
|
14
14
|
import { L10N_PREFIX, LocalizationService } from '@progress/kendo-angular-l10n';
|
|
15
|
+
import { PivotGridNavigation } from '@progress/kendo-pivotgrid-common';
|
|
15
16
|
import * as i0 from "@angular/core";
|
|
16
17
|
import * as i1 from "./data-binding/pivotgrid-data.service";
|
|
17
18
|
import * as i2 from "@progress/kendo-angular-l10n";
|
|
@@ -34,10 +35,12 @@ const DEFAULT_CONFIGURATOR_SETTINGS = {
|
|
|
34
35
|
* Represents the Kendo UI PivotGrid component for Angular.
|
|
35
36
|
*/
|
|
36
37
|
export class PivotGridComponent {
|
|
37
|
-
constructor(hostEl, zone, dataService, localization, _scrollbarWidthService) {
|
|
38
|
+
constructor(hostEl, zone, dataService, localization, renderer, _scrollbarWidthService) {
|
|
39
|
+
this.hostEl = hostEl;
|
|
38
40
|
this.zone = zone;
|
|
39
41
|
this.dataService = dataService;
|
|
40
42
|
this.localization = localization;
|
|
43
|
+
this.renderer = renderer;
|
|
41
44
|
this.hostClass = true;
|
|
42
45
|
this.ariaRole = 'grid';
|
|
43
46
|
/**
|
|
@@ -46,6 +49,12 @@ export class PivotGridComponent {
|
|
|
46
49
|
* @default 200
|
|
47
50
|
*/
|
|
48
51
|
this.columnHeadersWidth = 200;
|
|
52
|
+
/**
|
|
53
|
+
* If set to true, the user can use dedicated shortcuts to interact with the PivotGrid. By default, navigation is disabled.
|
|
54
|
+
*
|
|
55
|
+
* @default false
|
|
56
|
+
*/
|
|
57
|
+
this.navigable = false;
|
|
49
58
|
this.resizeObservers = [];
|
|
50
59
|
this._loaderSettings = DEFAULT_LOADER_SETTINGS;
|
|
51
60
|
this.subs = new Subscription();
|
|
@@ -133,15 +142,29 @@ export class PivotGridComponent {
|
|
|
133
142
|
this.resizeObservers = [headerColsResizeObserver, headerRowsResizeObserver];
|
|
134
143
|
this.subs.add(fromEvent(rowHeadersTable, 'wheel')
|
|
135
144
|
.pipe(merge(fromEvent(colHeadersTable, 'wheel'), fromEvent(this.valuesTable.nativeElement, 'scroll'))).subscribe((ev) => this.handleScroll(ev)));
|
|
145
|
+
if (this.navigable) {
|
|
146
|
+
this.initNavigation();
|
|
147
|
+
}
|
|
136
148
|
});
|
|
137
149
|
}
|
|
138
150
|
}
|
|
139
151
|
ngAfterContentInit() {
|
|
140
152
|
this.subs.add(this.dataService.loading.subscribe(state => this.loading = state));
|
|
141
153
|
}
|
|
154
|
+
ngOnChanges(changes) {
|
|
155
|
+
if (isChanged('navigable', changes)) {
|
|
156
|
+
if (this.navigable) {
|
|
157
|
+
this.initNavigation();
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
this.stopNavigation();
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
142
164
|
ngOnDestroy() {
|
|
143
165
|
this.resizeObservers.forEach(o => o.disconnect());
|
|
144
166
|
this.subs.unsubscribe();
|
|
167
|
+
this.stopNavigation();
|
|
145
168
|
}
|
|
146
169
|
/**
|
|
147
170
|
* @hidden
|
|
@@ -149,16 +172,37 @@ export class PivotGridComponent {
|
|
|
149
172
|
messageFor(localizationToken) {
|
|
150
173
|
return this.localization.get(localizationToken);
|
|
151
174
|
}
|
|
175
|
+
initNavigation() {
|
|
176
|
+
this.stopNavigation();
|
|
177
|
+
this.navigation = new PivotGridNavigation({ tabIndex: 0 });
|
|
178
|
+
this.navigation.start(this.hostEl.nativeElement);
|
|
179
|
+
const firstCell = this.navigation.first;
|
|
180
|
+
if (firstCell) {
|
|
181
|
+
firstCell.setAttribute('tabindex', '0');
|
|
182
|
+
}
|
|
183
|
+
this.subs.add(this.dataService.directive.expandChange.pipe(merge(this.dataService.directive.configurationChange)).subscribe(() => this.zone.runOutsideAngular(() => {
|
|
184
|
+
setTimeout(() => this.navigation.update());
|
|
185
|
+
})));
|
|
186
|
+
}
|
|
187
|
+
stopNavigation() {
|
|
188
|
+
if (this.navigation) {
|
|
189
|
+
const lastFocusedEl = this.navigation.elements.find(el => el.hasAttribute('tabindex'));
|
|
190
|
+
if (lastFocusedEl) {
|
|
191
|
+
this.renderer.removeAttribute(lastFocusedEl, 'tabindex');
|
|
192
|
+
}
|
|
193
|
+
this.navigation.stop();
|
|
194
|
+
}
|
|
195
|
+
}
|
|
152
196
|
}
|
|
153
|
-
PivotGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PivotGridComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.PivotGridDataService }, { token: i2.LocalizationService }, { token: i3.ScrollbarWidthService }], target: i0.ɵɵFactoryTarget.Component });
|
|
154
|
-
PivotGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: PivotGridComponent, selector: "kendo-pivotgrid", inputs: { loaderSettings: "loaderSettings", configurator: "configurator", columnHeadersWidth: "columnHeadersWidth" }, 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", "attr.role": "this.ariaRole" } }, providers: [
|
|
197
|
+
PivotGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PivotGridComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.PivotGridDataService }, { token: i2.LocalizationService }, { token: i0.Renderer2 }, { token: i3.ScrollbarWidthService }], target: i0.ɵɵFactoryTarget.Component });
|
|
198
|
+
PivotGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: PivotGridComponent, selector: "kendo-pivotgrid", inputs: { loaderSettings: "loaderSettings", configurator: "configurator", 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", "attr.role": "this.ariaRole" } }, providers: [
|
|
155
199
|
PivotGridDataService,
|
|
156
200
|
LocalizationService,
|
|
157
201
|
{
|
|
158
202
|
provide: L10N_PREFIX,
|
|
159
203
|
useValue: 'kendo.pivotgrid'
|
|
160
204
|
}
|
|
161
|
-
], 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 }], ngImport: i0, template: `
|
|
205
|
+
], 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 }], usesOnChanges: true, ngImport: i0, template: `
|
|
162
206
|
<ng-container kendoPivotGridLocalizedMessages
|
|
163
207
|
i18n-loading="kendo.pivotgrid.loading|The loading text"
|
|
164
208
|
loading="Loading"
|
|
@@ -239,10 +283,21 @@ PivotGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
|
|
|
239
283
|
configuratorCancelButtonText="Cancel"
|
|
240
284
|
|
|
241
285
|
i18n-configuratorApplyButtonText="kendo.pivotgrid.configuratorApplyButtonText|The text content of the PivotGrid configurator configurator Apply button"
|
|
242
|
-
configuratorApplyButtonText="Apply"
|
|
286
|
+
configuratorApplyButtonText="Apply"
|
|
287
|
+
|
|
288
|
+
i18n-configuratorEmptyRowsText="kendo.pivotgrid.configuratorEmptyRowsText|The text content of the PivotGrid configurator empty rows container"
|
|
289
|
+
configuratorEmptyRowsText="Select some fields to begin setup"
|
|
290
|
+
|
|
291
|
+
i18n-configuratorEmptyColumnsText="kendo.pivotgrid.configuratorEmptyColumnsText|The text content of the PivotGrid configurator empty columns container"
|
|
292
|
+
configuratorEmptyColumnsText="Select some fields to begin setup"
|
|
293
|
+
|
|
294
|
+
i18n-configuratorEmptyMeasuresText="kendo.pivotgrid.configuratorEmptyMeasuresText|The text content of the PivotGrid configurator empty measures container"
|
|
295
|
+
configuratorEmptyMeasuresText="Select some fields to begin setup"></ng-container>
|
|
243
296
|
|
|
244
297
|
<div #table class="k-pivotgrid">
|
|
245
|
-
<span class="k-pivotgrid-empty-cell"
|
|
298
|
+
<span class="k-pivotgrid-empty-cell">
|
|
299
|
+
<span class="k-sr-only">{{messageFor('emptyCellLabel')}}</span>
|
|
300
|
+
</span>
|
|
246
301
|
<kendo-pivotgrid-table
|
|
247
302
|
#colHeadersTable
|
|
248
303
|
[colWidth]="columnHeadersWidth"
|
|
@@ -374,10 +429,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
374
429
|
configuratorCancelButtonText="Cancel"
|
|
375
430
|
|
|
376
431
|
i18n-configuratorApplyButtonText="kendo.pivotgrid.configuratorApplyButtonText|The text content of the PivotGrid configurator configurator Apply button"
|
|
377
|
-
configuratorApplyButtonText="Apply"
|
|
432
|
+
configuratorApplyButtonText="Apply"
|
|
433
|
+
|
|
434
|
+
i18n-configuratorEmptyRowsText="kendo.pivotgrid.configuratorEmptyRowsText|The text content of the PivotGrid configurator empty rows container"
|
|
435
|
+
configuratorEmptyRowsText="Select some fields to begin setup"
|
|
436
|
+
|
|
437
|
+
i18n-configuratorEmptyColumnsText="kendo.pivotgrid.configuratorEmptyColumnsText|The text content of the PivotGrid configurator empty columns container"
|
|
438
|
+
configuratorEmptyColumnsText="Select some fields to begin setup"
|
|
439
|
+
|
|
440
|
+
i18n-configuratorEmptyMeasuresText="kendo.pivotgrid.configuratorEmptyMeasuresText|The text content of the PivotGrid configurator empty measures container"
|
|
441
|
+
configuratorEmptyMeasuresText="Select some fields to begin setup"></ng-container>
|
|
378
442
|
|
|
379
443
|
<div #table class="k-pivotgrid">
|
|
380
|
-
<span class="k-pivotgrid-empty-cell"
|
|
444
|
+
<span class="k-pivotgrid-empty-cell">
|
|
445
|
+
<span class="k-sr-only">{{messageFor('emptyCellLabel')}}</span>
|
|
446
|
+
</span>
|
|
381
447
|
<kendo-pivotgrid-table
|
|
382
448
|
#colHeadersTable
|
|
383
449
|
[colWidth]="columnHeadersWidth"
|
|
@@ -426,7 +492,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
426
492
|
}
|
|
427
493
|
`]
|
|
428
494
|
}]
|
|
429
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i1.PivotGridDataService }, { type: i2.LocalizationService }, { type: i3.ScrollbarWidthService }]; }, propDecorators: { hostClass: [{
|
|
495
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i1.PivotGridDataService }, { type: i2.LocalizationService }, { type: i0.Renderer2 }, { type: i3.ScrollbarWidthService }]; }, propDecorators: { hostClass: [{
|
|
430
496
|
type: HostBinding,
|
|
431
497
|
args: ['class.k-d-flex']
|
|
432
498
|
}, {
|
|
@@ -468,4 +534,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
468
534
|
type: Input
|
|
469
535
|
}], columnHeadersWidth: [{
|
|
470
536
|
type: Input
|
|
537
|
+
}], navigable: [{
|
|
538
|
+
type: Input
|
|
471
539
|
}] } });
|
|
@@ -6,8 +6,8 @@ import * as i0 from '@angular/core';
|
|
|
6
6
|
import { EventEmitter, Injectable, Output, Component, HostBinding, Input, Directive, Optional, forwardRef, ElementRef, ViewChild, NgModule } from '@angular/core';
|
|
7
7
|
import { validatePackage } from '@progress/kendo-licensing';
|
|
8
8
|
import * as i3 from '@progress/kendo-angular-common';
|
|
9
|
-
import { isDocumentAvailable, PreventableEvent, hasObservers, anyChanged, EventsModule, DraggableModule } from '@progress/kendo-angular-common';
|
|
10
|
-
import { toTree, toRows, toColumns, toData, configuratorReducer, PIVOT_CONFIGURATOR_ACTION, HEADERS_ACTION, headersReducer, createFlatSchemaDimensions, createDataTree, createLocalDataState, rootFields, fetchData, createDataState, fetchDiscover, addKPI, buildKPIMeasures } from '@progress/kendo-pivotgrid-common';
|
|
9
|
+
import { isDocumentAvailable, isChanged, PreventableEvent, hasObservers, anyChanged, EventsModule, DraggableModule } from '@progress/kendo-angular-common';
|
|
10
|
+
import { toTree, toRows, toColumns, toData, configuratorReducer, PIVOT_CONFIGURATOR_ACTION, PivotGridNavigation, HEADERS_ACTION, headersReducer, createFlatSchemaDimensions, createDataTree, createLocalDataState, rootFields, fetchData, createDataState, fetchDiscover, addKPI, buildKPIMeasures } from '@progress/kendo-pivotgrid-common';
|
|
11
11
|
export { averageAggregate, maxAggregate, minAggregate, sumAggregate } from '@progress/kendo-pivotgrid-common';
|
|
12
12
|
import { BehaviorSubject, Subscription, from, of, fromEvent } from 'rxjs';
|
|
13
13
|
import { mergeMap, merge } from 'rxjs/operators';
|
|
@@ -32,7 +32,7 @@ const packageMetadata = {
|
|
|
32
32
|
name: '@progress/kendo-angular-pivotgrid',
|
|
33
33
|
productName: 'Kendo UI for Angular',
|
|
34
34
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
35
|
-
publishDate:
|
|
35
|
+
publishDate: 1662102713,
|
|
36
36
|
version: '',
|
|
37
37
|
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'
|
|
38
38
|
};
|
|
@@ -928,9 +928,7 @@ PivotGridConfiguratorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
|
928
928
|
</kendo-chiplist>
|
|
929
929
|
|
|
930
930
|
<ng-template #noColumnAxes>
|
|
931
|
-
<div class="k-settings-description" kendoDropTarget axes="columnAxes">
|
|
932
|
-
Select some fields to begin setup
|
|
933
|
-
</div>
|
|
931
|
+
<div class="k-settings-description" kendoDropTarget axes="columnAxes">{{messageFor('configuratorEmptyColumnsText')}}</div>
|
|
934
932
|
</ng-template>
|
|
935
933
|
|
|
936
934
|
<div class="k-form-field" kendoDropTarget axes="rowAxes">
|
|
@@ -956,9 +954,7 @@ PivotGridConfiguratorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
|
956
954
|
</kendo-chiplist>
|
|
957
955
|
|
|
958
956
|
<ng-template #noRowAxes>
|
|
959
|
-
<div class="k-settings-description" kendoDropTarget axes="rowAxes">
|
|
960
|
-
Select some fields to begin setup
|
|
961
|
-
</div>
|
|
957
|
+
<div class="k-settings-description" kendoDropTarget axes="rowAxes">{{messageFor('configuratorEmptyRowsText')}}</div>
|
|
962
958
|
</ng-template>
|
|
963
959
|
</ng-template>
|
|
964
960
|
|
|
@@ -991,9 +987,7 @@ PivotGridConfiguratorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
|
991
987
|
</kendo-chiplist>
|
|
992
988
|
|
|
993
989
|
<ng-template #noMeasureAxes>
|
|
994
|
-
<div class="k-settings-description" kendoDropTarget axes="measureAxes">
|
|
995
|
-
Select some fields to begin setup
|
|
996
|
-
</div>
|
|
990
|
+
<div class="k-settings-description" kendoDropTarget axes="measureAxes">{{messageFor('configuratorEmptyMeasuresText')}}</div>
|
|
997
991
|
</ng-template>
|
|
998
992
|
</ng-template>
|
|
999
993
|
|
|
@@ -1085,9 +1079,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
1085
1079
|
</kendo-chiplist>
|
|
1086
1080
|
|
|
1087
1081
|
<ng-template #noColumnAxes>
|
|
1088
|
-
<div class="k-settings-description" kendoDropTarget axes="columnAxes">
|
|
1089
|
-
Select some fields to begin setup
|
|
1090
|
-
</div>
|
|
1082
|
+
<div class="k-settings-description" kendoDropTarget axes="columnAxes">{{messageFor('configuratorEmptyColumnsText')}}</div>
|
|
1091
1083
|
</ng-template>
|
|
1092
1084
|
|
|
1093
1085
|
<div class="k-form-field" kendoDropTarget axes="rowAxes">
|
|
@@ -1113,9 +1105,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
1113
1105
|
</kendo-chiplist>
|
|
1114
1106
|
|
|
1115
1107
|
<ng-template #noRowAxes>
|
|
1116
|
-
<div class="k-settings-description" kendoDropTarget axes="rowAxes">
|
|
1117
|
-
Select some fields to begin setup
|
|
1118
|
-
</div>
|
|
1108
|
+
<div class="k-settings-description" kendoDropTarget axes="rowAxes">{{messageFor('configuratorEmptyRowsText')}}</div>
|
|
1119
1109
|
</ng-template>
|
|
1120
1110
|
</ng-template>
|
|
1121
1111
|
|
|
@@ -1148,9 +1138,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
1148
1138
|
</kendo-chiplist>
|
|
1149
1139
|
|
|
1150
1140
|
<ng-template #noMeasureAxes>
|
|
1151
|
-
<div class="k-settings-description" kendoDropTarget axes="measureAxes">
|
|
1152
|
-
Select some fields to begin setup
|
|
1153
|
-
</div>
|
|
1141
|
+
<div class="k-settings-description" kendoDropTarget axes="measureAxes">{{messageFor('configuratorEmptyMeasuresText')}}</div>
|
|
1154
1142
|
</ng-template>
|
|
1155
1143
|
</ng-template>
|
|
1156
1144
|
|
|
@@ -1176,7 +1164,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
1176
1164
|
class PivotGridMessages extends ComponentMessages {
|
|
1177
1165
|
}
|
|
1178
1166
|
PivotGridMessages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PivotGridMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
1179
|
-
PivotGridMessages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", 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" }, usesInheritance: true, ngImport: i0 });
|
|
1167
|
+
PivotGridMessages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", 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" }, usesInheritance: true, ngImport: i0 });
|
|
1180
1168
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PivotGridMessages, decorators: [{
|
|
1181
1169
|
type: Directive
|
|
1182
1170
|
}], propDecorators: { fieldMenuFilterItemLabel: [{
|
|
@@ -1233,6 +1221,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
1233
1221
|
type: Input
|
|
1234
1222
|
}], configuratorApplyButtonText: [{
|
|
1235
1223
|
type: Input
|
|
1224
|
+
}], configuratorEmptyRowsText: [{
|
|
1225
|
+
type: Input
|
|
1226
|
+
}], configuratorEmptyColumnsText: [{
|
|
1227
|
+
type: Input
|
|
1228
|
+
}], configuratorEmptyMeasuresText: [{
|
|
1229
|
+
type: Input
|
|
1236
1230
|
}] } });
|
|
1237
1231
|
|
|
1238
1232
|
/**
|
|
@@ -1277,10 +1271,12 @@ const DEFAULT_CONFIGURATOR_SETTINGS = {
|
|
|
1277
1271
|
* Represents the Kendo UI PivotGrid component for Angular.
|
|
1278
1272
|
*/
|
|
1279
1273
|
class PivotGridComponent {
|
|
1280
|
-
constructor(hostEl, zone, dataService, localization, _scrollbarWidthService) {
|
|
1274
|
+
constructor(hostEl, zone, dataService, localization, renderer, _scrollbarWidthService) {
|
|
1275
|
+
this.hostEl = hostEl;
|
|
1281
1276
|
this.zone = zone;
|
|
1282
1277
|
this.dataService = dataService;
|
|
1283
1278
|
this.localization = localization;
|
|
1279
|
+
this.renderer = renderer;
|
|
1284
1280
|
this.hostClass = true;
|
|
1285
1281
|
this.ariaRole = 'grid';
|
|
1286
1282
|
/**
|
|
@@ -1289,6 +1285,12 @@ class PivotGridComponent {
|
|
|
1289
1285
|
* @default 200
|
|
1290
1286
|
*/
|
|
1291
1287
|
this.columnHeadersWidth = 200;
|
|
1288
|
+
/**
|
|
1289
|
+
* If set to true, the user can use dedicated shortcuts to interact with the PivotGrid. By default, navigation is disabled.
|
|
1290
|
+
*
|
|
1291
|
+
* @default false
|
|
1292
|
+
*/
|
|
1293
|
+
this.navigable = false;
|
|
1292
1294
|
this.resizeObservers = [];
|
|
1293
1295
|
this._loaderSettings = DEFAULT_LOADER_SETTINGS;
|
|
1294
1296
|
this.subs = new Subscription();
|
|
@@ -1376,15 +1378,29 @@ class PivotGridComponent {
|
|
|
1376
1378
|
this.resizeObservers = [headerColsResizeObserver, headerRowsResizeObserver];
|
|
1377
1379
|
this.subs.add(fromEvent(rowHeadersTable, 'wheel')
|
|
1378
1380
|
.pipe(merge(fromEvent(colHeadersTable, 'wheel'), fromEvent(this.valuesTable.nativeElement, 'scroll'))).subscribe((ev) => this.handleScroll(ev)));
|
|
1381
|
+
if (this.navigable) {
|
|
1382
|
+
this.initNavigation();
|
|
1383
|
+
}
|
|
1379
1384
|
});
|
|
1380
1385
|
}
|
|
1381
1386
|
}
|
|
1382
1387
|
ngAfterContentInit() {
|
|
1383
1388
|
this.subs.add(this.dataService.loading.subscribe(state => this.loading = state));
|
|
1384
1389
|
}
|
|
1390
|
+
ngOnChanges(changes) {
|
|
1391
|
+
if (isChanged('navigable', changes)) {
|
|
1392
|
+
if (this.navigable) {
|
|
1393
|
+
this.initNavigation();
|
|
1394
|
+
}
|
|
1395
|
+
else {
|
|
1396
|
+
this.stopNavigation();
|
|
1397
|
+
}
|
|
1398
|
+
}
|
|
1399
|
+
}
|
|
1385
1400
|
ngOnDestroy() {
|
|
1386
1401
|
this.resizeObservers.forEach(o => o.disconnect());
|
|
1387
1402
|
this.subs.unsubscribe();
|
|
1403
|
+
this.stopNavigation();
|
|
1388
1404
|
}
|
|
1389
1405
|
/**
|
|
1390
1406
|
* @hidden
|
|
@@ -1392,16 +1408,37 @@ class PivotGridComponent {
|
|
|
1392
1408
|
messageFor(localizationToken) {
|
|
1393
1409
|
return this.localization.get(localizationToken);
|
|
1394
1410
|
}
|
|
1411
|
+
initNavigation() {
|
|
1412
|
+
this.stopNavigation();
|
|
1413
|
+
this.navigation = new PivotGridNavigation({ tabIndex: 0 });
|
|
1414
|
+
this.navigation.start(this.hostEl.nativeElement);
|
|
1415
|
+
const firstCell = this.navigation.first;
|
|
1416
|
+
if (firstCell) {
|
|
1417
|
+
firstCell.setAttribute('tabindex', '0');
|
|
1418
|
+
}
|
|
1419
|
+
this.subs.add(this.dataService.directive.expandChange.pipe(merge(this.dataService.directive.configurationChange)).subscribe(() => this.zone.runOutsideAngular(() => {
|
|
1420
|
+
setTimeout(() => this.navigation.update());
|
|
1421
|
+
})));
|
|
1422
|
+
}
|
|
1423
|
+
stopNavigation() {
|
|
1424
|
+
if (this.navigation) {
|
|
1425
|
+
const lastFocusedEl = this.navigation.elements.find(el => el.hasAttribute('tabindex'));
|
|
1426
|
+
if (lastFocusedEl) {
|
|
1427
|
+
this.renderer.removeAttribute(lastFocusedEl, 'tabindex');
|
|
1428
|
+
}
|
|
1429
|
+
this.navigation.stop();
|
|
1430
|
+
}
|
|
1431
|
+
}
|
|
1395
1432
|
}
|
|
1396
|
-
PivotGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PivotGridComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: PivotGridDataService }, { token: i2.LocalizationService }, { token: i3.ScrollbarWidthService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1397
|
-
PivotGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: PivotGridComponent, selector: "kendo-pivotgrid", inputs: { loaderSettings: "loaderSettings", configurator: "configurator", columnHeadersWidth: "columnHeadersWidth" }, 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", "attr.role": "this.ariaRole" } }, providers: [
|
|
1433
|
+
PivotGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PivotGridComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: PivotGridDataService }, { token: i2.LocalizationService }, { token: i0.Renderer2 }, { token: i3.ScrollbarWidthService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1434
|
+
PivotGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: PivotGridComponent, selector: "kendo-pivotgrid", inputs: { loaderSettings: "loaderSettings", configurator: "configurator", 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", "attr.role": "this.ariaRole" } }, providers: [
|
|
1398
1435
|
PivotGridDataService,
|
|
1399
1436
|
LocalizationService,
|
|
1400
1437
|
{
|
|
1401
1438
|
provide: L10N_PREFIX,
|
|
1402
1439
|
useValue: 'kendo.pivotgrid'
|
|
1403
1440
|
}
|
|
1404
|
-
], 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 }], ngImport: i0, template: `
|
|
1441
|
+
], 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 }], usesOnChanges: true, ngImport: i0, template: `
|
|
1405
1442
|
<ng-container kendoPivotGridLocalizedMessages
|
|
1406
1443
|
i18n-loading="kendo.pivotgrid.loading|The loading text"
|
|
1407
1444
|
loading="Loading"
|
|
@@ -1482,10 +1519,21 @@ PivotGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
|
|
|
1482
1519
|
configuratorCancelButtonText="Cancel"
|
|
1483
1520
|
|
|
1484
1521
|
i18n-configuratorApplyButtonText="kendo.pivotgrid.configuratorApplyButtonText|The text content of the PivotGrid configurator configurator Apply button"
|
|
1485
|
-
configuratorApplyButtonText="Apply"
|
|
1522
|
+
configuratorApplyButtonText="Apply"
|
|
1523
|
+
|
|
1524
|
+
i18n-configuratorEmptyRowsText="kendo.pivotgrid.configuratorEmptyRowsText|The text content of the PivotGrid configurator empty rows container"
|
|
1525
|
+
configuratorEmptyRowsText="Select some fields to begin setup"
|
|
1526
|
+
|
|
1527
|
+
i18n-configuratorEmptyColumnsText="kendo.pivotgrid.configuratorEmptyColumnsText|The text content of the PivotGrid configurator empty columns container"
|
|
1528
|
+
configuratorEmptyColumnsText="Select some fields to begin setup"
|
|
1529
|
+
|
|
1530
|
+
i18n-configuratorEmptyMeasuresText="kendo.pivotgrid.configuratorEmptyMeasuresText|The text content of the PivotGrid configurator empty measures container"
|
|
1531
|
+
configuratorEmptyMeasuresText="Select some fields to begin setup"></ng-container>
|
|
1486
1532
|
|
|
1487
1533
|
<div #table class="k-pivotgrid">
|
|
1488
|
-
<span class="k-pivotgrid-empty-cell"
|
|
1534
|
+
<span class="k-pivotgrid-empty-cell">
|
|
1535
|
+
<span class="k-sr-only">{{messageFor('emptyCellLabel')}}</span>
|
|
1536
|
+
</span>
|
|
1489
1537
|
<kendo-pivotgrid-table
|
|
1490
1538
|
#colHeadersTable
|
|
1491
1539
|
[colWidth]="columnHeadersWidth"
|
|
@@ -1617,10 +1665,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
1617
1665
|
configuratorCancelButtonText="Cancel"
|
|
1618
1666
|
|
|
1619
1667
|
i18n-configuratorApplyButtonText="kendo.pivotgrid.configuratorApplyButtonText|The text content of the PivotGrid configurator configurator Apply button"
|
|
1620
|
-
configuratorApplyButtonText="Apply"
|
|
1668
|
+
configuratorApplyButtonText="Apply"
|
|
1669
|
+
|
|
1670
|
+
i18n-configuratorEmptyRowsText="kendo.pivotgrid.configuratorEmptyRowsText|The text content of the PivotGrid configurator empty rows container"
|
|
1671
|
+
configuratorEmptyRowsText="Select some fields to begin setup"
|
|
1672
|
+
|
|
1673
|
+
i18n-configuratorEmptyColumnsText="kendo.pivotgrid.configuratorEmptyColumnsText|The text content of the PivotGrid configurator empty columns container"
|
|
1674
|
+
configuratorEmptyColumnsText="Select some fields to begin setup"
|
|
1675
|
+
|
|
1676
|
+
i18n-configuratorEmptyMeasuresText="kendo.pivotgrid.configuratorEmptyMeasuresText|The text content of the PivotGrid configurator empty measures container"
|
|
1677
|
+
configuratorEmptyMeasuresText="Select some fields to begin setup"></ng-container>
|
|
1621
1678
|
|
|
1622
1679
|
<div #table class="k-pivotgrid">
|
|
1623
|
-
<span class="k-pivotgrid-empty-cell"
|
|
1680
|
+
<span class="k-pivotgrid-empty-cell">
|
|
1681
|
+
<span class="k-sr-only">{{messageFor('emptyCellLabel')}}</span>
|
|
1682
|
+
</span>
|
|
1624
1683
|
<kendo-pivotgrid-table
|
|
1625
1684
|
#colHeadersTable
|
|
1626
1685
|
[colWidth]="columnHeadersWidth"
|
|
@@ -1669,7 +1728,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
1669
1728
|
}
|
|
1670
1729
|
`]
|
|
1671
1730
|
}]
|
|
1672
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: PivotGridDataService }, { type: i2.LocalizationService }, { type: i3.ScrollbarWidthService }]; }, propDecorators: { hostClass: [{
|
|
1731
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: PivotGridDataService }, { type: i2.LocalizationService }, { type: i0.Renderer2 }, { type: i3.ScrollbarWidthService }]; }, propDecorators: { hostClass: [{
|
|
1673
1732
|
type: HostBinding,
|
|
1674
1733
|
args: ['class.k-d-flex']
|
|
1675
1734
|
}, {
|
|
@@ -1711,6 +1770,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
1711
1770
|
type: Input
|
|
1712
1771
|
}], columnHeadersWidth: [{
|
|
1713
1772
|
type: Input
|
|
1773
|
+
}], navigable: [{
|
|
1774
|
+
type: Input
|
|
1714
1775
|
}] } });
|
|
1715
1776
|
|
|
1716
1777
|
/**
|
|
@@ -1782,6 +1843,11 @@ class PivotBaseBindingDirective {
|
|
|
1782
1843
|
* 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.
|
|
1783
1844
|
*/
|
|
1784
1845
|
this.configurationChange = new EventEmitter();
|
|
1846
|
+
/**
|
|
1847
|
+
* Fires each time when new data is loaded and transformed to show aggregated values.
|
|
1848
|
+
* The event fires upon initialization and on user interaction that changes the state of the PivotGrid.
|
|
1849
|
+
*/
|
|
1850
|
+
this.dataLoaded = new EventEmitter();
|
|
1785
1851
|
this.subs = new Subscription();
|
|
1786
1852
|
}
|
|
1787
1853
|
/**
|
|
@@ -1819,6 +1885,13 @@ class PivotBaseBindingDirective {
|
|
|
1819
1885
|
this.loadData(state);
|
|
1820
1886
|
});
|
|
1821
1887
|
}));
|
|
1888
|
+
this.subs.add(this.dataService.valuesRows.subscribe((data) => {
|
|
1889
|
+
this.zone.run(() => {
|
|
1890
|
+
if (hasObservers(this.dataLoaded)) {
|
|
1891
|
+
this.dataLoaded.emit(data);
|
|
1892
|
+
}
|
|
1893
|
+
});
|
|
1894
|
+
}));
|
|
1822
1895
|
this.dataService.directive = this;
|
|
1823
1896
|
}
|
|
1824
1897
|
ngOnDestroy() {
|
|
@@ -1862,7 +1935,7 @@ class PivotBaseBindingDirective {
|
|
|
1862
1935
|
;
|
|
1863
1936
|
}
|
|
1864
1937
|
PivotBaseBindingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PivotBaseBindingDirective, deps: [{ token: PivotGridDataService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
|
|
1865
|
-
PivotBaseBindingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: PivotBaseBindingDirective, selector: "kendo-base-binding-directive", inputs: { columnAxes: "columnAxes", rowAxes: "rowAxes", measureAxes: "measureAxes" }, outputs: { expandChange: "expandChange", configurationChange: "configurationChange" }, ngImport: i0 });
|
|
1938
|
+
PivotBaseBindingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: PivotBaseBindingDirective, selector: "kendo-base-binding-directive", inputs: { columnAxes: "columnAxes", rowAxes: "rowAxes", measureAxes: "measureAxes" }, outputs: { expandChange: "expandChange", configurationChange: "configurationChange", dataLoaded: "dataLoaded" }, ngImport: i0 });
|
|
1866
1939
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PivotBaseBindingDirective, decorators: [{
|
|
1867
1940
|
type: Directive,
|
|
1868
1941
|
args: [{
|
|
@@ -1878,6 +1951,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
1878
1951
|
type: Output
|
|
1879
1952
|
}], configurationChange: [{
|
|
1880
1953
|
type: Output
|
|
1954
|
+
}], dataLoaded: [{
|
|
1955
|
+
type: Output
|
|
1881
1956
|
}] } });
|
|
1882
1957
|
|
|
1883
1958
|
const dataField = 'aggregate';
|
|
@@ -155,6 +155,18 @@ export declare class PivotGridMessages extends ComponentMessages {
|
|
|
155
155
|
* The text content of the PivotGrid configurator Apply button.
|
|
156
156
|
*/
|
|
157
157
|
configuratorApplyButtonText: string;
|
|
158
|
+
/**
|
|
159
|
+
* The text content of the PivotGrid configurator empty rows container.
|
|
160
|
+
*/
|
|
161
|
+
configuratorEmptyRowsText: string;
|
|
162
|
+
/**
|
|
163
|
+
* The text content of the PivotGrid configurator empty columns container.
|
|
164
|
+
*/
|
|
165
|
+
configuratorEmptyColumnsText: string;
|
|
166
|
+
/**
|
|
167
|
+
* The text content of the PivotGrid configurator empty measures container.
|
|
168
|
+
*/
|
|
169
|
+
configuratorEmptyMeasuresText: string;
|
|
158
170
|
static ɵfac: i0.ɵɵFactoryDeclaration<PivotGridMessages, never>;
|
|
159
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<PivotGridMessages, never, never, { "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"; }, {}, never>;
|
|
171
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<PivotGridMessages, never, never, { "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"; }, {}, never>;
|
|
160
172
|
}
|
package/main.d.ts
CHANGED
|
@@ -14,4 +14,5 @@ export { DraggableChipDirective } from './configurator/draggable.directive';
|
|
|
14
14
|
export { DropTargetDirective } from './configurator/drop-target.directive';
|
|
15
15
|
export { ExpandChangeEvent } from './models/expanded-change-event';
|
|
16
16
|
export { ConfigurationChangeEvent } from './models/configuration-change-event';
|
|
17
|
+
export { PivotDataRowItem } from './models/data-row-item';
|
|
17
18
|
export { PivotGridAxis, PivotGridField, AxisDataItem, DimensionField, HierarchyField, KPIField, KPIMeasureField, LevelField, MeasureField, MemberField, PivotDataItem, sumAggregate, averageAggregate, minAggregate, maxAggregate, Aggregate, Dimension, Measure } from '@progress/kendo-pivotgrid-common';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright © 2021 Progress Software Corporation. All rights reserved.
|
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
|
5
|
+
import { PivotDataItem } from "@progress/kendo-pivotgrid-common";
|
|
6
|
+
/**
|
|
7
|
+
* The event data for DataLoadedEvent.
|
|
8
|
+
*/
|
|
9
|
+
export interface PivotDataRowItem {
|
|
10
|
+
/**
|
|
11
|
+
* The row hierarchy.
|
|
12
|
+
*/
|
|
13
|
+
row: string[];
|
|
14
|
+
/**
|
|
15
|
+
* The aggregated cell data.
|
|
16
|
+
*/
|
|
17
|
+
cells: PivotDataItem[];
|
|
18
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-angular-pivotgrid",
|
|
3
|
-
"version": "0.2.0-dev.
|
|
3
|
+
"version": "0.2.0-dev.202209020712",
|
|
4
4
|
"description": "PivotGrid package for Angular",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"author": "Progress",
|
|
@@ -21,9 +21,9 @@
|
|
|
21
21
|
"friendlyName": "PivotGrid"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@progress/kendo-pivotgrid-common": "0.
|
|
25
|
-
"@telerik/kendo-draggable": "^2.0.0",
|
|
24
|
+
"@progress/kendo-pivotgrid-common": "0.4.0",
|
|
26
25
|
"@progress/kendo-schematics": "^3.0.0",
|
|
26
|
+
"@telerik/kendo-draggable": "^2.0.0",
|
|
27
27
|
"tslib": "^2.3.1"
|
|
28
28
|
},
|
|
29
29
|
"peerDependencies": {
|