ng-virtual-list 14.3.2 → 14.4.0

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.
@@ -1,7 +1,8 @@
1
1
  import { SnappingMethods } from "../enums";
2
2
  import { Directions } from "../enums/directions";
3
3
  export declare const DEFAULT_ITEM_SIZE = 24;
4
- export declare const DEFAULT_ITEMS_OFFSET = 2;
4
+ export declare const DEFAULT_BUFFER_SIZE = 2;
5
+ export declare const DEFAULT_MAX_BUFFER_SIZE = 100;
5
6
  export declare const DEFAULT_LIST_SIZE = 400;
6
7
  export declare const DEFAULT_SNAP = false;
7
8
  export declare const DEFAULT_ENABLED_BUFFER_OPTIMIZATION = false;
@@ -102,13 +102,27 @@ export declare class NgVirtualListComponent extends DisposableComponent implemen
102
102
  */
103
103
  set direction(v: Direction);
104
104
  get direction(): Direction;
105
- protected _$itemsOffset: BehaviorSubject<number>;
106
- readonly $itemsOffset: Observable<number>;
107
105
  /**
108
- * Number of elements outside the scope of visibility. Default value is 2.
106
+ * @deprecated "itemOffset" parameter is deprecated. Use "bufferSize" and "maxBufferSize".
109
107
  */
110
108
  set itemsOffset(v: number);
111
- get itemsOffset(): number;
109
+ protected _$bufferSize: BehaviorSubject<number>;
110
+ readonly $bufferSize: Observable<number>;
111
+ /**
112
+ * Number of elements outside the scope of visibility. Default value is 2.
113
+ */
114
+ set bufferSize(v: number);
115
+ get bufferSize(): number;
116
+ private _maxBufferSizeTransform;
117
+ protected _$maxBufferSize: BehaviorSubject<number>;
118
+ readonly $maxBufferSize: Observable<number>;
119
+ /**
120
+ * Maximum number of elements outside the scope of visibility. Default value is 100.
121
+ * If maxBufferSize is set to be greater than bufferSize, then adaptive buffer mode is enabled.
122
+ * The greater the scroll size, the more elements are allocated for rendering.
123
+ */
124
+ set maxBufferSize(v: number);
125
+ get maxBufferSize(): number;
112
126
  protected _$trackBy: BehaviorSubject<string>;
113
127
  readonly $trackBy: Observable<string>;
114
128
  /**
@@ -190,5 +204,5 @@ export declare class NgVirtualListComponent extends DisposableComponent implemen
190
204
  protected afterViewInit(): void;
191
205
  protected dispose(): void;
192
206
  static ɵfac: i0.ɵɵFactoryDeclaration<NgVirtualListComponent, never>;
193
- static ɵcmp: i0.ɵɵComponentDeclaration<NgVirtualListComponent, "ng-virtual-list", never, { "items": "items"; "snap": "snap"; "enabledBufferOptimization": "enabledBufferOptimization"; "itemRenderer": "itemRenderer"; "stickyMap": "stickyMap"; "itemSize": "itemSize"; "dynamicSize": "dynamicSize"; "direction": "direction"; "itemsOffset": "itemsOffset"; "trackBy": "trackBy"; "snappingMethod": "snappingMethod"; }, { "onScroll": "onScroll"; "onScrollEnd": "onScrollEnd"; }, never, never, false>;
207
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgVirtualListComponent, "ng-virtual-list", never, { "items": "items"; "snap": "snap"; "enabledBufferOptimization": "enabledBufferOptimization"; "itemRenderer": "itemRenderer"; "stickyMap": "stickyMap"; "itemSize": "itemSize"; "dynamicSize": "dynamicSize"; "direction": "direction"; "itemsOffset": "itemsOffset"; "bufferSize": "bufferSize"; "maxBufferSize": "maxBufferSize"; "trackBy": "trackBy"; "snappingMethod": "snappingMethod"; }, { "onScroll": "onScroll"; "onScrollEnd": "onScrollEnd"; }, never, never, false>;
194
208
  }
@@ -0,0 +1,5 @@
1
+ export interface IExtraOptions {
2
+ extremumThreshold?: number;
3
+ bufferSize?: number;
4
+ }
5
+ export declare const bufferInterpolation: (currentBufferValue: number, array: Array<number>, value: number, extra?: IExtraOptions) => number;
@@ -46,7 +46,8 @@ export interface IRecalculateMetricsOptions<I extends {
46
46
  collection: C;
47
47
  isVertical: boolean;
48
48
  itemSize: number;
49
- itemsOffset: number;
49
+ bufferSize: number;
50
+ maxBufferSize: number;
50
51
  dynamicSize: boolean;
51
52
  scrollSize: number;
52
53
  snap: boolean;
@@ -117,6 +118,16 @@ export declare class TrackBox<C extends BaseVirtualListItemComponent = any> exte
117
118
  protected _previousTotalSize: number;
118
119
  protected _scrollDelta: number;
119
120
  get scrollDelta(): number;
121
+ isAdaptiveBuffer: boolean;
122
+ protected _bufferSequenceExtraThreshold: number;
123
+ protected _maxBufferSequenceLength: number;
124
+ protected _bufferSizeSequence: Array<number>;
125
+ protected _bufferSize: number;
126
+ get bufferSize(): number;
127
+ protected _defaultBufferSize: number;
128
+ protected _maxBufferSize: number;
129
+ protected _resetBufferSizeTimeout: number;
130
+ protected _resetBufferSizeTimer: number | undefined;
120
131
  protected lifeCircle(): void;
121
132
  /**
122
133
  * Scans the collection for deleted items and flushes the deleted item cache.
@@ -148,6 +159,10 @@ export declare class TrackBox<C extends BaseVirtualListItemComponent = any> exte
148
159
  getNearestItem<I extends {
149
160
  id: Id;
150
161
  }, C extends Array<I>>(scrollSize: number, items: C, itemSize: number, isVertical: boolean): I | undefined;
162
+ protected _previousScrollSize: number;
163
+ protected updateAdaptiveBufferParams(metrics: IMetrics, totalItemsLength: number): void;
164
+ protected startResetBufferSizeTimer(): void;
165
+ protected disposeClearBufferSizeTimer(): void;
151
166
  /**
152
167
  * Calculates the position of an element based on the given scrollSize
153
168
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ng-virtual-list",
3
- "version": "14.3.2",
3
+ "version": "14.4.0",
4
4
  "author": {
5
5
  "name": "Evgenii Grebennikov",
6
6
  "email": "djonnyx@gmail.com"