@progress/kendo-angular-pivotgrid 16.6.0-develop.1 → 16.6.0-develop.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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.1",
3
+ "version": "16.6.0-develop.11",
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.1",
29
- "@progress/kendo-angular-common": "16.6.0-develop.1",
30
- "@progress/kendo-angular-dropdowns": "16.6.0-develop.1",
31
- "@progress/kendo-angular-indicators": "16.6.0-develop.1",
32
- "@progress/kendo-angular-inputs": "16.6.0-develop.1",
33
- "@progress/kendo-angular-intl": "16.6.0-develop.1",
34
- "@progress/kendo-angular-l10n": "16.6.0-develop.1",
35
- "@progress/kendo-angular-popup": "16.6.0-develop.1",
36
- "@progress/kendo-angular-icons": "16.6.0-develop.1",
37
- "@progress/kendo-angular-treeview": "16.6.0-develop.1",
28
+ "@progress/kendo-angular-buttons": "16.6.0-develop.11",
29
+ "@progress/kendo-angular-common": "16.6.0-develop.11",
30
+ "@progress/kendo-angular-dropdowns": "16.6.0-develop.11",
31
+ "@progress/kendo-angular-indicators": "16.6.0-develop.11",
32
+ "@progress/kendo-angular-inputs": "16.6.0-develop.11",
33
+ "@progress/kendo-angular-intl": "16.6.0-develop.11",
34
+ "@progress/kendo-angular-l10n": "16.6.0-develop.11",
35
+ "@progress/kendo-angular-popup": "16.6.0-develop.11",
36
+ "@progress/kendo-angular-icons": "16.6.0-develop.11",
37
+ "@progress/kendo-angular-treeview": "16.6.0-develop.11",
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.1",
42
+ "@progress/kendo-angular-schematics": "16.6.0-develop.11",
43
43
  "@progress/kendo-pivotgrid-common": "0.6.0"
44
44
  },
45
45
  "schematics": "./schematics/collection.json",
@@ -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
- private navigation;
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
- private initNavigation;
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,52 @@
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 { PivotGridScrollService } from '../virtual/scroll.service';
11
14
  import * as i0 from "@angular/core";
12
15
  /**
13
16
  * @hidden
14
17
  */
15
18
  export declare class PivotGridTableComponent implements OnInit, OnDestroy {
19
+ private host;
16
20
  private dataService;
21
+ private localization;
22
+ private zone;
23
+ private scrollService;
17
24
  headerItems: any;
18
25
  rows: any;
26
+ renderedRows: any;
27
+ renderedCols: any;
28
+ totalRows: any;
29
+ startRowIndex: number;
30
+ startColIndex: number;
31
+ rtl: boolean;
19
32
  tableType: string;
20
33
  colWidth: number;
21
34
  customCellTemplate: CellTemplateDirective;
22
35
  valueCellTemplate: ValueCellTemplateDirective;
23
36
  rowHeaderCellTemplate: RowHeaderCellTemplateDirective;
24
37
  columnHeaderCellTemplate: ColumnHeaderCellTemplateDirective;
38
+ scrollableSettings: VirtualizationSettings;
25
39
  get pivotGridId(): string;
26
- private dataChangeSubs;
27
- constructor(dataService: PivotGridDataService);
40
+ get columnVirtualization(): boolean;
41
+ get rowVirtualization(): boolean;
42
+ private subs;
43
+ private scrollable;
44
+ constructor(host: ElementRef, dataService: PivotGridDataService, localization: LocalizationService, zone: NgZone, scrollService: PivotGridScrollService);
28
45
  ngOnInit(): void;
46
+ ngAfterViewInit(): void;
29
47
  ngOnDestroy(): void;
48
+ private colsUpdateCallback;
49
+ private initScrollable;
50
+ private initScrollableKeyboardNavigation;
30
51
  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>;
52
+ 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
53
  }
@@ -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.1',
9
+ '@progress/kendo-angular-dialog': '16.6.0-develop.11',
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.1'
13
+ '@progress/kendo-angular-navigation': '16.6.0-develop.11'
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,15 @@
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 type { PivotGridComponent } from '../pivotgrid.component';
6
+ import * as i0 from "@angular/core";
7
+ /**
8
+ * @hidden
9
+ */
10
+ export declare class PivotGridScrollService {
11
+ virtualScrolling: boolean;
12
+ pivotGrid: PivotGridComponent;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<PivotGridScrollService, never>;
14
+ static ɵprov: i0.ɵɵInjectableDeclaration<PivotGridScrollService>;
15
+ }
@@ -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
+ }