@progress/kendo-angular-pivotgrid 16.5.0 → 16.6.0-develop.10

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.
Files changed (76) hide show
  1. package/NOTICE.txt +12 -19
  2. package/configurator/chip-kb-nav.directive.d.ts +1 -1
  3. package/configurator/chip-menu/chip-menu-container.component.d.ts +1 -1
  4. package/configurator/chip-menu/chip-menu-filter.component.d.ts +1 -1
  5. package/configurator/chip-menu/chip-menu-item-content-template.directive.d.ts +1 -1
  6. package/configurator/chip-menu/chip-menu-item.component.d.ts +1 -1
  7. package/configurator/chip-menu/chip-menu-item.directive.d.ts +1 -1
  8. package/configurator/chip-menu/chip-menu-reorder.component.d.ts +1 -1
  9. package/configurator/chip-menu/chip-menu-sort.component.d.ts +1 -1
  10. package/configurator/chip-menu/chip-menu.component.d.ts +1 -1
  11. package/configurator/chip-menu/filtering/filter-menu-container.component.d.ts +1 -1
  12. package/configurator/chip-menu/filtering/filter-menu-dropdownlist.directive.d.ts +1 -1
  13. package/configurator/chip-menu/filtering/string-filter-menu.component.d.ts +1 -1
  14. package/configurator/configurator.component.d.ts +1 -1
  15. package/configurator/draggable.directive.d.ts +1 -1
  16. package/configurator/drop-target.directive.d.ts +1 -1
  17. package/data-binding/local-binding.directive.d.ts +1 -1
  18. package/data-binding/olap-binding.directive.d.ts +1 -1
  19. package/directives.d.ts +42 -0
  20. package/esm2020/configurator/chip-kb-nav.directive.mjs +5 -2
  21. package/esm2020/configurator/chip-menu/chip-menu-container.component.mjs +3 -2
  22. package/esm2020/configurator/chip-menu/chip-menu-filter.component.mjs +8 -6
  23. package/esm2020/configurator/chip-menu/chip-menu-item-content-template.directive.mjs +3 -2
  24. package/esm2020/configurator/chip-menu/chip-menu-item.component.mjs +7 -5
  25. package/esm2020/configurator/chip-menu/chip-menu-item.directive.mjs +5 -2
  26. package/esm2020/configurator/chip-menu/chip-menu-reorder.component.mjs +7 -5
  27. package/esm2020/configurator/chip-menu/chip-menu-sort.component.mjs +6 -4
  28. package/esm2020/configurator/chip-menu/chip-menu.component.mjs +12 -10
  29. package/esm2020/configurator/chip-menu/filtering/filter-menu-container.component.mjs +10 -7
  30. package/esm2020/configurator/chip-menu/filtering/filter-menu-dropdownlist.directive.mjs +5 -2
  31. package/esm2020/configurator/chip-menu/filtering/string-filter-menu.component.mjs +9 -7
  32. package/esm2020/configurator/configurator.component.mjs +18 -14
  33. package/esm2020/configurator/draggable.directive.mjs +3 -2
  34. package/esm2020/configurator/drop-target.directive.mjs +3 -2
  35. package/esm2020/data-binding/local-binding.directive.mjs +3 -2
  36. package/esm2020/data-binding/olap-binding.directive.mjs +3 -2
  37. package/esm2020/directives.mjs +81 -0
  38. package/esm2020/index.mjs +1 -0
  39. package/esm2020/localization/custom-messages.component.mjs +3 -2
  40. package/esm2020/localization/localized-messages.directive.mjs +3 -2
  41. package/esm2020/models/virtualization-settings.mjs +25 -0
  42. package/esm2020/package-metadata.mjs +2 -2
  43. package/esm2020/pivotgrid.component.mjs +43 -14
  44. package/esm2020/pivotgrid.module.mjs +83 -94
  45. package/esm2020/rendering/pivotgrid-cell.directive.mjs +78 -77
  46. package/esm2020/rendering/pivotgrid-table.component.mjs +192 -33
  47. package/esm2020/rendering/templates/pivotgrid-cell-template.directive.mjs +3 -2
  48. package/esm2020/rendering/templates/pivotgrid-column-header-cell-template.directive.mjs +3 -2
  49. package/esm2020/rendering/templates/pivotgrid-row-header-cell-template.directive.mjs +3 -2
  50. package/esm2020/rendering/templates/pivotgrid-value-cell-template.directive.mjs +3 -2
  51. package/esm2020/util.mjs +30 -5
  52. package/esm2020/virtual/scroll.service.mjs +19 -0
  53. package/esm2020/virtual/scrollable-container.mjs +114 -0
  54. package/fesm2015/progress-kendo-angular-pivotgrid.mjs +3104 -2781
  55. package/fesm2020/progress-kendo-angular-pivotgrid.mjs +3600 -3283
  56. package/index.d.ts +1 -0
  57. package/localization/custom-messages.component.d.ts +1 -1
  58. package/localization/localized-messages.directive.d.ts +1 -1
  59. package/models/virtualization-settings.d.ts +34 -0
  60. package/package.json +12 -12
  61. package/pivotgrid.component.d.ts +19 -5
  62. package/pivotgrid.module.d.ts +57 -23
  63. package/rendering/pivotgrid-cell.directive.d.ts +1 -1
  64. package/rendering/pivotgrid-table.component.d.ts +25 -4
  65. package/rendering/templates/pivotgrid-cell-template.directive.d.ts +1 -1
  66. package/rendering/templates/pivotgrid-column-header-cell-template.directive.d.ts +1 -1
  67. package/rendering/templates/pivotgrid-row-header-cell-template.directive.d.ts +1 -1
  68. package/rendering/templates/pivotgrid-value-cell-template.directive.d.ts +1 -1
  69. package/schematics/ngAdd/index.js +2 -2
  70. package/util.d.ts +7 -0
  71. package/virtual/scroll.service.d.ts +15 -0
  72. package/virtual/scrollable-container.d.ts +35 -0
  73. package/configurator/chip-menu/chip-menu.module.d.ts +0 -27
  74. package/esm2020/configurator/chip-menu/chip-menu.module.mjs +0 -86
  75. package/esm2020/shared.module.mjs +0 -45
  76. package/shared.module.d.ts +0 -18
