ng-virtual-list 17.7.13 → 17.7.15

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 (34) hide show
  1. package/README.md +29 -9
  2. package/esm2022/lib/components/ng-virtual-list-item.component.mjs +41 -19
  3. package/esm2022/lib/const/index.mjs +3 -2
  4. package/esm2022/lib/enums/collection-mode.mjs +2 -0
  5. package/esm2022/lib/enums/collection-modes.mjs +18 -0
  6. package/esm2022/lib/enums/focus-alignments.mjs +14 -0
  7. package/esm2022/lib/enums/index.mjs +4 -2
  8. package/esm2022/lib/models/display-object-config.model.mjs +2 -0
  9. package/esm2022/lib/models/display-object-measures.model.mjs +2 -0
  10. package/esm2022/lib/models/index.mjs +1 -1
  11. package/esm2022/lib/ng-virtual-list.component.mjs +103 -22
  12. package/esm2022/lib/ng-virtual-list.service.mjs +6 -5
  13. package/esm2022/lib/types/focus-alignment.mjs +2 -0
  14. package/esm2022/lib/types/index.mjs +1 -1
  15. package/esm2022/lib/utils/isCollectionMode.mjs +15 -0
  16. package/esm2022/lib/utils/trackBox.mjs +45 -16
  17. package/fesm2022/ng-virtual-list.mjs +231 -54
  18. package/fesm2022/ng-virtual-list.mjs.map +1 -1
  19. package/lib/components/ng-virtual-list-item.component.d.ts +7 -35
  20. package/lib/const/index.d.ts +2 -1
  21. package/lib/enums/collection-mode.d.ts +8 -0
  22. package/lib/enums/collection-modes.d.ts +16 -0
  23. package/lib/enums/focus-alignments.d.ts +12 -0
  24. package/lib/enums/index.d.ts +5 -2
  25. package/lib/models/display-object-config.model.d.ts +35 -0
  26. package/lib/models/display-object-measures.model.d.ts +13 -0
  27. package/lib/models/index.d.ts +3 -1
  28. package/lib/ng-virtual-list.component.d.ts +16 -3
  29. package/lib/ng-virtual-list.service.d.ts +4 -4
  30. package/lib/types/focus-alignment.d.ts +8 -0
  31. package/lib/types/index.d.ts +2 -1
  32. package/lib/utils/isCollectionMode.d.ts +8 -0
  33. package/lib/utils/trackBox.d.ts +17 -9
  34. package/package.json +1 -1
@@ -1,34 +1,10 @@
1
1
  import { TemplateRef } from '@angular/core';
2
2
  import { IRenderVirtualListItem } from '../models/render-item.model';
3
- import { Id, IRect, ISize } from '../types';
3
+ import { Id, ISize } from '../types';
4
4
  import { BaseVirtualListItemComponent } from '../models/base-virtual-list-item-component';
5
5
  import { NgVirtualListService } from '../ng-virtual-list.service';
6
- import { IRenderVirtualListItemConfig } from '../models/render-item-config.model';
6
+ import { IDisplayObjectConfig, IDisplayObjectMeasures } from '../models';
7
7
  import * as i0 from "@angular/core";
