@progress/kendo-angular-pivotgrid 16.6.0-develop.1 → 16.6.0-develop.3
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/NOTICE.txt +12 -19
- package/esm2020/models/virtualization-settings.mjs +25 -0
- package/esm2020/package-metadata.mjs +2 -2
- package/esm2020/pivotgrid.component.mjs +33 -7
- package/esm2020/rendering/pivotgrid-table.component.mjs +191 -32
- package/esm2020/util.mjs +30 -5
- package/esm2020/virtual/scroll.service.mjs +19 -0
- package/esm2020/virtual/scrollable-container.mjs +114 -0
- package/fesm2015/progress-kendo-angular-pivotgrid.mjs +395 -44
- package/fesm2020/progress-kendo-angular-pivotgrid.mjs +389 -44
- package/models/virtualization-settings.d.ts +34 -0
- package/package.json +12 -12
- package/pivotgrid.component.d.ts +19 -5
- package/rendering/pivotgrid-table.component.d.ts +27 -4
- package/schematics/ngAdd/index.js +2 -2
- package/util.d.ts +7 -0
- package/virtual/scroll.service.d.ts +13 -0
- package/virtual/scrollable-container.d.ts +35 -0
@@ -0,0 +1,34 @@
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
2
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
5
|
+
/**
|
6
|
+
* The supported values of the [`VirtualizationSettings`]({% slug api_pivotgrid_virtualizationsettings %}) `type` property - `row`, `column` or `both`.
|
7
|
+
*/
|
8
|
+
export declare type PivotGridVirtualizationSettingsType = 'row | column | both';
|
9
|
+
export interface VirtualizationSettings {
|
10
|
+
/**
|
11
|
+
* Enables the virtualization of the PivotGrid data table. By default both rows and columns are virtualized when the virtualization is enabled.
|
12
|
+
* @default `both`
|
13
|
+
*/
|
14
|
+
type?: PivotGridVirtualizationSettingsType;
|
15
|
+
/**
|
16
|
+
* Represents the actual height of each data row in the DOM in pixels.
|
17
|
+
* @default 37
|
18
|
+
*/
|
19
|
+
rowHeight?: number;
|
20
|
+
/**
|
21
|
+
* Sets the maximum number of value table rows that will be rendered in the DOM.
|
22
|
+
* @default 50
|
23
|
+
*/
|
24
|
+
rows?: number;
|
25
|
+
/**
|
26
|
+
* Sets the maximum number of value table columns that will be rendered in the DOM.
|
27
|
+
* @default 10
|
28
|
+
*/
|
29
|
+
columns?: number;
|
30
|
+
}
|
31
|
+
/**
|
32
|
+
* @hidden
|
33
|
+
*/
|
34
|
+
export declare const normalizeVirtualSettings: (settings: boolean | VirtualizationSettings) => VirtualizationSettings;
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@progress/kendo-angular-pivotgrid",
|
3
|
-
"version": "16.6.0-develop.
|
3
|
+
"version": "16.6.0-develop.3",
|
4
4
|
"description": "PivotGrid package for Angular",
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
6
6
|
"author": "Progress",
|
@@ -25,21 +25,21 @@
|
|
25
25
|
"@progress/kendo-data-query": "^1.5.5",
|
26
26
|
"@progress/kendo-drawing": "^1.19.0",
|
27
27
|
"@progress/kendo-licensing": "^1.0.2",
|
28
|
-
"@progress/kendo-angular-buttons": "16.6.0-develop.
|
29
|
-
"@progress/kendo-angular-common": "16.6.0-develop.
|
30
|
-
"@progress/kendo-angular-dropdowns": "16.6.0-develop.
|
31
|
-
"@progress/kendo-angular-indicators": "16.6.0-develop.
|
32
|
-
"@progress/kendo-angular-inputs": "16.6.0-develop.
|
33
|
-
"@progress/kendo-angular-intl": "16.6.0-develop.
|
34
|
-
"@progress/kendo-angular-l10n": "16.6.0-develop.
|
35
|
-
"@progress/kendo-angular-popup": "16.6.0-develop.
|
36
|
-
"@progress/kendo-angular-icons": "16.6.0-develop.
|
37
|
-
"@progress/kendo-angular-treeview": "16.6.0-develop.
|
28
|
+
"@progress/kendo-angular-buttons": "16.6.0-develop.3",
|
29
|
+
"@progress/kendo-angular-common": "16.6.0-develop.3",
|
30
|
+
"@progress/kendo-angular-dropdowns": "16.6.0-develop.3",
|
31
|
+
"@progress/kendo-angular-indicators": "16.6.0-develop.3",
|
32
|
+
"@progress/kendo-angular-inputs": "16.6.0-develop.3",
|
33
|
+
"@progress/kendo-angular-intl": "16.6.0-develop.3",
|
34
|
+
"@progress/kendo-angular-l10n": "16.6.0-develop.3",
|
35
|
+
"@progress/kendo-angular-popup": "16.6.0-develop.3",
|
36
|
+
"@progress/kendo-angular-icons": "16.6.0-develop.3",
|
37
|
+
"@progress/kendo-angular-treeview": "16.6.0-develop.3",
|
38
38
|
"rxjs": "^6.5.3 || ^7.0.0"
|
39
39
|
},
|
40
40
|
"dependencies": {
|
41
41
|
"tslib": "^2.3.1",
|
42
|
-
"@progress/kendo-angular-schematics": "16.6.0-develop.
|
42
|
+
"@progress/kendo-angular-schematics": "16.6.0-develop.3",
|
43
43
|
"@progress/kendo-pivotgrid-common": "0.6.0"
|
44
44
|
},
|
45
45
|
"schematics": "./schematics/collection.json",
|
package/pivotgrid.component.d.ts
CHANGED
@@ -8,13 +8,15 @@ import { PivotGridDataService } from './data-binding/pivotgrid-data.service';
|
|
8
8
|
import { LoaderSettings } from './models/loader-settings';
|
9
9
|
import { LocalizationService } from '@progress/kendo-angular-l10n';
|
10
10
|
import { ConfiguratorSettings } from './models/configurator-settings';
|
11
|
-
import { ConfiguratorNavigation } from '@progress/kendo-pivotgrid-common';
|
11
|
+
import { ConfiguratorNavigation, PivotGridNavigation } from '@progress/kendo-pivotgrid-common';
|
12
12
|
import { PivotDataRowItem } from './models/data-row-item';
|
13
13
|
import { SVGIcon } from '@progress/kendo-svg-icons';
|
14
14
|
import { CellTemplateDirective } from './rendering/templates/pivotgrid-cell-template.directive';
|
15
15
|
import { ValueCellTemplateDirective } from './rendering/templates/pivotgrid-value-cell-template.directive';
|
16
16
|
import { RowHeaderCellTemplateDirective } from './rendering/templates/pivotgrid-row-header-cell-template.directive';
|
17
17
|
import { ColumnHeaderCellTemplateDirective } from './rendering/templates/pivotgrid-column-header-cell-template.directive';
|
18
|
+
import { VirtualizationSettings } from './models/virtualization-settings';
|
19
|
+
import { PivotGridScrollService } from './virtual/scroll.service';
|
18
20
|
import * as i0 from "@angular/core";
|
19
21
|
/**
|
20
22
|
* Represents the Kendo UI PivotGrid component for Angular.
|
@@ -25,6 +27,7 @@ export declare class PivotGridComponent implements AfterViewInit, AfterContentIn
|
|
25
27
|
dataService: PivotGridDataService;
|
26
28
|
private localization;
|
27
29
|
private renderer;
|
30
|
+
private scrollService;
|
28
31
|
hostClass: boolean;
|
29
32
|
get rightPositionClass(): boolean;
|
30
33
|
get leftPositionClass(): boolean;
|
@@ -58,6 +61,13 @@ export declare class PivotGridComponent implements AfterViewInit, AfterContentIn
|
|
58
61
|
* Specifies whether the axes configurator should be displayed.
|
59
62
|
*/
|
60
63
|
configurator: boolean | ConfiguratorSettings;
|
64
|
+
/**
|
65
|
+
* Sets the virtualization options of the component. By default the virtual scrolling functionality is disabled.
|
66
|
+
*
|
67
|
+
* @default false
|
68
|
+
*/
|
69
|
+
set virtualScrolling(value: boolean | VirtualizationSettings);
|
70
|
+
get virtualScrolling(): VirtualizationSettings;
|
61
71
|
get configuratorSettings(): ConfiguratorSettings;
|
62
72
|
/**
|
63
73
|
* Specify the width of the column header and data cells. Value is treated as pixels [(see example)]({% slug appearance_pivotgrid %}#toc-column-headers-width).
|
@@ -84,12 +94,13 @@ export declare class PivotGridComponent implements AfterViewInit, AfterContentIn
|
|
84
94
|
configuratorNavigation: ConfiguratorNavigation;
|
85
95
|
private resizeObservers;
|
86
96
|
private _loaderSettings;
|
97
|
+
private _virtualScrolling;
|
87
98
|
private subs;
|
88
99
|
private rtl;
|
89
100
|
private direction;
|
90
|
-
|
101
|
+
navigation: PivotGridNavigation;
|
91
102
|
private navigationSubs;
|
92
|
-
constructor(hostEl: ElementRef, zone: NgZone, dataService: PivotGridDataService, localization: LocalizationService, renderer: Renderer2, _scrollbarWidthService: ScrollbarWidthService);
|
103
|
+
constructor(hostEl: ElementRef, zone: NgZone, dataService: PivotGridDataService, localization: LocalizationService, renderer: Renderer2, _scrollbarWidthService: ScrollbarWidthService, scrollService: PivotGridScrollService);
|
93
104
|
ngAfterViewInit(): void;
|
94
105
|
ngAfterContentInit(): void;
|
95
106
|
ngOnChanges(changes: SimpleChanges): void;
|
@@ -104,10 +115,13 @@ export declare class PivotGridComponent implements AfterViewInit, AfterContentIn
|
|
104
115
|
toggleConfigurator(): void;
|
105
116
|
private resizeContainer;
|
106
117
|
private handleScroll;
|
107
|
-
|
118
|
+
/**
|
119
|
+
* @hidden
|
120
|
+
*/
|
121
|
+
initNavigation(): void;
|
108
122
|
private stopNavigation;
|
109
123
|
private initConfiguratorNavigation;
|
110
124
|
private stopConfiguratorNavigation;
|
111
125
|
static ɵfac: i0.ɵɵFactoryDeclaration<PivotGridComponent, never>;
|
112
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<PivotGridComponent, "kendo-pivotgrid", never, { "loaderSettings": "loaderSettings"; "configurator": "configurator"; "columnHeadersWidth": "columnHeadersWidth"; "navigable": "navigable"; }, {}, ["customCellTemplate", "valueCellTemplate", "rowHeaderCellTemplate", "columnHeaderCellTemplate"], never, true, never>;
|
126
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PivotGridComponent, "kendo-pivotgrid", never, { "loaderSettings": "loaderSettings"; "configurator": "configurator"; "virtualScrolling": "virtualScrolling"; "columnHeadersWidth": "columnHeadersWidth"; "navigable": "navigable"; }, {}, ["customCellTemplate", "valueCellTemplate", "rowHeaderCellTemplate", "columnHeaderCellTemplate"], never, true, never>;
|
113
127
|
}
|
@@ -2,31 +2,54 @@
|
|
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, OnInit } from '@angular/core';
|
5
|
+
import { ElementRef, NgZone, OnDestroy, OnInit } from '@angular/core';
|
6
6
|
import { PivotGridDataService } from '../data-binding/pivotgrid-data.service';
|
7
7
|
import { CellTemplateDirective } from './templates/pivotgrid-cell-template.directive';
|
8
8
|
import { ValueCellTemplateDirective } from './templates/pivotgrid-value-cell-template.directive';
|
9
9
|
import { ColumnHeaderCellTemplateDirective } from './templates/pivotgrid-column-header-cell-template.directive';
|
10
10
|
import { RowHeaderCellTemplateDirective } from './templates/pivotgrid-row-header-cell-template.directive';
|
11
|
+
import { VirtualizationSettings } from '../models/virtualization-settings';
|
12
|
+
import { LocalizationService } from '@progress/kendo-angular-l10n';
|
13
|
+
import { PivotGridComponent } from '../pivotgrid.component';
|
14
|
+
import { PivotGridScrollService } from '../virtual/scroll.service';
|
11
15
|
import * as i0 from "@angular/core";
|
12
16
|
/**
|
13
17
|
* @hidden
|
14
18
|
*/
|
15
19
|
export declare class PivotGridTableComponent implements OnInit, OnDestroy {
|
20
|
+
private host;
|
16
21
|
private dataService;
|
22
|
+
private localization;
|
23
|
+
private pivotGrid;
|
24
|
+
private zone;
|
25
|
+
private scrollService;
|
17
26
|
headerItems: any;
|
18
27
|
rows: any;
|
28
|
+
renderedRows: any;
|
29
|
+
renderedCols: any;
|
30
|
+
totalRows: any;
|
31
|
+
startRowIndex: number;
|
32
|
+
startColIndex: number;
|
33
|
+
rtl: boolean;
|
19
34
|
tableType: string;
|
20
35
|
colWidth: number;
|
21
36
|
customCellTemplate: CellTemplateDirective;
|
22
37
|
valueCellTemplate: ValueCellTemplateDirective;
|
23
38
|
rowHeaderCellTemplate: RowHeaderCellTemplateDirective;
|
24
39
|
columnHeaderCellTemplate: ColumnHeaderCellTemplateDirective;
|
40
|
+
scrollableSettings: VirtualizationSettings;
|
25
41
|
get pivotGridId(): string;
|
26
|
-
|
27
|
-
|
42
|
+
get columnVirtualization(): boolean;
|
43
|
+
get rowVirtualization(): boolean;
|
44
|
+
private subs;
|
45
|
+
private scrollable;
|
46
|
+
constructor(host: ElementRef, dataService: PivotGridDataService, localization: LocalizationService, pivotGrid: PivotGridComponent, zone: NgZone, scrollService: PivotGridScrollService);
|
28
47
|
ngOnInit(): void;
|
48
|
+
ngAfterViewInit(): void;
|
29
49
|
ngOnDestroy(): void;
|
50
|
+
private colsUpdateCallback;
|
51
|
+
private initScrollable;
|
52
|
+
private initScrollableKeyboardNavigation;
|
30
53
|
static ɵfac: i0.ɵɵFactoryDeclaration<PivotGridTableComponent, never>;
|
31
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<PivotGridTableComponent, "kendo-pivotgrid-table", never, { "tableType": "tableType"; "colWidth": "colWidth"; "customCellTemplate": "customCellTemplate"; "valueCellTemplate": "valueCellTemplate"; "rowHeaderCellTemplate": "rowHeaderCellTemplate"; "columnHeaderCellTemplate": "columnHeaderCellTemplate"; }, {}, never, never, true, never>;
|
54
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PivotGridTableComponent, "kendo-pivotgrid-table", never, { "tableType": "tableType"; "colWidth": "colWidth"; "customCellTemplate": "customCellTemplate"; "valueCellTemplate": "valueCellTemplate"; "rowHeaderCellTemplate": "rowHeaderCellTemplate"; "columnHeaderCellTemplate": "columnHeaderCellTemplate"; "scrollableSettings": "scrollableSettings"; }, {}, never, never, true, never>;
|
32
55
|
}
|
@@ -6,11 +6,11 @@ function default_1(options) {
|
|
6
6
|
// Additional dependencies to install.
|
7
7
|
// See https://github.com/telerik/kendo-schematics/issues/28
|
8
8
|
peerDependencies: {
|
9
|
-
'@progress/kendo-angular-dialog': '16.6.0-develop.
|
9
|
+
'@progress/kendo-angular-dialog': '16.6.0-develop.3',
|
10
10
|
// peer dep of the icons
|
11
11
|
'@progress/kendo-svg-icons': '^3.0.0',
|
12
12
|
// peer dep of the dropdowns
|
13
|
-
'@progress/kendo-angular-navigation': '16.6.0-develop.
|
13
|
+
'@progress/kendo-angular-navigation': '16.6.0-develop.3'
|
14
14
|
} });
|
15
15
|
return (0, schematics_1.externalSchematic)('@progress/kendo-angular-schematics', 'ng-add', finalOptions);
|
16
16
|
}
|
package/util.d.ts
CHANGED
@@ -82,3 +82,10 @@ export declare function cloneArray(array: any[]): any;
|
|
82
82
|
* @hidden
|
83
83
|
*/
|
84
84
|
export declare const swapItems: (arr: any, i1: any, i2: any) => void;
|
85
|
+
/**
|
86
|
+
* @hidden
|
87
|
+
*/
|
88
|
+
export declare const isVisible: (el: any, container: any, offsetY: any, rtl: any) => {
|
89
|
+
visibleX: boolean;
|
90
|
+
visibleY: boolean;
|
91
|
+
};
|
@@ -0,0 +1,13 @@
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
2
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
5
|
+
import * as i0 from "@angular/core";
|
6
|
+
/**
|
7
|
+
* @hidden
|
8
|
+
*/
|
9
|
+
export declare class PivotGridScrollService {
|
10
|
+
virtualScrolling: boolean;
|
11
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PivotGridScrollService, never>;
|
12
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<PivotGridScrollService>;
|
13
|
+
}
|
@@ -0,0 +1,35 @@
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
2
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
5
|
+
/**
|
6
|
+
* @hidden
|
7
|
+
*/
|
8
|
+
export declare class ScrollableTable {
|
9
|
+
private element;
|
10
|
+
private handlers;
|
11
|
+
private options;
|
12
|
+
startRow: number;
|
13
|
+
endRow: number;
|
14
|
+
startCol: number;
|
15
|
+
endCol: number;
|
16
|
+
renderedRows: number;
|
17
|
+
renderedCols: number;
|
18
|
+
total: number;
|
19
|
+
totalCols: number;
|
20
|
+
rtl: boolean;
|
21
|
+
private visibleRows;
|
22
|
+
private visibleCols;
|
23
|
+
private lastKnownScrollPosition;
|
24
|
+
private offsetFirst;
|
25
|
+
private stretcher;
|
26
|
+
private rect;
|
27
|
+
constructor(element: HTMLElement, handlers: any, options: any);
|
28
|
+
onNewData(recalculateSize?: boolean): void;
|
29
|
+
destroy(): void;
|
30
|
+
private initialize;
|
31
|
+
private scrollHandler;
|
32
|
+
private scrollEndHandler;
|
33
|
+
recalculateSize(): void;
|
34
|
+
private rowVirtualizationUpdate;
|
35
|
+
}
|