package/index.d.ts CHANGED
@@ -2,6 +2,7 @@
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
+ export * from './directives';
5
6
  export { PivotGridComponent } from './pivotgrid.component';
6
7
  export { PivotGridModule } from './pivotgrid.module';
7
8
  export { PivotGridCellDirective } from './rendering/pivotgrid-cell.directive';
@@ -14,5 +14,5 @@ export declare class CustomMessagesComponent extends PivotGridMessages {
14
14
  constructor(service: LocalizationService);
15
15
  protected get override(): boolean;
16
16
  static ɵfac: i0.ɵɵFactoryDeclaration<CustomMessagesComponent, never>;
17
- static ɵcmp: i0.ɵɵComponentDeclaration<CustomMessagesComponent, "kendo-pivotgrid-messages", never, {}, {}, never, never, false, never>;
17
+ static ɵcmp: i0.ɵɵComponentDeclaration<CustomMessagesComponent, "kendo-pivotgrid-messages", never, {}, {}, never, never, true, never>;
18
18
  }
@@ -12,5 +12,5 @@ export declare class LocalizedMessagesDirective extends PivotGridMessages {
12
12
  protected service: LocalizationService;
13
13
  constructor(service: LocalizationService);
14
14
  static ɵfac: i0.ɵɵFactoryDeclaration<LocalizedMessagesDirective, never>;
15
- static ɵdir: i0.ɵɵDirectiveDeclaration<LocalizedMessagesDirective, "[kendoPivotGridLocalizedMessages]", never, {}, {}, never, never, false, never>;
15
+ static ɵdir: i0.ɵɵDirectiveDeclaration<LocalizedMessagesDirective, "[kendoPivotGridLocalizedMessages]", never, {}, {}, never, never, true, never>;
16
16
  }