8
- interface IItemConfig extends IRenderVirtualListItemConfig {
9
- /**
10
- * Determines whether the element has focus or not.
11
- */
12
- focus: boolean;
13
- /**
14
- * Determines whether the element is selected or not.
15
- */
16
- selected: boolean;
17
- /**
18
- * Determines whether the element is collapsed or not.
19
- */
20
- collapsed: boolean;
21
- /**
22
- * Selects a list item
23
- * @param selected - If the value is undefined, then the toggle method is executed, if false or true, then the selection/deselection is performed.
24
- */
25
- select: (selected: boolean | undefined) => void;
26
- /**
27
- * Collapse list items
28
- * @param collapsed - If the value is undefined, then the toggle method is executed, if false or true, then the collapse/expand is performed.
29
- */
30
- collapse: (collapsed: boolean | undefined) => void;
31
- }
32
8
  /**
33
9
  * Virtual list item component
34
10
  * @link https://github.com/DjonnyX/ng-virtual-list/blob/17.x/projects/ng-virtual-list/src/lib/components/ng-virtual-list-item.component.ts
@@ -42,14 +18,9 @@ export declare class NgVirtualListItemComponent extends BaseVirtualListItemCompo
42
18
  protected _service: NgVirtualListService;
43
19
  private _isSelected;
44
20
  private _isCollapsed;
45
- config: import("@angular/core").WritableSignal<IItemConfig>;
46
- measures: import("@angular/core").WritableSignal<(IRect & {
47
- /**
48
- * Delta is calculated for Snapping Method.ADVANCED
49
- */
50
- delta: number;
51
- }) | undefined>;
52
- focus: import("@angular/core").WritableSignal<boolean>;
21
+ config: import("@angular/core").WritableSignal<IDisplayObjectConfig>;
22
+ measures: import("@angular/core").WritableSignal<IDisplayObjectMeasures | undefined>;
23
+ focused: import("@angular/core").WritableSignal<boolean>;
53
24
  part: import("@angular/core").WritableSignal<string>;
54
25
  regular: boolean;
55
26
  data: import("@angular/core").WritableSignal<IRenderVirtualListItem<any> | undefined>;
@@ -65,9 +36,11 @@ export declare class NgVirtualListItemComponent extends BaseVirtualListItemCompo
65
36
  get element(): HTMLElement;
66
37
  private _selectHandler;
67
38
  private _collapseHandler;
39
+ private _focusHandler;
68
40
  constructor();
69
41
  private focusNext;
70
42
  private focusPrev;
43
+ private focus;
71
44
  private updateMeasures;
72
45
  private updateConfig;
73
46
  private update;
@@ -79,4 +52,3 @@ export declare class NgVirtualListItemComponent extends BaseVirtualListItemCompo
79
52
  static ɵfac: i0.ɵɵFactoryDeclaration<NgVirtualListItemComponent, never>;
80
53
  static ɵcmp: i0.ɵɵComponentDeclaration<NgVirtualListItemComponent, "ng-virtual-list-item", never, {}, {}, never, never, false, never>;
81
54
  }
82
- export {};
@@ -1,4 +1,4 @@
1
- import { MethodsForSelecting, SnappingMethods } from "../enums";
1
+ import { CollectionModes, MethodsForSelecting, SnappingMethods } from "../enums";
2
2
  import { Directions } from "../enums/directions";
3
3
  export declare const DEFAULT_ITEM_SIZE = 24;
4
4
  export declare const DEFAULT_BUFFER_SIZE = 2;
@@ -11,6 +11,7 @@ export declare const DEFAULT_ENABLED_BUFFER_OPTIMIZATION = false;
11
11
  export declare const DEFAULT_DYNAMIC_SIZE = false;
12
12
  export declare const TRACK_BY_PROPERTY_NAME = "id";
13
13
  export declare const DEFAULT_DIRECTION = Directions.VERTICAL;
14
+ export declare const DEFAULT_COLLECTION_MODE = CollectionModes.NORMAL;
14
15
  export declare const DISPLAY_OBJECTS_LENGTH_MESUREMENT_ERROR = 1;
15
16
  export declare const MAX_SCROLL_TO_ITERATIONS = 5;
16
17
  export declare const DEFAULT_SNAPPING_METHOD = SnappingMethods.NORMAL;
