ng-virtual-list 17.4.0 → 17.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 +34 -1
- package/esm2020/lib/components/ng-virtual-list-item.component.mjs +131 -0
- package/esm2020/lib/const/index.mjs +44 -0
- package/esm2020/lib/enums/direction.mjs +2 -0
- package/esm2020/lib/enums/directions.mjs +18 -0
- package/esm2020/lib/enums/index.mjs +4 -0
- package/esm2020/lib/enums/snapping-method.mjs +2 -0
- package/esm2020/lib/enums/snapping-methods.mjs +18 -0
- package/esm2020/lib/models/base-virtual-list-item-component.mjs +9 -0
- package/esm2020/lib/models/collection.model.mjs +3 -0
- package/esm2020/lib/models/component.model.mjs +2 -0
- package/esm2020/lib/models/index.mjs +2 -0
- package/esm2020/lib/models/item.model.mjs +2 -0
- package/esm2020/lib/models/render-collection.model.mjs +3 -0
- package/esm2020/lib/models/render-item-config.model.mjs +2 -0
- package/esm2020/lib/models/render-item.model.mjs +3 -0
- package/esm2020/lib/models/scroll-direction.model.mjs +2 -0
- package/esm2020/lib/models/scroll-event.model.mjs +2 -0
- package/esm2020/lib/models/sticky-map.model.mjs +2 -0
- package/esm2020/lib/ng-virtual-list.component.mjs +675 -0
- package/esm2020/lib/ng-virtual-list.module.mjs +20 -0
- package/esm2020/lib/types/id.mjs +2 -0
- package/esm2020/lib/types/index.mjs +2 -0
- package/esm2020/lib/types/rect.mjs +2 -0
- package/esm2020/lib/types/size.mjs +2 -0
- package/esm2020/lib/utils/browser.mjs +3 -0
- package/esm2020/lib/utils/buffer-interpolation.mjs +27 -0
- package/esm2020/lib/utils/cacheMap.mjs +167 -0
- package/esm2020/lib/utils/debounce.mjs +31 -0
- package/esm2020/lib/utils/disposableComponent.mjs +29 -0
- package/esm2020/lib/utils/eventEmitter.mjs +106 -0
- package/esm2020/lib/utils/index.mjs +5 -0
- package/esm2020/lib/utils/isDirection.mjs +15 -0
- package/esm2020/lib/utils/scrollEvent.mjs +42 -0
- package/esm2020/lib/utils/snapping-method.mjs +9 -0
- package/esm2020/lib/utils/toggleClassName.mjs +15 -0
- package/esm2020/lib/utils/trackBox.mjs +756 -0
- package/esm2020/lib/utils/tracker.mjs +134 -0
- package/esm2020/ng-virtual-list.mjs +5 -0
- package/esm2020/public-api.mjs +10 -0
- package/esm2022/lib/components/ng-virtual-list-item.component.mjs +2 -2
- package/esm2022/lib/models/base-virtual-list-item-component.mjs +1 -1
- package/esm2022/lib/models/index.mjs +2 -3
- package/esm2022/lib/ng-virtual-list.component.mjs +4 -6
- package/esm2022/lib/utils/index.mjs +2 -6
- package/esm2022/lib/utils/trackBox.mjs +12 -4
- package/esm2022/lib/utils/tracker.mjs +1 -1
- package/esm2022/public-api.mjs +2 -1
- package/fesm2015/ng-virtual-list.mjs +2224 -0
- package/fesm2015/ng-virtual-list.mjs.map +1 -0
- package/fesm2020/ng-virtual-list.mjs +2229 -0
- package/fesm2020/ng-virtual-list.mjs.map +1 -0
- package/fesm2022/ng-virtual-list.mjs +195 -190
- package/fesm2022/ng-virtual-list.mjs.map +1 -1
- package/lib/components/ng-virtual-list-item.component.d.ts +9 -9
- 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 +47 -50
- package/lib/utils/disposableComponent.d.ts +15 -0
- 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
- package/public-api.d.ts +1 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { 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,24 +10,24 @@ import * as i0 from "@angular/core";
|
|
|
10
10
|
* @email djonnyx@gmail.com
|
|
11
11
|
*/
|
|
12
12
|
export declare class NgVirtualListItemComponent extends BaseVirtualListItemComponent {
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
private static __nextId;
|
|
14
|
+
private _id;
|
|
15
15
|
get id(): number;
|
|
16
|
-
|
|
16
|
+
private _cdr;
|
|
17
17
|
regular: boolean;
|
|
18
18
|
data: import("@angular/core").WritableSignal<IRenderVirtualListItem | undefined>;
|
|
19
|
-
|
|
19
|
+
private _data;
|
|
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;
|
|
25
25
|
itemRenderer: import("@angular/core").WritableSignal<TemplateRef<any> | undefined>;
|
|
26
26
|
set renderer(v: TemplateRef<any> | undefined);
|
|
27
|
-
|
|
27
|
+
private _elementRef;
|
|
28
28
|
get element(): HTMLElement;
|
|
29
29
|
constructor();
|
|
30
|
-
|
|
30
|
+
private update;
|
|
31
31
|
getBounds(): ISize;
|
|
32
32
|
show(): void;
|
|
33
33
|
hide(): void;
|
|
@@ -18,7 +18,6 @@ export declare abstract class BaseVirtualListItemComponent {
|
|
|
18
18
|
abstract itemRenderer: WritableSignal<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,
|
|
1
|
+
import { AfterViewInit, OnDestroy, OnInit, TemplateRef } from '@angular/core';
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
|
-
import {
|
|
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 * as i0 from "@angular/core";
|
|
9
7
|
/**
|
|
10
8
|
* Virtual list component.
|
|
@@ -15,17 +13,17 @@ import * as i0 from "@angular/core";
|
|
|
15
13
|
* @email djonnyx@gmail.com
|
|
16
14
|
*/
|
|
17
15
|
export declare class NgVirtualListComponent implements AfterViewInit, OnInit, OnDestroy {
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
private static __nextId;
|
|
17
|
+
private _id;
|
|
20
18
|
/**
|
|
21
19
|
* Readonly. Returns the unique identifier of the component.
|
|
22
20
|
*/
|
|
23
21
|
get id(): number;
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
22
|
+
private _listContainerRef;
|
|
23
|
+
private _snapContainerRef;
|
|
24
|
+
private _snappedContainer;
|
|
25
|
+
private _container;
|
|
26
|
+
private _list;
|
|
29
27
|
/**
|
|
30
28
|
* Fires when the list has been scrolled.
|
|
31
29
|
*/
|
|
@@ -34,7 +32,7 @@ export declare class NgVirtualListComponent implements AfterViewInit, OnInit, On
|
|
|
34
32
|
* Fires when the list has completed scrolling.
|
|
35
33
|
*/
|
|
36
34
|
onScrollEnd: import("@angular/core").OutputEmitterRef<IScrollEvent>;
|
|
37
|
-
|
|
35
|
+
private _itemsOptions;
|
|
38
36
|
/**
|
|
39
37
|
* Collection of list items.
|
|
40
38
|
*/
|
|
@@ -54,13 +52,13 @@ export declare class NgVirtualListComponent implements AfterViewInit, OnInit, On
|
|
|
54
52
|
* Rendering element template.
|
|
55
53
|
*/
|
|
56
54
|
itemRenderer: import("@angular/core").InputSignal<TemplateRef<any>>;
|
|
57
|
-
|
|
55
|
+
private _itemRenderer;
|
|
58
56
|
/**
|
|
59
57
|
* Dictionary zIndex by id of the list element. If the value is not set or equal to 0,
|
|
60
58
|
* then a simple element is displayed, if the value is greater than 0, then the sticky position mode is enabled for the element.
|
|
61
59
|
*/
|
|
62
60
|
stickyMap: import("@angular/core").InputSignal<IVirtualListStickyMap>;
|
|
63
|
-
|
|
61
|
+
private _itemSizeOptions;
|
|
64
62
|
/**
|
|
65
63
|
* If direction = 'vertical', then the height of a typical element. If direction = 'horizontal', then the width of a typical element.
|
|
66
64
|
* Ignored if the dynamicSize property is true.
|
|
@@ -98,21 +96,21 @@ export declare class NgVirtualListComponent implements AfterViewInit, OnInit, On
|
|
|
98
96
|
* 'advanced' - The group is rendered on a transparent background. List items below the group are not rendered.
|
|
99
97
|
*/
|
|
100
98
|
snappingMethod: import("@angular/core").InputSignal<SnappingMethod>;
|
|
101
|
-
|
|
99
|
+
private _isSnappingMethodAdvanced;
|
|
102
100
|
get isSnappingMethodAdvanced(): boolean;
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
101
|
+
private _isVertical;
|
|
102
|
+
private _displayComponents;
|
|
103
|
+
private _snapedDisplayComponent;
|
|
104
|
+
private _bounds;
|
|
105
|
+
private _scrollSize;
|
|
106
|
+
private _resizeObserver;
|
|
107
|
+
private _resizeSnappedComponentHandler;
|
|
108
|
+
private _resizeSnappedObserver;
|
|
109
|
+
private _componentsResizeObserver;
|
|
110
|
+
private _onResizeHandler;
|
|
111
|
+
private _onScrollHandler;
|
|
112
|
+
private _elementRef;
|
|
113
|
+
private _initialized;
|
|
116
114
|
readonly $initialized: Observable<boolean>;
|
|
117
115
|
/**
|
|
118
116
|
* The name of the property by which tracking is performed
|
|
@@ -121,31 +119,30 @@ export declare class NgVirtualListComponent implements AfterViewInit, OnInit, On
|
|
|
121
119
|
/**
|
|
122
120
|
* Base class of the element component
|
|
123
121
|
*/
|
|
124
|
-
|
|
122
|
+
private _itemComponentClass;
|
|
125
123
|
/**
|
|
126
124
|
* Base class trackBox
|
|
127
125
|
*/
|
|
128
|
-
|
|
126
|
+
private _trackBoxClass;
|
|
129
127
|
/**
|
|
130
128
|
* Dictionary of element sizes by their id
|
|
131
129
|
*/
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
130
|
+
private _trackBox;
|
|
131
|
+
private _onTrackBoxChangeHandler;
|
|
132
|
+
private _cacheVersion;
|
|
135
133
|
constructor();
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
protected resetRenderers(itemRenderer?: TemplateRef<HTMLElement>): void;
|
|
134
|
+
private onInit;
|
|
135
|
+
private listenCacheChangesIfNeed;
|
|
136
|
+
private getIsSnappingMethodAdvanced;
|
|
137
|
+
private getIsVertical;
|
|
138
|
+
private createDisplayComponentsIfNeed;
|
|
139
|
+
private updateRegularRenderer;
|
|
140
|
+
private resetRenderers;
|
|
144
141
|
/**
|
|
145
142
|
* Tracking by id
|
|
146
143
|
*/
|
|
147
|
-
|
|
148
|
-
|
|
144
|
+
private tracking;
|
|
145
|
+
private resetBoundsSize;
|
|
149
146
|
/**
|
|
150
147
|
* Returns the bounds of an element with a given id
|
|
151
148
|
*/
|
|
@@ -155,17 +152,17 @@ export declare class NgVirtualListComponent implements AfterViewInit, OnInit, On
|
|
|
155
152
|
* Behavior accepts the values "auto", "instant" and "smooth".
|
|
156
153
|
*/
|
|
157
154
|
scrollTo(id: Id, behavior?: ScrollBehavior): void;
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
155
|
+
private _scrollToRepeatExecutionTimeout;
|
|
156
|
+
private clearScrollToRepeatExecutionTimeout;
|
|
157
|
+
private scrollToExecutor;
|
|
161
158
|
/**
|
|
162
159
|
* Scrolls the scroll area to the desired element with the specified ID.
|
|
163
160
|
*/
|
|
164
161
|
scrollToEnd(behavior?: ScrollBehavior): void;
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
162
|
+
private _onContainerScrollHandler;
|
|
163
|
+
private _onContainerScrollEndHandler;
|
|
164
|
+
private afterViewInit;
|
|
165
|
+
private dispose;
|
|
169
166
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgVirtualListComponent, never>;
|
|
170
167
|
static ɵcmp: i0.ɵɵComponentDeclaration<NgVirtualListComponent, "ng-virtual-list", never, { "items": { "alias": "items"; "required": true; "isSignal": true; }; "snap": { "alias": "snap"; "required": false; "isSignal": true; }; "enabledBufferOptimization": { "alias": "enabledBufferOptimization"; "required": false; "isSignal": true; }; "itemRenderer": { "alias": "itemRenderer"; "required": true; "isSignal": true; }; "stickyMap": { "alias": "stickyMap"; "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; }; "itemsOffset": { "alias": "itemsOffset"; "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; }; "trackBy": { "alias": "trackBy"; "required": false; "isSignal": true; }; }, { "onScroll": "onScroll"; "onScrollEnd": "onScrollEnd"; }, never, never, false, never>;
|
|
171
168
|
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { OnDestroy } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* Base disposable component
|
|
6
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/15.x/projects/ng-virtual-list/src/lib/utils/disposableComponent.ts
|
|
7
|
+
* @author Evgenii Grebennikov
|
|
8
|
+
* @email djonnyx@gmail.com
|
|
9
|
+
*/
|
|
10
|
+
export declare class DisposableComponent implements OnDestroy {
|
|
11
|
+
protected _$unsubscribe: Subject<void>;
|
|
12
|
+
ngOnDestroy(): void;
|
|
13
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DisposableComponent, never>;
|
|
14
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DisposableComponent, "ng-component", never, {}, {}, never, never, false, never>;
|
|
15
|
+
}
|
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
|
+
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 {};
|
package/package.json
CHANGED
package/public-api.d.ts
CHANGED