@@ -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.5.0",
3
+ "version": "16.6.0-develop.10",
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.5.0",
29
- "@progress/kendo-angular-common": "16.5.0",
30
- "@progress/kendo-angular-dropdowns": "16.5.0",
31
- "@progress/kendo-angular-indicators": "16.5.0",
32
- "@progress/kendo-angular-inputs": "16.5.0",
33
- "@progress/kendo-angular-intl": "16.5.0",
34
- "@progress/kendo-angular-l10n": "16.5.0",
35
- "@progress/kendo-angular-popup": "16.5.0",
36
- "@progress/kendo-angular-icons": "16.5.0",
37
- "@progress/kendo-angular-treeview": "16.5.0",
28
+ "@progress/kendo-angular-buttons": "16.6.0-develop.10",
29
+ "@progress/kendo-angular-common": "16.6.0-develop.10",
30
+ "@progress/kendo-angular-dropdowns": "16.6.0-develop.10",
31
+ "@progress/kendo-angular-indicators": "16.6.0-develop.10",
32
+ "@progress/kendo-angular-inputs": "16.6.0-develop.10",
33
+ "@progress/kendo-angular-intl": "16.6.0-develop.10",
34
+ "@progress/kendo-angular-l10n": "16.6.0-develop.10",
35
+ "@progress/kendo-angular-popup": "16.6.0-develop.10",
36
+ "@progress/kendo-angular-icons": "16.6.0-develop.10",
37
+ "@progress/kendo-angular-treeview": "16.6.0-develop.10",
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.5.0",
42
+ "@progress/kendo-angular-schematics": "16.6.0-develop.10",
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, false, 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
  }