@@ -0,0 +1,8 @@
1
+ import { CollectionModes } from "./collection-modes";
2
+ /**
3
+ * Action modes for collection elements.
4
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/17.x/projects/ng-virtual-list/src/lib/enums/collection-mode.ts
5
+ * @author Evgenii Grebennikov
6
+ * @email djonnyx@gmail.com
7
+ */
8
+ export type CollectionMode = CollectionModes | 'normal' | 'lazy';
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Action modes for collection elements.
3
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/17.x/projects/ng-virtual-list/src/lib/enums/collection-modes.ts
4
+ * @author Evgenii Grebennikov
5
+ * @email djonnyx@gmail.com
6
+ */
7
+ export declare enum CollectionModes {
8
+ /**
9
+ * When adding elements to the beginning of the collection, the scroll remains at the current position.
10
+ */
11
+ NORMAL = "normal",
12
+ /**
13
+ * When adding elements to the beginning of the collection, the scroll is shifted by the sum of the sizes of the new elements.
14
+ */
15
+ LAZY = "lazy"
16
+ }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Focus Alignments.
3
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/17.x/projects/ng-virtual-list/src/lib/enums/focus-alignments.ts
4
+ * @author Evgenii Grebennikov
5
+ * @email djonnyx@gmail.com
6
+ */
7
+ export declare enum FocusAlignments {
8
+ NONE = "none",
9
+ START = "start",
10
+ CENTER = "center",
11
+ END = "end"
12
+ }
@@ -1,8 +1,11 @@
1
+ import { CollectionMode } from "./collection-mode";
2
+ import { CollectionModes } from "./collection-modes";
1
3
  import { Directions } from "./directions";
2
4
  import { Direction } from "./direction";
3
5
  import { MethodsForSelecting } from "./methods-for-selecting";
4
6
  import { MethodForSelecting } from "./method-for-selecting";
5
7
  import { SnappingMethods } from "./snapping-methods";
6
8
  import { SnappingMethod } from "./snapping-method";
7
- export { Directions, MethodsForSelecting, SnappingMethods, };
8
- export type { Direction, MethodForSelecting, SnappingMethod, };
9
+ import { FocusAlignments } from "./focus-alignments";
10
+ export { CollectionModes, Directions, MethodsForSelecting, SnappingMethods, FocusAlignments, };
11
+ export type { CollectionMode, Direction, MethodForSelecting, SnappingMethod, };
@@ -0,0 +1,35 @@
1
+ import { IRenderVirtualListItemConfig } from "./render-item-config.model";
2
+ /**
3
+ * Display object configuration. A set of `select`, `collapse`, and `focus` methods are also provided.
4
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/17.x/projects/ng-virtual-list/src/lib/models/display-object-config.model.ts
5
+ * @author Evgenii Grebennikov
6
+ * @email djonnyx@gmail.com
7
+ */
8
+ export interface IDisplayObjectConfig extends IRenderVirtualListItemConfig {
9
+ /**
10
+ * Determines whether the element has focused or not.
11
+ */
12
+ focused: boolean;
13
+ /**
14
+ * Determines whether the element is selected or not.
15
+ */
16
+ selected: boolean;
17
+ /**
18
+ * Determines whether the element is collapsed or not.
19
+ */
20
+ collapsed: boolean;
21
+ /**
22
+ * Focus a list item
23
+ */
24
+ focus: () => void;
25
+ /**
26
+ * Selects a list item
27
+ * @param selected - If the value is undefined, then the toggle method is executed, if false or true, then the selection/deselection is performed.
28
+ */
29
+ select: (selected: boolean | undefined) => void;
30
+ /**
31
+ * Collapse list items
32
+ * @param collapsed - If the value is undefined, then the toggle method is executed, if false or true, then the collapse/expand is performed.
33
+ */
34
+ collapse: (collapsed: boolean | undefined) => void;
35
+ }
@@ -0,0 +1,13 @@
1
+ import { IRect } from "../types";
2
+ /**
3
+ * Display object metrics.
4
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/17.x/projects/ng-virtual-list/src/lib/models/display-object-measures.model.ts
5
+ * @author Evgenii Grebennikov
6
+ * @email djonnyx@gmail.com
7
+ */
8
+ export interface IDisplayObjectMeasures extends IRect {
9
+ /**
10
+ * Delta is calculated for Snapping Method.ADVANCED
11
+ */
12
+ delta: number;
13
+ }
@@ -4,4 +4,6 @@ import { IVirtualListItem } from './item.model';
4
4
  import { IVirtualListItemConfigMap } from './item-config-map.model';
