ng-virtual-list 14.4.0 → 14.4.2
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/README.md +35 -2
- package/esm2020/lib/components/ng-virtual-list-item.component.mjs +2 -2
- package/esm2020/lib/models/base-virtual-list-item-component.mjs +1 -1
- package/esm2020/lib/models/index.mjs +2 -3
- package/esm2020/lib/ng-virtual-list.component.mjs +8 -10
- package/esm2020/lib/utils/index.mjs +2 -6
- package/esm2020/lib/utils/trackBox.mjs +15 -4
- package/esm2020/lib/utils/tracker.mjs +1 -1
- package/fesm2015/ng-virtual-list.mjs +202 -194
- package/fesm2015/ng-virtual-list.mjs.map +1 -1
- package/fesm2020/ng-virtual-list.mjs +201 -193
- package/fesm2020/ng-virtual-list.mjs.map +1 -1
- package/lib/components/ng-virtual-list-item.component.d.ts +7 -7
- package/lib/models/base-virtual-list-item-component.d.ts +0 -1
- package/lib/models/index.d.ts +1 -4
- package/lib/ng-virtual-list.component.d.ts +61 -64
- package/lib/utils/index.d.ts +3 -6
- package/lib/utils/trackBox.d.ts +4 -1
- package/lib/utils/tracker.d.ts +11 -4
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ChangeDetectorRef, ElementRef, TemplateRef } from '@angular/core';
|
|
2
2
|
import { IRenderVirtualListItem } from '../models/render-item.model';
|
|
3
3
|
import { ISize } from '../types';
|
|
4
|
-
import { BaseVirtualListItemComponent } from '../models';
|
|
4
|
+
import { BaseVirtualListItemComponent } from '../models/base-virtual-list-item-component';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
/**
|
|
7
7
|
* Virtual list item component
|
|
@@ -10,15 +10,15 @@ import * as i0 from "@angular/core";
|
|
|
10
10
|
* @email djonnyx@gmail.com
|
|
11
11
|
*/
|
|
12
12
|
export declare class NgVirtualListItemComponent extends BaseVirtualListItemComponent {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
private _cdr;
|
|
14
|
+
private _elementRef;
|
|
15
|
+
private static __nextId;
|
|
16
|
+
private _id;
|
|
17
17
|
get id(): number;
|
|
18
18
|
regular: boolean;
|
|
19
19
|
data: IRenderVirtualListItem | undefined;
|
|
20
20
|
set item(v: IRenderVirtualListItem | undefined);
|
|
21
|
-
|
|
21
|
+
private _regularLength;
|
|
22
22
|
set regularLength(v: string);
|
|
23
23
|
get item(): IRenderVirtualListItem | undefined;
|
|
24
24
|
get itemId(): import("../types").Id | undefined;
|
|
@@ -26,7 +26,7 @@ export declare class NgVirtualListItemComponent extends BaseVirtualListItemCompo
|
|
|
26
26
|
set renderer(v: TemplateRef<any> | undefined);
|
|
27
27
|
get element(): HTMLElement;
|
|
28
28
|
constructor(_cdr: ChangeDetectorRef, _elementRef: ElementRef<HTMLElement>);
|
|
29
|
-
|
|
29
|
+
private update;
|
|
30
30
|
getBounds(): ISize;
|
|
31
31
|
show(): void;
|
|
32
32
|
hide(): void;
|
|
@@ -18,7 +18,6 @@ export declare abstract class BaseVirtualListItemComponent {
|
|
|
18
18
|
abstract itemRenderer: TemplateRef<any> | undefined;
|
|
19
19
|
abstract set renderer(v: TemplateRef<any> | undefined);
|
|
20
20
|
abstract get element(): HTMLElement;
|
|
21
|
-
protected abstract update(): void;
|
|
22
21
|
abstract getBounds(): ISize;
|
|
23
22
|
abstract show(): void;
|
|
24
23
|
abstract hide(): void;
|
package/lib/models/index.d.ts
CHANGED
|
@@ -3,7 +3,4 @@ import { IScrollEvent } from './scroll-event.model';
|
|
|
3
3
|
import { IVirtualListItem } from './item.model';
|
|
4
4
|
import { IVirtualListStickyMap } from './sticky-map.model';
|
|
5
5
|
import { IVirtualListCollection } from './collection.model';
|
|
6
|
-
|
|
7
|
-
import { Component$1 } from './component.model';
|
|
8
|
-
export type { ScrollDirection, IScrollEvent, IVirtualListItem, IVirtualListStickyMap, IVirtualListCollection, Component$1, };
|
|
9
|
-
export { BaseVirtualListItemComponent, };
|
|
6
|
+
export type { ScrollDirection, IScrollEvent, IVirtualListItem, IVirtualListStickyMap, IVirtualListCollection, };
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import { AfterViewInit, ChangeDetectorRef,
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, OnInit, TemplateRef } from '@angular/core';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { IScrollEvent, IVirtualListCollection, IVirtualListStickyMap } from './models';
|
|
4
4
|
import { Id, ISize } from './types';
|
|
5
|
-
import { IRenderVirtualListCollection } from './models/render-collection.model';
|
|
6
5
|
import { Direction, SnappingMethod } from './enums';
|
|
7
|
-
import { TrackBox } from './utils';
|
|
8
6
|
import { DisposableComponent } from './utils/disposableComponent';
|
|
9
7
|
import * as i0 from "@angular/core";
|
|
10
8
|
/**
|
|
@@ -16,19 +14,19 @@ import * as i0 from "@angular/core";
|
|
|
16
14
|
* @email djonnyx@gmail.com
|
|
17
15
|
*/
|
|
18
16
|
export declare class NgVirtualListComponent extends DisposableComponent implements AfterViewInit, OnInit, OnDestroy {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
private _cdr;
|
|
18
|
+
private _elementRef;
|
|
19
|
+
private static __nextId;
|
|
20
|
+
private _id;
|
|
23
21
|
/**
|
|
24
22
|
* Readonly. Returns the unique identifier of the component.
|
|
25
23
|
*/
|
|
26
24
|
get id(): number;
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
25
|
+
private _listContainerRef;
|
|
26
|
+
private _container;
|
|
27
|
+
private _list;
|
|
28
|
+
private _snapContainerRef;
|
|
29
|
+
private _snappedContainer;
|
|
32
30
|
/**
|
|
33
31
|
* Fires when the list has been scrolled.
|
|
34
32
|
*/
|
|
@@ -37,22 +35,22 @@ export declare class NgVirtualListComponent extends DisposableComponent implemen
|
|
|
37
35
|
* Fires when the list has completed scrolling.
|
|
38
36
|
*/
|
|
39
37
|
onScrollEnd: EventEmitter<IScrollEvent>;
|
|
40
|
-
|
|
38
|
+
private _$items;
|
|
41
39
|
readonly $items: Observable<IVirtualListCollection<Object> | undefined>;
|
|
42
|
-
|
|
40
|
+
private _itemsTransform;
|
|
43
41
|
/**
|
|
44
42
|
* Collection of list items.
|
|
45
43
|
*/
|
|
46
44
|
set items(v: IVirtualListCollection);
|
|
47
45
|
get items(): IVirtualListCollection;
|
|
48
|
-
|
|
46
|
+
private _$snap;
|
|
49
47
|
readonly $snap: Observable<boolean>;
|
|
50
48
|
/**
|
|
51
49
|
* Determines whether elements will snap. Default value is "true".
|
|
52
50
|
*/
|
|
53
51
|
set snap(v: boolean);
|
|
54
52
|
get snap(): boolean;
|
|
55
|
-
|
|
53
|
+
private _$enabledBufferOptimization;
|
|
56
54
|
readonly $enabledBufferOptimization: Observable<boolean>;
|
|
57
55
|
/**
|
|
58
56
|
* Experimental!
|
|
@@ -62,15 +60,15 @@ export declare class NgVirtualListComponent extends DisposableComponent implemen
|
|
|
62
60
|
*/
|
|
63
61
|
set enabledBufferOptimization(v: boolean);
|
|
64
62
|
get enabledBufferOptimization(): boolean;
|
|
65
|
-
|
|
63
|
+
private _$itemRenderer;
|
|
66
64
|
readonly $itemRenderer: Observable<TemplateRef<any> | undefined>;
|
|
67
|
-
|
|
65
|
+
private _$renderer;
|
|
68
66
|
/**
|
|
69
67
|
* Rendering element template.
|
|
70
68
|
*/
|
|
71
69
|
set itemRenderer(v: TemplateRef<any>);
|
|
72
70
|
get itemRenderer(): TemplateRef<any>;
|
|
73
|
-
|
|
71
|
+
private _$stickyMap;
|
|
74
72
|
readonly $stickyMap: Observable<IVirtualListStickyMap>;
|
|
75
73
|
/**
|
|
76
74
|
* Dictionary zIndex by id of the list element. If the value is not set or equal to 0,
|
|
@@ -78,8 +76,8 @@ export declare class NgVirtualListComponent extends DisposableComponent implemen
|
|
|
78
76
|
*/
|
|
79
77
|
set stickyMap(v: IVirtualListStickyMap);
|
|
80
78
|
get stickyMap(): IVirtualListStickyMap;
|
|
81
|
-
|
|
82
|
-
|
|
79
|
+
private _itemSizeOptions;
|
|
80
|
+
private _$itemSize;
|
|
83
81
|
readonly $itemSize: Observable<number>;
|
|
84
82
|
/**
|
|
85
83
|
* If direction = 'vertical', then the height of a typical element. If direction = 'horizontal', then the width of a typical element.
|
|
@@ -87,7 +85,7 @@ export declare class NgVirtualListComponent extends DisposableComponent implemen
|
|
|
87
85
|
*/
|
|
88
86
|
set itemSize(v: number);
|
|
89
87
|
get itemSize(): number;
|
|
90
|
-
|
|
88
|
+
private _$dynamicSize;
|
|
91
89
|
readonly $dynamicSize: Observable<boolean>;
|
|
92
90
|
/**
|
|
93
91
|
* If true then the items in the list can have different sizes and the itemSize property is ignored.
|
|
@@ -95,7 +93,7 @@ export declare class NgVirtualListComponent extends DisposableComponent implemen
|
|
|
95
93
|
*/
|
|
96
94
|
set dynamicSize(v: boolean);
|
|
97
95
|
get dynamicSize(): boolean;
|
|
98
|
-
|
|
96
|
+
private _$direction;
|
|
99
97
|
readonly $direction: Observable<Direction>;
|
|
100
98
|
/**
|
|
101
99
|
* Determines the direction in which elements are placed. Default value is "vertical".
|
|
@@ -106,7 +104,7 @@ export declare class NgVirtualListComponent extends DisposableComponent implemen
|
|
|
106
104
|
* @deprecated "itemOffset" parameter is deprecated. Use "bufferSize" and "maxBufferSize".
|
|
107
105
|
*/
|
|
108
106
|
set itemsOffset(v: number);
|
|
109
|
-
|
|
107
|
+
private _$bufferSize;
|
|
110
108
|
readonly $bufferSize: Observable<number>;
|
|
111
109
|
/**
|
|
112
110
|
* Number of elements outside the scope of visibility. Default value is 2.
|
|
@@ -114,7 +112,7 @@ export declare class NgVirtualListComponent extends DisposableComponent implemen
|
|
|
114
112
|
set bufferSize(v: number);
|
|
115
113
|
get bufferSize(): number;
|
|
116
114
|
private _maxBufferSizeTransform;
|
|
117
|
-
|
|
115
|
+
private _$maxBufferSize;
|
|
118
116
|
readonly $maxBufferSize: Observable<number>;
|
|
119
117
|
/**
|
|
120
118
|
* Maximum number of elements outside the scope of visibility. Default value is 100.
|
|
@@ -123,15 +121,15 @@ export declare class NgVirtualListComponent extends DisposableComponent implemen
|
|
|
123
121
|
*/
|
|
124
122
|
set maxBufferSize(v: number);
|
|
125
123
|
get maxBufferSize(): number;
|
|
126
|
-
|
|
124
|
+
private _$trackBy;
|
|
127
125
|
readonly $trackBy: Observable<string>;
|
|
128
126
|
/**
|
|
129
127
|
* The name of the property by which tracking is performed
|
|
130
128
|
*/
|
|
131
129
|
set trackBy(v: string);
|
|
132
130
|
get trackBy(): string;
|
|
133
|
-
|
|
134
|
-
|
|
131
|
+
private _isVertical;
|
|
132
|
+
private _$snappingMethod;
|
|
135
133
|
readonly $snappingMethod: Observable<SnappingMethod>;
|
|
136
134
|
/**
|
|
137
135
|
* Snapping method.
|
|
@@ -140,49 +138,48 @@ export declare class NgVirtualListComponent extends DisposableComponent implemen
|
|
|
140
138
|
*/
|
|
141
139
|
set snappingMethod(v: SnappingMethod);
|
|
142
140
|
get snappingMethod(): SnappingMethod;
|
|
143
|
-
|
|
141
|
+
private _isSnappingMethodAdvanced;
|
|
144
142
|
get isSnappingMethodAdvanced(): boolean;
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
143
|
+
private _displayComponents;
|
|
144
|
+
private _snapedDisplayComponent;
|
|
145
|
+
private _$bounds;
|
|
146
|
+
private _$scrollSize;
|
|
147
|
+
private _resizeObserver;
|
|
148
|
+
private _resizeSnappedComponentHandler;
|
|
149
|
+
private _resizeSnappedObserver;
|
|
150
|
+
private _onResizeHandler;
|
|
151
|
+
private _onScrollHandler;
|
|
152
|
+
private _$initialized;
|
|
155
153
|
readonly $initialized: Observable<boolean>;
|
|
156
154
|
/**
|
|
157
155
|
* Base class of the element component
|
|
158
156
|
*/
|
|
159
|
-
|
|
157
|
+
private _itemComponentClass;
|
|
160
158
|
/**
|
|
161
159
|
* Base class trackBox
|
|
162
160
|
*/
|
|
163
|
-
|
|
161
|
+
private _trackBoxClass;
|
|
164
162
|
/**
|
|
165
163
|
* Dictionary of element sizes by their id
|
|
166
164
|
*/
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
165
|
+
private _trackBox;
|
|
166
|
+
private _onTrackBoxChangeHandler;
|
|
167
|
+
private _$cacheVersion;
|
|
170
168
|
get $cacheVersion(): Observable<number>;
|
|
171
169
|
constructor(_cdr: ChangeDetectorRef, _elementRef: ElementRef<HTMLDivElement>);
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
protected resetRenderers(itemRenderer?: TemplateRef<HTMLElement>): void;
|
|
170
|
+
private onInit;
|
|
171
|
+
private listenCacheChangesIfNeed;
|
|
172
|
+
private getIsSnappingMethodAdvanced;
|
|
173
|
+
private getIsVertical;
|
|
174
|
+
private _componentsResizeObserver;
|
|
175
|
+
private createDisplayComponentsIfNeed;
|
|
176
|
+
private updateRegularRenderer;
|
|
177
|
+
private resetRenderers;
|
|
181
178
|
/**
|
|
182
179
|
* Tracking by id
|
|
183
180
|
*/
|
|
184
|
-
|
|
185
|
-
|
|
181
|
+
private tracking;
|
|
182
|
+
private resetBoundsSize;
|
|
186
183
|
/**
|
|
187
184
|
* Returns the bounds of an element with a given id
|
|
188
185
|
*/
|
|
@@ -192,17 +189,17 @@ export declare class NgVirtualListComponent extends DisposableComponent implemen
|
|
|
192
189
|
* Behavior accepts the values "auto", "instant" and "smooth".
|
|
193
190
|
*/
|
|
194
191
|
scrollTo(id: Id, behavior?: ScrollBehavior): void;
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
192
|
+
private _scrollToRepeatExecutionTimeout;
|
|
193
|
+
private clearScrollToRepeatExecutionTimeout;
|
|
194
|
+
private scrollToExecutor;
|
|
198
195
|
/**
|
|
199
196
|
* Scrolls the scroll area to the desired element with the specified ID.
|
|
200
197
|
*/
|
|
201
198
|
scrollToEnd(behavior?: ScrollBehavior): void;
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
199
|
+
private _onContainerScrollHandler;
|
|
200
|
+
private _onContainerScrollEndHandler;
|
|
201
|
+
private afterViewInit;
|
|
202
|
+
private dispose;
|
|
206
203
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgVirtualListComponent, never>;
|
|
207
204
|
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>;
|
|
208
205
|
}
|
package/lib/utils/index.d.ts
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
import { isDirection } from "./isDirection";
|
|
2
1
|
import { debounce } from "./debounce";
|
|
3
2
|
import { toggleClassName } from './toggleClassName';
|
|
4
|
-
import {
|
|
5
|
-
import { TrackBox, IUpdateCollectionReturns, TRACK_BOX_CHANGE_EVENT_NAME, IMetrics, IRecalculateMetricsOptions, IGetItemPositionOptions, IUpdateCollectionOptions, CacheMapEvents, OnChangeEventListener, CacheMapListeners, ItemDisplayMethods } from "./trackBox";
|
|
6
|
-
import { CMap, ICacheMap, CACHE_BOX_CHANGE_EVENT_NAME } from './cacheMap';
|
|
3
|
+
import { IMetrics } from "./trackBox";
|
|
7
4
|
import { ScrollEvent } from "./scrollEvent";
|
|
8
|
-
export {
|
|
9
|
-
export type {
|
|
5
|
+
export { debounce, toggleClassName, ScrollEvent, };
|
|
6
|
+
export type { IMetrics, };
|
package/lib/utils/trackBox.d.ts
CHANGED
|
@@ -5,7 +5,8 @@ import { CacheMap, CMap } from "./cacheMap";
|
|
|
5
5
|
import { Tracker } from "./tracker";
|
|
6
6
|
import { ISize } from "../types";
|
|
7
7
|
import { HEIGHT_PROP_NAME, WIDTH_PROP_NAME } from "../const";
|
|
8
|
-
import {
|
|
8
|
+
import { IVirtualListStickyMap } from "../models";
|
|
9
|
+
import { BaseVirtualListItemComponent } from "../models/base-virtual-list-item-component";
|
|
9
10
|
export declare const TRACK_BOX_CHANGE_EVENT_NAME = "change";
|
|
10
11
|
export interface IMetrics {
|
|
11
12
|
delta: number;
|
|
@@ -104,7 +105,9 @@ export declare class TrackBox<C extends BaseVirtualListItemComponent = any> exte
|
|
|
104
105
|
* Set the trackBy property
|
|
105
106
|
*/
|
|
106
107
|
set trackingPropertyName(v: string);
|
|
108
|
+
protected _trackingPropertyName: string;
|
|
107
109
|
constructor(trackingPropertyName: string);
|
|
110
|
+
protected initialize(): void;
|
|
108
111
|
set(id: Id, bounds: ISize): CMap<Id, ISize>;
|
|
109
112
|
protected _previousCollection: Array<{
|
|
110
113
|
id: Id;
|
package/lib/utils/tracker.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { ComponentRef } from "@angular/core";
|
|
2
|
-
import {
|
|
2
|
+
import { ScrollDirection } from "../models";
|
|
3
3
|
import { Id, ISize } from "../types";
|
|
4
|
+
import { BaseVirtualListItemComponent } from "../models/base-virtual-list-item-component";
|
|
5
|
+
declare type TrackingPropertyId = string | number;
|
|
4
6
|
export interface IVirtualListItemComponent<I = any> {
|
|
5
7
|
getBounds(): ISize;
|
|
6
8
|
itemId: Id;
|
|
@@ -19,7 +21,9 @@ export declare class Tracker<C extends BaseVirtualListItemComponent = any> {
|
|
|
19
21
|
/**
|
|
20
22
|
* display objects dictionary of indexes by id
|
|
21
23
|
*/
|
|
22
|
-
|
|
24
|
+
protected _displayObjectIndexMapById: {
|
|
25
|
+
[id: number]: number;
|
|
26
|
+
};
|
|
23
27
|
set displayObjectIndexMapById(v: {
|
|
24
28
|
[id: number]: number;
|
|
25
29
|
});
|
|
@@ -29,12 +33,14 @@ export declare class Tracker<C extends BaseVirtualListItemComponent = any> {
|
|
|
29
33
|
/**
|
|
30
34
|
* Dictionary displayItems propertyNameId by items propertyNameId
|
|
31
35
|
*/
|
|
32
|
-
|
|
36
|
+
protected _trackMap: {
|
|
37
|
+
[id: TrackingPropertyId]: number;
|
|
38
|
+
} | null;
|
|
33
39
|
get trackMap(): {
|
|
34
40
|
[id: string]: number;
|
|
35
41
|
[id: number]: number;
|
|
36
42
|
} | null;
|
|
37
|
-
|
|
43
|
+
protected _trackingPropertyName: string;
|
|
38
44
|
set trackingPropertyName(v: string);
|
|
39
45
|
constructor(trackingPropertyName: string);
|
|
40
46
|
/**
|
|
@@ -44,3 +50,4 @@ export declare class Tracker<C extends BaseVirtualListItemComponent = any> {
|
|
|
44
50
|
untrackComponentByIdProperty(component?: C): void;
|
|
45
51
|
dispose(): void;
|
|
46
52
|
}
|
|
53
|
+
export {};
|