@@ -3,32 +3,66 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import * as i0 from "@angular/core";
6
- import * as i1 from "./pivotgrid.component";
7
- import * as i2 from "./rendering/pivotgrid-table.component";
8
- import * as i3 from "./configurator/configurator.component";
9
- import * as i4 from "./rendering/pivotgrid-cell.directive";
10
- import * as i5 from "./data-binding/local-binding.directive";
11
- import * as i6 from "./data-binding/olap-binding.directive";
12
- import * as i7 from "./configurator/draggable.directive";
13
- import * as i8 from "./configurator/drop-target.directive";
14
- import * as i9 from "./localization/localized-messages.directive";
15
- import * as i10 from "./localization/custom-messages.component";
16
- import * as i11 from "./configurator/chip-kb-nav.directive";
17
- import * as i12 from "./rendering/templates/pivotgrid-cell-template.directive";
18
- import * as i13 from "./rendering/templates/pivotgrid-value-cell-template.directive";
19
- import * as i14 from "./rendering/templates/pivotgrid-row-header-cell-template.directive";
20
- import * as i15 from "./rendering/templates/pivotgrid-column-header-cell-template.directive";
21
- import * as i16 from "@progress/kendo-angular-common";
22
- import * as i17 from "@progress/kendo-angular-indicators";
23
- import * as i18 from "@progress/kendo-angular-treeview";
24
- import * as i19 from "./configurator/chip-menu/chip-menu.module";
25
- import * as i20 from "./shared.module";
26
- import * as i21 from "@progress/kendo-angular-icons";
6
+ import * as i1 from "./configurator/chip-menu/chip-menu-item.component";
7
+ import * as i2 from "./configurator/chip-menu/chip-menu-sort.component";
8
+ import * as i3 from "./configurator/chip-menu/chip-menu.component";
9
+ import * as i4 from "./configurator/chip-menu/chip-menu-filter.component";
10
+ import * as i5 from "./configurator/chip-menu/chip-menu-item-content-template.directive";
11
+ import * as i6 from "./configurator/chip-menu/filtering/filter-menu-container.component";
12
+ import * as i7 from "./configurator/chip-menu/filtering/string-filter-menu.component";
13
+ import * as i8 from "./configurator/chip-menu/filtering/filter-menu-dropdownlist.directive";
14
+ import * as i9 from "./configurator/chip-menu/chip-menu-container.component";
15
+ import * as i10 from "./configurator/chip-menu/chip-menu-item.directive";
16
+ import * as i11 from "./configurator/chip-menu/chip-menu-reorder.component";
17
+ import * as i12 from "./pivotgrid.component";
18
+ import * as i13 from "./rendering/pivotgrid-table.component";
19
+ import * as i14 from "./configurator/configurator.component";
20
+ import * as i15 from "./rendering/pivotgrid-cell.directive";
21
+ import * as i16 from "./data-binding/local-binding.directive";
22
+ import * as i17 from "./data-binding/olap-binding.directive";
23
+ import * as i18 from "./configurator/draggable.directive";
24
+ import * as i19 from "./configurator/drop-target.directive";
25
+ import * as i20 from "./localization/localized-messages.directive";
26
+ import * as i21 from "./localization/custom-messages.component";
27
+ import * as i22 from "./configurator/chip-kb-nav.directive";
28
+ import * as i23 from "./rendering/templates/pivotgrid-cell-template.directive";
29
+ import * as i24 from "./rendering/templates/pivotgrid-value-cell-template.directive";
30
+ import * as i25 from "./rendering/templates/pivotgrid-row-header-cell-template.directive";
31
+ import * as i26 from "./rendering/templates/pivotgrid-column-header-cell-template.directive";
32
+ import * as i27 from "@angular/forms";
27
33
  /**
28
- * Sample module
34
+ * Represents the [NgModule](link:site.data.urls.angular['ngmoduleapi'])
35
+ * definition for the PivotGrid component.
36
+ *
37
+ * @example
38
+ *
39
+ * ```ts-no-run
40
+ * // Import the PivotGrid module
41
+ * import { PivotGrid } from '@progress/kendo-angular-pivotgrid';
42
+ *
43
+ * // The browser platform with a compiler
44
+ * import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
45
+ *
46
+ * import { NgModule } from '@angular/core';
47
+ *
48
+ * // Import the app component
49
+ * import { AppComponent } from './app.component';
50
+ *
51
+ * // Define the app module
52
+ * _@NgModule({
53
+ * declarations: [AppComponent], // declare app component
54
+ * imports: [BrowserModule, PivotGridModule], // import PivotGrid module
55
+ * bootstrap: [AppComponent]
56
+ * })
57
+ * export class AppModule {}
58
+ *
59
+ * // Compile and launch the module
60
+ * platformBrowserDynamic().bootstrapModule(AppModule);
61
+ *
62
+ * ```
29
63
  */