5
5
  import { IVirtualListCollection } from './collection.model';
6
6
  import { IRenderVirtualListItem } from './render-item.model';
7
- export type { ScrollDirection, IScrollEvent, IVirtualListItem, IVirtualListItemConfigMap, IVirtualListCollection, IRenderVirtualListItem, };
7
+ import { IDisplayObjectConfig } from './display-object-config.model';
8
+ import { IDisplayObjectMeasures } from './display-object-measures.model';
9
+ export type { IDisplayObjectConfig, IDisplayObjectMeasures, IScrollEvent, IVirtualListItem, IVirtualListItemConfigMap, IVirtualListCollection, IRenderVirtualListItem, ScrollDirection, };
@@ -1,8 +1,8 @@
1
1
  import { AfterViewInit, OnDestroy, OnInit, TemplateRef, WritableSignal } from '@angular/core';
2
2
  import { Observable } from 'rxjs';
3
3
  import { IRenderVirtualListItem, IScrollEvent, IVirtualListCollection, IVirtualListItemConfigMap } from './models';
4
- import { Id, ISize } from './types';
5
- import { Direction, Directions, MethodForSelecting, SnappingMethod } from './enums';
4
+ import { FocusAlignment, Id, ISize } from './types';
5
+ import { CollectionMode, Direction, Directions, MethodForSelecting, SnappingMethod } from './enums';
6
6
  import * as i0 from "@angular/core";
7
7
  /**
8
8
  * Virtual list component.
@@ -131,6 +131,11 @@ export declare class NgVirtualListComponent implements AfterViewInit, OnInit, On
131
131
  * Determines the direction in which elements are placed. Default value is "vertical".
132
132
  */
133
133
  direction: import("@angular/core").InputSignal<Direction>;
134
+ private _collectionModeOptions;
135
+ /**
136
+ * Determines the action modes for collection elements. Default value is "normal".
137
+ */
138
+ collectionMode: import("@angular/core").InputSignal<CollectionMode>;
134
139
  private _bufferSizeOptions;
135
140
  /**
136
141
  * Number of elements outside the scope of visibility. Default value is 2.
@@ -171,6 +176,7 @@ export declare class NgVirtualListComponent implements AfterViewInit, OnInit, On
171
176
  get isMultiSelecting(): boolean;
172
177
  private _isSnappingMethodAdvanced;
173
178
  get isSnappingMethodAdvanced(): boolean;
179
+ private _isLazy;
174
180
  private _isVertical;
175
181
  get orientation(): Directions;
176
182
  readonly focusedElement: WritableSignal<Id | undefined>;
@@ -206,6 +212,8 @@ export declare class NgVirtualListComponent implements AfterViewInit, OnInit, On
206
212
  private _trackBox;
207
213
  private _onTrackBoxChangeHandler;
208
214
  private _cacheVersion;
215
+ private _isResetedReachStart;
216
+ private _onTrackBoxResetHandler;
209
217
  constructor();
210
218
  ngOnInit(): void;
211
219
  private onInit;
@@ -215,6 +223,7 @@ export declare class NgVirtualListComponent implements AfterViewInit, OnInit, On
215
223
  private getIsSingleSelecting;
216
224
  private getIsMultiSelecting;
217
225
  private getIsVertical;
226
+ private getIsLazy;
218
227
  private createDisplayComponentsIfNeed;
219
228
  private updateRegularRenderer;
220
229
  private resetRenderers;
@@ -227,6 +236,10 @@ export declare class NgVirtualListComponent implements AfterViewInit, OnInit, On
227
236
  * Returns the bounds of an element with a given id
228
237
  */
229
238
  getItemBounds(id: Id): ISize | undefined;