30
64
  export declare class PivotGridModule {
31
65
  static ɵfac: i0.ɵɵFactoryDeclaration<PivotGridModule, never>;
32
- static ɵmod: i0.ɵɵNgModuleDeclaration<PivotGridModule, [typeof i1.PivotGridComponent, typeof i2.PivotGridTableComponent, typeof i3.PivotGridConfiguratorComponent, typeof i4.PivotGridCellDirective, typeof i5.PivotLocalBindingDirective, typeof i6.PivotOLAPBindingDirective, typeof i7.DraggableChipDirective, typeof i8.DropTargetDirective, typeof i9.LocalizedMessagesDirective, typeof i10.CustomMessagesComponent, typeof i11.ChipKeyboardNavigationDirective, typeof i12.CellTemplateDirective, typeof i13.ValueCellTemplateDirective, typeof i14.RowHeaderCellTemplateDirective, typeof i15.ColumnHeaderCellTemplateDirective], [typeof i16.EventsModule, typeof i17.IndicatorsModule, typeof i18.TreeViewModule, typeof i16.DraggableModule, typeof i19.ChipMenuModule, typeof i20.SharedModule, typeof i21.IconsModule], [typeof i1.PivotGridComponent, typeof i2.PivotGridTableComponent, typeof i4.PivotGridCellDirective, typeof i5.PivotLocalBindingDirective, typeof i6.PivotOLAPBindingDirective, typeof i10.CustomMessagesComponent, typeof i12.CellTemplateDirective, typeof i13.ValueCellTemplateDirective, typeof i14.RowHeaderCellTemplateDirective, typeof i15.ColumnHeaderCellTemplateDirective]>;
66
+ static ɵmod: i0.ɵɵNgModuleDeclaration<PivotGridModule, never, [typeof i1.ChipMenuItemComponent, typeof i2.ChipMenuSortComponent, typeof i3.ChipMenuComponent, typeof i4.ChipMenuFilterComponent, typeof i5.ChipMenuItemContentTemplateDirective, typeof i6.FilterMenuContainerComponent, typeof i7.StringFilterMenuComponent, typeof i8.FilterMenuDropDownListDirective, typeof i9.ChipMenuContainerComponent, typeof i10.ChipMenuItemDirective, typeof i11.ChipMenuReorderComponent, typeof i12.PivotGridComponent, typeof i13.PivotGridTableComponent, typeof i14.PivotGridConfiguratorComponent, typeof i15.PivotGridCellDirective, typeof i16.PivotLocalBindingDirective, typeof i17.PivotOLAPBindingDirective, typeof i18.DraggableChipDirective, typeof i19.DropTargetDirective, typeof i20.LocalizedMessagesDirective, typeof i21.CustomMessagesComponent, typeof i22.ChipKeyboardNavigationDirective, typeof i23.CellTemplateDirective, typeof i24.ValueCellTemplateDirective, typeof i25.RowHeaderCellTemplateDirective, typeof i26.ColumnHeaderCellTemplateDirective, typeof i27.FormsModule, typeof i27.ReactiveFormsModule], [typeof i12.PivotGridComponent, typeof i13.PivotGridTableComponent, typeof i15.PivotGridCellDirective, typeof i16.PivotLocalBindingDirective, typeof i17.PivotOLAPBindingDirective, typeof i21.CustomMessagesComponent, typeof i23.CellTemplateDirective, typeof i24.ValueCellTemplateDirective, typeof i25.RowHeaderCellTemplateDirective, typeof i26.ColumnHeaderCellTemplateDirective]>;
33
67
  static ɵinj: i0.ɵɵInjectorDeclaration<PivotGridModule>;
34
68
  }
@@ -34,5 +34,5 @@ export declare class PivotGridCellDirective {
34
34
  ngOnInit(): void;
35
35
  handleClick: () => void;
36
36
  static ɵfac: i0.ɵɵFactoryDeclaration<PivotGridCellDirective, never>;
37
- static ɵcmp: i0.ɵɵComponentDeclaration<PivotGridCellDirective, "[kendoPivotGridCell]", never, { "kendoPivotGridCell": "kendoPivotGridCell"; "tableType": "tableType"; "rowIndex": "rowIndex"; "colIndex": "colIndex"; "customCellTemplate": "customCellTemplate"; "valueCellTemplate": "valueCellTemplate"; "rowHeaderCellTemplate": "rowHeaderCellTemplate"; "columnHeaderCellTemplate": "columnHeaderCellTemplate"; }, {}, never, never, false, never>;
37
+ static ɵcmp: i0.ɵɵComponentDeclaration<PivotGridCellDirective, "[kendoPivotGridCell]", never, { "kendoPivotGridCell": "kendoPivotGridCell"; "tableType": "tableType"; "rowIndex": "rowIndex"; "colIndex": "colIndex"; "customCellTemplate": "customCellTemplate"; "valueCellTemplate": "valueCellTemplate"; "rowHeaderCellTemplate": "rowHeaderCellTemplate"; "columnHeaderCellTemplate": "columnHeaderCellTemplate"; }, {}, never, never, true, never>;
38
38
  }
@@ -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, false, 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
  }
@@ -30,5 +30,5 @@ export declare class CellTemplateDirective {
30
30
  templateRef: TemplateRef<any>;
31
31
  constructor(templateRef: TemplateRef<any>);
32
32
  static ɵfac: i0.ɵɵFactoryDeclaration<CellTemplateDirective, never>;
33
- static ɵdir: i0.ɵɵDirectiveDeclaration<CellTemplateDirective, "[kendoPivotGridCellTemplate]", never, {}, {}, never, never, false, never>;
33
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CellTemplateDirective, "[kendoPivotGridCellTemplate]", never, {}, {}, never, never, true, never>;
34
34
  }
@@ -30,5 +30,5 @@ export declare class ColumnHeaderCellTemplateDirective {
30
30
  templateRef: TemplateRef<any>;
31
31
  constructor(templateRef: TemplateRef<any>);
32
32
  static ɵfac: i0.ɵɵFactoryDeclaration<ColumnHeaderCellTemplateDirective, never>;
33
- static ɵdir: i0.ɵɵDirectiveDeclaration<ColumnHeaderCellTemplateDirective, "[kendoPivotGridColumnHeaderCellTemplate]", never, {}, {}, never, never, false, never>;
33
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ColumnHeaderCellTemplateDirective, "[kendoPivotGridColumnHeaderCellTemplate]", never, {}, {}, never, never, true, never>;
34
34
  }
@@ -30,5 +30,5 @@ export declare class RowHeaderCellTemplateDirective {
30
30
  templateRef: TemplateRef<any>;
31
31
  constructor(templateRef: TemplateRef<any>);
32
32
  static ɵfac: i0.ɵɵFactoryDeclaration<RowHeaderCellTemplateDirective, never>;
33
- static ɵdir: i0.ɵɵDirectiveDeclaration<RowHeaderCellTemplateDirective, "[kendoPivotGridRowHeaderCellTemplate]", never, {}, {}, never, never, false, never>;
33
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RowHeaderCellTemplateDirective, "[kendoPivotGridRowHeaderCellTemplate]", never, {}, {}, never, never, true, never>;
34
34
  }
@@ -29,5 +29,5 @@ export declare class ValueCellTemplateDirective {
29
29
  templateRef: TemplateRef<any>;
30
30
  constructor(templateRef: TemplateRef<any>);
31
31
  static ɵfac: i0.ɵɵFactoryDeclaration<ValueCellTemplateDirective, never>;
32
- static ɵdir: i0.ɵɵDirectiveDeclaration<ValueCellTemplateDirective, "[kendoPivotGridValueCellTemplate]", never, {}, {}, never, never, false, never>;
32
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ValueCellTemplateDirective, "[kendoPivotGridValueCellTemplate]", never, {}, {}, never, never, true, never>;
33
33
  }