239
+ /**
240
+ * Focus an list item by a given id.
241
+ */
242
+ focus(id: Id, align?: FocusAlignment): void;
230
243
  /**
231
244
  * The method scrolls the list to the element with the given id and returns the value of the scrolled area.
232
245
  * Behavior accepts the values ​​"auto", "instant" and "smooth".
@@ -246,5 +259,5 @@ export declare class NgVirtualListComponent implements AfterViewInit, OnInit, On
246
259
  ngOnDestroy(): void;
247
260
  private dispose;
248
261
  static ɵfac: i0.ɵɵFactoryDeclaration<NgVirtualListComponent, never>;
249
- static ɵcmp: i0.ɵɵComponentDeclaration<NgVirtualListComponent, "ng-virtual-list", never, { "items": { "alias": "items"; "required": true; "isSignal": true; }; "selectedIds": { "alias": "selectedIds"; "required": false; "isSignal": true; }; "collapsedIds": { "alias": "collapsedIds"; "required": false; "isSignal": true; }; "selectByClick": { "alias": "selectByClick"; "required": false; "isSignal": true; }; "collapseByClick": { "alias": "collapseByClick"; "required": false; "isSignal": true; }; "snap": { "alias": "snap"; "required": false; "isSignal": true; }; "enabledBufferOptimization": { "alias": "enabledBufferOptimization"; "required": false; "isSignal": true; }; "itemRenderer": { "alias": "itemRenderer"; "required": true; "isSignal": true; }; "itemConfigMap": { "alias": "itemConfigMap"; "required": false; "isSignal": true; }; "itemSize": { "alias": "itemSize"; "required": false; "isSignal": true; }; "dynamicSize": { "alias": "dynamicSize"; "required": false; "isSignal": true; }; "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "bufferSize": { "alias": "bufferSize"; "required": false; "isSignal": true; }; "maxBufferSize": { "alias": "maxBufferSize"; "required": false; "isSignal": true; }; "snappingMethod": { "alias": "snappingMethod"; "required": false; "isSignal": true; }; "methodForSelecting": { "alias": "methodForSelecting"; "required": false; "isSignal": true; }; "trackBy": { "alias": "trackBy"; "required": false; "isSignal": true; }; }, { "onScroll": "onScroll"; "onScrollEnd": "onScrollEnd"; "onViewportChange": "onViewportChange"; "onItemClick": "onItemClick"; "onSelect": "onSelect"; "onCollapse": "onCollapse"; "onScrollReachStart": "onScrollReachStart"; "onScrollReachEnd": "onScrollReachEnd"; }, never, never, false, never>;
262
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgVirtualListComponent, "ng-virtual-list", never, { "items": { "alias": "items"; "required": true; "isSignal": true; }; "selectedIds": { "alias": "selectedIds"; "required": false; "isSignal": true; }; "collapsedIds": { "alias": "collapsedIds"; "required": false; "isSignal": true; }; "selectByClick": { "alias": "selectByClick"; "required": false; "isSignal": true; }; "collapseByClick": { "alias": "collapseByClick"; "required": false; "isSignal": true; }; "snap": { "alias": "snap"; "required": false; "isSignal": true; }; "enabledBufferOptimization": { "alias": "enabledBufferOptimization"; "required": false; "isSignal": true; }; "itemRenderer": { "alias": "itemRenderer"; "required": true; "isSignal": true; }; "itemConfigMap": { "alias": "itemConfigMap"; "required": false; "isSignal": true; }; "itemSize": { "alias": "itemSize"; "required": false; "isSignal": true; }; "dynamicSize": { "alias": "dynamicSize"; "required": false; "isSignal": true; }; "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "collectionMode": { "alias": "collectionMode"; "required": false; "isSignal": true; }; "bufferSize": { "alias": "bufferSize"; "required": false; "isSignal": true; }; "maxBufferSize": { "alias": "maxBufferSize"; "required": false; "isSignal": true; }; "snappingMethod": { "alias": "snappingMethod"; "required": false; "isSignal": true; }; "methodForSelecting": { "alias": "methodForSelecting"; "required": false; "isSignal": true; }; "trackBy": { "alias": "trackBy"; "required": false; "isSignal": true; }; }, { "onScroll": "onScroll"; "onScrollEnd": "onScrollEnd"; "onViewportChange": "onViewportChange"; "onItemClick": "onItemClick"; "onSelect": "onSelect"; "onCollapse": "onCollapse"; "onScrollReachStart": "onScrollReachStart"; "onScrollReachEnd": "onScrollReachEnd"; }, never, never, false, never>;
250
263
  }
@@ -1,8 +1,8 @@
1
1
  import { TrackBox } from './utils/trackBox';
2
2
  import { IRenderVirtualListItem } from './models';
3
- import { Id } from './types';
4
- import { MethodsForSelectingTypes } from './enums/method-for-selecting-types';
5
3
  import { IRenderVirtualListCollection } from './models/render-collection.model';
4
+ import { MethodsForSelectingTypes } from './enums/method-for-selecting-types';
5
+ import { FocusAlignment, Id } from './types';
6
6
  import * as i0 from "@angular/core";
7
7
  export declare class NgVirtualListService {
8
8
  private _nextComponentId;
@@ -40,8 +40,8 @@ export declare class NgVirtualListService {
40
40
  * @param collapsed - If the value is undefined, then the toggle method is executed, if false or true, then the collapse/expand is performed.
41
41
  */