@@ -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.5.0',
9
+ '@progress/kendo-angular-dialog': '16.6.0-develop.10',
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.5.0'
13
+ '@progress/kendo-angular-navigation': '16.6.0-develop.10'
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
+ }
@@ -1,27 +0,0 @@
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
- import * as i1 from "./chip-menu-item.component";
7
- import * as i2 from "./chip-menu-sort.component";
8
- import * as i3 from "./chip-menu.component";
9
- import * as i4 from "./chip-menu-filter.component";
10
- import * as i5 from "./chip-menu-item-content-template.directive";
11
- import * as i6 from "./filtering/filter-menu-container.component";
12
- import * as i7 from "./filtering/string-filter-menu.component";
13
- import * as i8 from "./filtering/filter-menu-dropdownlist.directive";
14
- import * as i9 from "./chip-menu-container.component";
15
- import * as i10 from "./chip-menu-item.directive";
16
- import * as i11 from "./chip-menu-reorder.component";
17
- import * as i12 from "../../shared.module";
18
- import * as i13 from "@angular/forms";
19
- /**
20
- * @hidden
21
- */
22
- export declare class ChipMenuModule {
23
- static exports(): any[];
24
- static ɵfac: i0.ɵɵFactoryDeclaration<ChipMenuModule, never>;
25
- static ɵmod: i0.ɵɵNgModuleDeclaration<ChipMenuModule, [typeof i1.ChipMenuItemComponent, typeof i2.ChipMenuSortComponent, typeof i3.ChipMenuComponent, typeof i4.ChipMenuFilterComponent, typeof i5.ChipMenuItemContentTemplateDirective, typeof i6.FilterMenuContainerComponent, typeof i7.StringFilterMenuComponent, typeof i8.FilterMenuDropDownListDirective, typeof i9.ChipMenuContainerComponent, typeof i10.ChipMenuItemDirective, typeof i11.ChipMenuReorderComponent], [typeof i12.SharedModule, typeof i13.ReactiveFormsModule, typeof i13.FormsModule], [typeof i1.ChipMenuItemComponent, typeof i2.ChipMenuSortComponent, typeof i3.ChipMenuComponent, typeof i4.ChipMenuFilterComponent, typeof i5.ChipMenuItemContentTemplateDirective, typeof i6.FilterMenuContainerComponent, typeof i7.StringFilterMenuComponent, typeof i8.FilterMenuDropDownListDirective, typeof i9.ChipMenuContainerComponent, typeof i10.ChipMenuItemDirective, typeof i11.ChipMenuReorderComponent]>;
26
- static ɵinj: i0.ɵɵInjectorDeclaration<ChipMenuModule>;
27
- }
@@ -1,86 +0,0 @@
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 { NgModule } from '@angular/core';
6
- import { ChipMenuItemComponent } from './chip-menu-item.component';
7
- import { ChipMenuSortComponent } from './chip-menu-sort.component';
8
- import { ChipMenuComponent } from './chip-menu.component';
9
- import { ChipMenuContainerComponent } from './chip-menu-container.component';
10
- import { ChipMenuItemDirective } from './chip-menu-item.directive';
11
- import { ChipMenuFilterComponent } from './chip-menu-filter.component';
12
- import { ChipMenuItemContentTemplateDirective } from './chip-menu-item-content-template.directive';
13
- import { FilterMenuContainerComponent } from './filtering/filter-menu-container.component';
14
- import { StringFilterMenuComponent } from './filtering/string-filter-menu.component';
15
- import { FilterMenuDropDownListDirective } from './filtering/filter-menu-dropdownlist.directive';
16
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
17
- import { SharedModule } from '../../shared.module';
18
- import { ChipMenuReorderComponent } from './chip-menu-reorder.component';
19
- import * as i0 from "@angular/core";
20
- const COMPONENTS = [
21
- ChipMenuItemComponent,
22
- ChipMenuSortComponent,
23
- ChipMenuComponent,
24
- ChipMenuFilterComponent,
25
- ChipMenuItemContentTemplateDirective,
26
- FilterMenuContainerComponent,
27
- StringFilterMenuComponent,
28
- FilterMenuDropDownListDirective,
29
- ChipMenuContainerComponent,
30
- ChipMenuItemDirective,
31
- ChipMenuReorderComponent
32
- ];
33
- /**
34
- * @hidden
35
- */
36
- export class ChipMenuModule {
37
- static exports() {
38
- return [
39
- ChipMenuItemComponent,
40
- ChipMenuSortComponent,
41
- ChipMenuReorderComponent,
42
- ChipMenuContainerComponent,
43
- ChipMenuItemDirective,
44
- ChipMenuComponent
45
- ];
46
- }
47
- }
48
- ChipMenuModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChipMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
49
- ChipMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: ChipMenuModule, declarations: [ChipMenuItemComponent,
50
- ChipMenuSortComponent,
51
- ChipMenuComponent,
52
- ChipMenuFilterComponent,
53
- ChipMenuItemContentTemplateDirective,
54
- FilterMenuContainerComponent,
55
- StringFilterMenuComponent,
56
- FilterMenuDropDownListDirective,
57
- ChipMenuContainerComponent,
58
- ChipMenuItemDirective,
59
- ChipMenuReorderComponent], imports: [SharedModule,
60
- ReactiveFormsModule,
61
- FormsModule], exports: [ChipMenuItemComponent,
62
- ChipMenuSortComponent,
63
- ChipMenuComponent,
64
- ChipMenuFilterComponent,
65
- ChipMenuItemContentTemplateDirective,
66
- FilterMenuContainerComponent,
67
- StringFilterMenuComponent,
68
- FilterMenuDropDownListDirective,
69
- ChipMenuContainerComponent,
70
- ChipMenuItemDirective,
71
- ChipMenuReorderComponent] });
72
- ChipMenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChipMenuModule, imports: [SharedModule,
73
- ReactiveFormsModule,
74
- FormsModule] });
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChipMenuModule, decorators: [{
76
- type: NgModule,
77
- args: [{
78
- declarations: [COMPONENTS],
79
- imports: [
80
- SharedModule,
81
- ReactiveFormsModule,
82
- FormsModule
83
- ],
84
- exports: [COMPONENTS]
85
- }]
86
- }] });
@@ -1,45 +0,0 @@
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 { NgModule } from '@angular/core';
6
- import { CommonModule } from '@angular/common';
7
- import { DropDownsModule } from '@progress/kendo-angular-dropdowns';
8
- import { InputsModule } from '@progress/kendo-angular-inputs';
9
- import { ButtonsModule } from '@progress/kendo-angular-buttons';
10
- import { IconsModule } from '@progress/kendo-angular-icons';
11
- import * as i0 from "@angular/core";
12
- const MODULES = [
13
- CommonModule,
14
- DropDownsModule,
15
- InputsModule,
16
- IconsModule,
17
- ButtonsModule
18
- ];
19
- /**
20
- * @hidden
21
- */
22
- export class SharedModule {
23
- }
24
- SharedModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
25
- SharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: SharedModule, imports: [CommonModule,
26
- DropDownsModule,
27
- InputsModule,
28
- IconsModule,
29
- ButtonsModule], exports: [CommonModule,
30
- DropDownsModule,
31
- InputsModule,
32
- IconsModule,
33
- ButtonsModule] });
34
- SharedModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SharedModule, imports: [MODULES, CommonModule,
35
- DropDownsModule,
36
- InputsModule,
37
- IconsModule,
38
- ButtonsModule] });
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SharedModule, decorators: [{
40
- type: NgModule,
41
- args: [{
42
- imports: [MODULES],
43
- exports: [MODULES]
44
- }]
45
- }] });
@@ -1,18 +0,0 @@
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
- import * as i1 from "@angular/common";
7
- import * as i2 from "@progress/kendo-angular-dropdowns";
8
- import * as i3 from "@progress/kendo-angular-inputs";
9
- import * as i4 from "@progress/kendo-angular-icons";
10
- import * as i5 from "@progress/kendo-angular-buttons";
11
- /**
12
- * @hidden
13
- */
14
- export declare class SharedModule {
15
- static ɵfac: i0.ɵɵFactoryDeclaration<SharedModule, never>;
16
- static ɵmod: i0.ɵɵNgModuleDeclaration<SharedModule, never, [typeof i1.CommonModule, typeof i2.DropDownsModule, typeof i3.InputsModule, typeof i4.IconsModule, typeof i5.ButtonsModule], [typeof i1.CommonModule, typeof i2.DropDownsModule, typeof i3.InputsModule, typeof i4.IconsModule, typeof i5.ButtonsModule]>;
17
- static ɵinj: i0.ɵɵInjectorDeclaration<SharedModule>;
18
- }