42
42
  collapse(data: IRenderVirtualListItem | undefined, collapsed?: boolean | undefined): void;
43
- itemToFocus: ((element: HTMLElement, position: number) => void) | undefined;
44
- focus(element: HTMLElement): void;
43
+ itemToFocus: ((element: HTMLElement, position: number, align: FocusAlignment) => void) | undefined;
44
+ focus(element: HTMLElement, align?: FocusAlignment): void;
45
45
  areaFocus(id: Id | null): void;
46
46
  initialize(trackBox: TrackBox): void;
47
47
  generateComponentId(): number;
@@ -0,0 +1,8 @@
1
+ import { FocusAlignments } from "../enums";
2
+ /**
3
+ * Focus Alignment
4
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/17.x/projects/ng-virtual-list/src/lib/types/focus-alignment.ts
5
+ * @author Evgenii Grebennikov
6
+ * @email djonnyx@gmail.com
7
+ */
8
+ export type FocusAlignment = FocusAlignments | 'none' | 'start' | 'center' | 'end';
@@ -1,4 +1,5 @@
1
1
  import { Id } from './id';
2
2
  import { ISize } from './size';
3
3
  import { IRect } from './rect';
4
- export type { Id, ISize, IRect, };
4
+ import { FocusAlignment } from './focus-alignment';
5
+ export type { Id, ISize, IRect, FocusAlignment, };
@@ -0,0 +1,8 @@
1
+ import { CollectionMode } from "../enums";
2
+ /**
3
+ * Determines the axis membership of a virtual list
4
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/17.x/projects/ng-virtual-list/src/lib/utils/isCollectionMode.ts
5
+ * @author Evgenii Grebennikov
6
+ * @email djonnyx@gmail.com
7
+ */
8
+ export declare const isCollectionMode: (src: CollectionMode, expected: CollectionMode) => boolean;
@@ -7,7 +7,10 @@ import { ISize } from "../types";
7
7
  import { HEIGHT_PROP_NAME, WIDTH_PROP_NAME } from "../const";
8
8
  import { IVirtualListItemConfigMap } from "../models";
9
9
  import { BaseVirtualListItemComponent } from "../models/base-virtual-list-item-component";
10
- export declare const TRACK_BOX_CHANGE_EVENT_NAME = "change";
10
+ export declare enum TrackBoxEvents {
11
+ CHANGE = "change",
12
+ RESET = "reset"
13
+ }
11
14
  export interface IMetrics {
12
15
  delta: number;
13
16
  normalizedItemWidth: number;
@@ -68,9 +71,10 @@ export interface IUpdateCollectionOptions<I extends {
68
71
  id: Id;
69
72
  }, C extends Array<I>> extends Omit<IRecalculateMetricsOptions<I, C>, 'collection' | 'previousTotalSize' | 'crudDetected' | 'deletedItemsMap'> {
70
73
  }
71
- export type CacheMapEvents = typeof TRACK_BOX_CHANGE_EVENT_NAME;
74
+ export type CacheMapEvents = TrackBoxEvents.CHANGE | TrackBoxEvents.RESET;
72
75
  export type OnChangeEventListener = (version: number) => void;
73
- export type CacheMapListeners = OnChangeEventListener;
76
+ export type OnResetEventListener = (reseted: boolean) => void;
77
+ export type CacheMapListeners = OnChangeEventListener | OnResetEventListener;
74
78
  export declare enum ItemDisplayMethods {
75
79
  CREATE = 0,
76
80
  UPDATE = 1,
@@ -83,17 +87,18 @@ export interface IUpdateCollectionReturns {
83
87
  delta: number;
84
88
  crudDetected: boolean;
85
89
  }
90
+ type Cache = ISize & {
91
+ method?: ItemDisplayMethods;
92
+ } & {
93
+ [prop: string]: any;
94
+ };
86
95
  /**
87
96
  * An object that performs tracking, calculations and caching.
88
97
  * @link https://github.com/DjonnyX/ng-virtual-list/blob/17.x/projects/ng-virtual-list/src/lib/utils/trackBox.ts
89
98
  * @author Evgenii Grebennikov
90
99
  * @email djonnyx@gmail.com
91
100
  */
92
- export declare class TrackBox<C extends BaseVirtualListItemComponent = any> extends CacheMap<Id, ISize & {
93
- method?: ItemDisplayMethods;
94
- } & {
95
- [prop: string]: any;
96
- }, CacheMapEvents, CacheMapListeners> {
101
+ export declare class TrackBox<C extends BaseVirtualListItemComponent = any> extends CacheMap<Id, Cache, CacheMapEvents, CacheMapListeners> {
97
102
  protected _tracker: Tracker<C>;
98
103
  protected _items: IRenderVirtualListCollection | null | undefined;
99
104
  set items(v: IRenderVirtualListCollection | null | undefined);
@@ -103,6 +108,8 @@ export declare class TrackBox<C extends BaseVirtualListItemComponent = any> exte
103
108
  set snapedDisplayComponent(v: ComponentRef<C> | null | undefined);
104
109
  protected _isSnappingMethodAdvanced: boolean;
105
110
  set isSnappingMethodAdvanced(v: boolean);
111
+ protected _isLazy: boolean;
112
+ set isLazy(v: boolean);
106
113
  /**
107
114
  * Set the trackBy property
108
115
  */
@@ -133,7 +140,7 @@ export declare class TrackBox<C extends BaseVirtualListItemComponent = any> exte
133
140
  protected _maxBufferSize: number;
134
141
  protected _resetBufferSizeTimeout: number;
135
142
  protected _resetBufferSizeTimer: number | undefined;
136
- protected isInit: boolean;
143
+ protected isReseted: boolean;
137
144
  protected lifeCircle(): void;
138
145
  /**
139
146
  * Scans the collection for deleted items and flushes the deleted item cache.
@@ -208,3 +215,4 @@ export declare class TrackBox<C extends BaseVirtualListItemComponent = any> exte
208
215
  protected cacheElements(): void;
209
216
  dispose(): void;
210
217
  }
218
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ng-virtual-list",
3
- "version": "17.7.13",
3
+ "version": "17.7.15",
4
4
  "author": {
5
5
  "name": "Evgenii Grebennikov",
6
6
  "email": "djonnyx@gmail.com"