ng-virtual-list 18.0.13 → 18.0.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.
@@ -15,10 +15,12 @@ export declare class NgVirtualListItemComponent {
15
15
  data: import("@angular/core").WritableSignal<IRenderVirtualListItem | undefined>;
16
16
  private _data;
17
17
  set item(v: IRenderVirtualListItem | undefined);
18
+ get item(): IRenderVirtualListItem | undefined;
18
19
  get itemId(): import("../types").Id | undefined;
19
20
  itemRenderer: import("@angular/core").WritableSignal<TemplateRef<any> | undefined>;
20
21
  set renderer(v: TemplateRef<any> | undefined);
21
22
  private _elementRef;
23
+ get element(): HTMLElement;
22
24
  constructor();
23
25
  getBounds(): IRect;
24
26
  showIfNeed(): void;
@@ -87,14 +87,17 @@ export declare class NgVirtualListComponent implements AfterViewInit, OnDestroy
87
87
  get isScrolling(): boolean;
88
88
  private _resizeObserver;
89
89
  private _onResizeHandler;
90
+ private _scrolls;
90
91
  private _onScrollHandler;
91
92
  private scrollImmediately;
92
- private _scrollImmediatelyHandler;
93
- private clearScrollImmediately;
94
93
  private _onScrollEndHandler;
95
94
  private _elementRef;
96
95
  private _initialized;
97
96
  readonly $initialized: Observable<boolean>;
97
+ /**
98
+ * The name of the property by which tracking is performed
99
+ */
100
+ trackBy: import("@angular/core").InputSignal<string>;
98
101
  /**
99
102
  * Dictionary of element sizes by their id
100
103
  */
@@ -106,6 +109,7 @@ export declare class NgVirtualListComponent implements AfterViewInit, OnDestroy
106
109
  ngOnInit(): void;
107
110
  private listenCacheChangesIfNeed;
108
111
  private getIsVertical;
112
+ private _componentsResizeObserver;
109
113
  private createDisplayComponentsIfNeed;
110
114
  private resetRenderers;
111
115
  /**
@@ -129,7 +133,8 @@ export declare class NgVirtualListComponent implements AfterViewInit, OnDestroy
129
133
  private _onContainerScrollHandler;
130
134
  private _onContainerScrollEndHandler;
131
135
  ngAfterViewInit(): void;
136
+ private clearScrollImmediately;
132
137
  ngOnDestroy(): void;
133
138
  static ɵfac: i0.ɵɵFactoryDeclaration<NgVirtualListComponent, never>;
134
- static ɵcmp: i0.ɵɵComponentDeclaration<NgVirtualListComponent, "ng-virtual-list", never, { "items": { "alias": "items"; "required": true; "isSignal": true; }; "snap": { "alias": "snap"; "required": false; "isSignal": true; }; "snapToItem": { "alias": "snapToItem"; "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; }; }, { "onScroll": "onScroll"; "onScrollEnd": "onScrollEnd"; }, never, never, false, never>;
139
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgVirtualListComponent, "ng-virtual-list", never, { "items": { "alias": "items"; "required": true; "isSignal": true; }; "snap": { "alias": "snap"; "required": false; "isSignal": true; }; "snapToItem": { "alias": "snapToItem"; "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; }; "trackBy": { "alias": "trackBy"; "required": false; "isSignal": true; }; }, { "onScroll": "onScroll"; "onScrollEnd": "onScrollEnd"; }, never, never, false, never>;
135
140
  }
@@ -79,6 +79,10 @@ export declare class TrackBox extends CacheMap<Id, IRect & {
79
79
  set items(v: IRenderVirtualListCollection | null | undefined);
80
80
  protected _displayComponents: Array<ComponentRef<NgVirtualListItemComponent>> | null | undefined;
81
81
  set displayComponents(v: Array<ComponentRef<NgVirtualListItemComponent>> | null | undefined);
82
+ /**
83
+ * Set the trackBy property
84
+ */
85
+ set trackingPropertyName(v: string);
82
86
  constructor(trackingPropertyName: string);
83
87
  set(id: Id, bounds: IRect): Map<Id, IRect>;
84
88
  private _fireChanges;
@@ -92,11 +96,11 @@ export declare class TrackBox extends CacheMap<Id, IRect & {
92
96
  id: Id;
93
97
  }, C extends Array<I>>(currentCollection: C | null | undefined, itemSize: number): void;
94
98
  /**
95
- * Clears the cache of items from the list
99
+ * Update the cache of items from the list
96
100
  */
97
- protected clearCache<I extends {
101
+ protected updateCache<I extends {
98
102
  id: Id;
99
- }, C extends Array<I>>(deleted: C | null | undefined, updated: C | null | undefined, added: C | null | undefined, itemSize: number): void;
103
+ }, C extends Array<I>>(previousCollection: C | null | undefined, currentCollection: C | null | undefined, itemSize: number): void;
100
104
  /**
101
105
  * Finds the position of a collection element by the given Id
102
106
  */
@@ -137,6 +141,7 @@ export declare class TrackBox extends CacheMap<Id, IRect & {
137
141
  get scrollDelta(): number;
138
142
  clearDeltaDirection(): void;
139
143
  clearDelta(clearDirectionDetector?: boolean): void;
144
+ changes(): void;
140
145
  protected generateDisplayCollection<I extends {
141
146
  id: Id;
142
147
  }, C extends Array<I>>(items: C, stickyMap: IVirtualListStickyMap, metrics: IMetrics): IRenderVirtualListCollection;
@@ -27,12 +27,12 @@ export declare class Tracker<I = any, C = {
27
27
  [id: number]: number;
28
28
  } | null;
29
29
  private _trackingPropertyName;
30
+ set trackingPropertyName(v: string);
30
31
  constructor(trackingPropertyName: string);
31
32
  /**
32
33
  * tracking by propName
33
34
  */
34
35
  track(items: Array<any>, components: Array<ComponentRef<any>>, afterComponentSetup?: (component: C, item: I) => void): void;
35
36
  untrackComponentByIdProperty(component?: C): void;
36
- private _checkComponentProperty;
37
37
  dispose(): void;
38
38
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ng-virtual-list",
3
- "version": "18.0.13",
3
+ "version": "18.0.15",
4
4
  "author": {
5
5
  "name": "Evgenii Grebennikov",
6
6
  "email": "djonnyx@gmail.com"
@@ -1,50 +0,0 @@
1
- /**
2
- * Returns the removed or updated elements of a collection.
3
- * @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/utils/collection.ts
4
- * @author Evgenii Grebennikov
5
- * @email djonnyx@gmail.com
6
- */
7
- export const getCollectionRemovedOrUpdatedItems = (previousCollection, currentCollection) => {
8
- const result = { deleted: new Array(), updated: new Array(), added: new Array(), notChanged: new Array() };
9
- if (!currentCollection || currentCollection.length === 0) {
10
- return { deleted: (previousCollection ? [...previousCollection] : []), updated: [], added: [], notChanged: [] };
11
- }
12
- if (!previousCollection || previousCollection.length === 0) {
13
- return { deleted: [], updated: [], added: (currentCollection ? [...currentCollection] : []), notChanged: [] };
14
- }
15
- const collectionDict = {};
16
- for (let i = 0, l = currentCollection.length; i < l; i++) {
17
- const item = currentCollection[i];
18
- if (item) {
19
- collectionDict[item.id] = item;
20
- }
21
- }
22
- const notChangedMap = {}, deletedMap = {}, updatedMap = {};
23
- for (let i = 0, l = previousCollection.length; i < l; i++) {
24
- const item = previousCollection[i], id = item.id;
25
- if (item) {
26
- if (collectionDict.hasOwnProperty(id)) {
27
- if (item === collectionDict[id]) {
28
- result.notChanged.push(item);
29
- notChangedMap[item.id] = item;
30
- continue;
31
- }
32
- else {
33
- result.updated.push(item);
34
- updatedMap[item.id] = item;
35
- continue;
36
- }
37
- }
38
- result.deleted.push(item);
39
- deletedMap[item.id] = item;
40
- }
41
- }
42
- for (let i = 0, l = currentCollection.length; i < l; i++) {
43
- const item = currentCollection[i], id = item.id;
44
- if (item && !deletedMap.hasOwnProperty(id) && !updatedMap.hasOwnProperty(id) && !notChangedMap.hasOwnProperty(id)) {
45
- result.added.push(item);
46
- }
47
- }
48
- return result;
49
- };
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL3V0aWxzL2NvbGxlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0E7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSxrQ0FBa0MsR0FBRyxDQUEyQyxrQkFBd0MsRUFBRSxpQkFBdUMsRUFDbkosRUFBRTtJQUN6QixNQUFNLE1BQU0sR0FBMkIsRUFBRSxPQUFPLEVBQUUsSUFBSSxLQUFLLEVBQVUsRUFBRSxPQUFPLEVBQUUsSUFBSSxLQUFLLEVBQVUsRUFBRSxLQUFLLEVBQUUsSUFBSSxLQUFLLEVBQVUsRUFBRSxVQUFVLEVBQUUsSUFBSSxLQUFLLEVBQVUsRUFBRSxDQUFDO0lBQ25LLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxpQkFBaUIsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDdkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFNLEVBQUUsT0FBTyxFQUFFLEVBQWtCLEVBQUUsS0FBSyxFQUFFLEVBQWtCLEVBQUUsVUFBVSxFQUFFLEVBQWtCLEVBQUUsQ0FBQztJQUN6SyxDQUFDO0lBQ0QsSUFBSSxDQUFDLGtCQUFrQixJQUFJLGtCQUFrQixDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQWtCLEVBQUUsT0FBTyxFQUFFLEVBQWtCLEVBQUUsS0FBSyxFQUFFLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQU0sRUFBRSxVQUFVLEVBQUUsRUFBa0IsRUFBRSxDQUFDO0lBQ3ZLLENBQUM7SUFDRCxNQUFNLGNBQWMsR0FBb0IsRUFBRSxDQUFDO0lBQzNDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ3ZELE1BQU0sSUFBSSxHQUFHLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLElBQUksSUFBSSxFQUFFLENBQUM7WUFDUCxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUNuQyxDQUFDO0lBQ0wsQ0FBQztJQUNELE1BQU0sYUFBYSxHQUFvQixFQUFFLEVBQUUsVUFBVSxHQUFvQixFQUFFLEVBQUUsVUFBVSxHQUFvQixFQUFFLENBQUM7SUFDOUcsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDeEQsTUFBTSxJQUFJLEdBQUcsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDakQsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNQLElBQUksY0FBYyxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO2dCQUNwQyxJQUFJLElBQUksS0FBSyxjQUFjLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztvQkFDOUIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQzdCLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDO29CQUM5QixTQUFTO2dCQUNiLENBQUM7cUJBQU0sQ0FBQztvQkFDSixNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDMUIsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUM7b0JBQzNCLFNBQVM7Z0JBQ2IsQ0FBQztZQUNMLENBQUM7WUFFRCxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMxQixVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUMvQixDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ3ZELE1BQU0sSUFBSSxHQUFHLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ2hELElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDaEgsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUIsQ0FBQztJQUNMLENBQUM7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNsQixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJZCB9IGZyb20gXCIuLi90eXBlc1wiXHJcblxyXG5pbnRlcmZhY2UgSUNvbGxlY3Rpb25EZWx0YTxJIGV4dGVuZHMgeyBpZDogSWQgfSwgQyBleHRlbmRzIEFycmF5PEk+PiB7XHJcbiAgICBkZWxldGVkOiBDO1xyXG4gICAgdXBkYXRlZDogQztcclxuICAgIG5vdENoYW5nZWQ6IEM7XHJcbiAgICBhZGRlZDogQztcclxufVxyXG5cclxuLyoqXHJcbiAqIFJldHVybnMgdGhlIHJlbW92ZWQgb3IgdXBkYXRlZCBlbGVtZW50cyBvZiBhIGNvbGxlY3Rpb24uXHJcbiAqIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9Eam9ubnlYL25nLXZpcnR1YWwtbGlzdC9ibG9iLzE4LngvcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvdXRpbHMvY29sbGVjdGlvbi50c1xyXG4gKiBAYXV0aG9yIEV2Z2VuaWkgR3JlYmVubmlrb3ZcclxuICogQGVtYWlsIGRqb25ueXhAZ21haWwuY29tXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgZ2V0Q29sbGVjdGlvblJlbW92ZWRPclVwZGF0ZWRJdGVtcyA9IDxJIGV4dGVuZHMgeyBpZDogSWQgfSwgQyBleHRlbmRzIEFycmF5PEk+PihwcmV2aW91c0NvbGxlY3Rpb246IEMgfCBudWxsIHwgdW5kZWZpbmVkLCBjdXJyZW50Q29sbGVjdGlvbjogQyB8IG51bGwgfCB1bmRlZmluZWQpOlxyXG4gICAgSUNvbGxlY3Rpb25EZWx0YTxJLCBDPiA9PiB7XHJcbiAgICBjb25zdCByZXN1bHQ6IElDb2xsZWN0aW9uRGVsdGE8SSwgQz4gPSB7IGRlbGV0ZWQ6IG5ldyBBcnJheTxJPigpIGFzIEMsIHVwZGF0ZWQ6IG5ldyBBcnJheTxJPigpIGFzIEMsIGFkZGVkOiBuZXcgQXJyYXk8ST4oKSBhcyBDLCBub3RDaGFuZ2VkOiBuZXcgQXJyYXk8ST4oKSBhcyBDIH07XHJcbiAgICBpZiAoIWN1cnJlbnRDb2xsZWN0aW9uIHx8IGN1cnJlbnRDb2xsZWN0aW9uLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgIHJldHVybiB7IGRlbGV0ZWQ6IChwcmV2aW91c0NvbGxlY3Rpb24gPyBbLi4ucHJldmlvdXNDb2xsZWN0aW9uXSA6IFtdKSBhcyBDLCB1cGRhdGVkOiBbXSBhcyB1bmtub3duIGFzIEMsIGFkZGVkOiBbXSBhcyB1bmtub3duIGFzIEMsIG5vdENoYW5nZWQ6IFtdIGFzIHVua25vd24gYXMgQyB9O1xyXG4gICAgfVxyXG4gICAgaWYgKCFwcmV2aW91c0NvbGxlY3Rpb24gfHwgcHJldmlvdXNDb2xsZWN0aW9uLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgIHJldHVybiB7IGRlbGV0ZWQ6IFtdIGFzIHVua25vd24gYXMgQywgdXBkYXRlZDogW10gYXMgdW5rbm93biBhcyBDLCBhZGRlZDogKGN1cnJlbnRDb2xsZWN0aW9uID8gWy4uLmN1cnJlbnRDb2xsZWN0aW9uXSA6IFtdKSBhcyBDLCBub3RDaGFuZ2VkOiBbXSBhcyB1bmtub3duIGFzIEMgfTtcclxuICAgIH1cclxuICAgIGNvbnN0IGNvbGxlY3Rpb25EaWN0OiB7IFtpZDogSWRdOiBJIH0gPSB7fTtcclxuICAgIGZvciAobGV0IGkgPSAwLCBsID0gY3VycmVudENvbGxlY3Rpb24ubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XHJcbiAgICAgICAgY29uc3QgaXRlbSA9IGN1cnJlbnRDb2xsZWN0aW9uW2ldO1xyXG4gICAgICAgIGlmIChpdGVtKSB7XHJcbiAgICAgICAgICAgIGNvbGxlY3Rpb25EaWN0W2l0ZW0uaWRdID0gaXRlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBjb25zdCBub3RDaGFuZ2VkTWFwOiB7IFtpZDogSWRdOiBJIH0gPSB7fSwgZGVsZXRlZE1hcDogeyBbaWQ6IElkXTogSSB9ID0ge30sIHVwZGF0ZWRNYXA6IHsgW2lkOiBJZF06IEkgfSA9IHt9O1xyXG4gICAgZm9yIChsZXQgaSA9IDAsIGwgPSBwcmV2aW91c0NvbGxlY3Rpb24ubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XHJcbiAgICAgICAgY29uc3QgaXRlbSA9IHByZXZpb3VzQ29sbGVjdGlvbltpXSwgaWQgPSBpdGVtLmlkO1xyXG4gICAgICAgIGlmIChpdGVtKSB7XHJcbiAgICAgICAgICAgIGlmIChjb2xsZWN0aW9uRGljdC5oYXNPd25Qcm9wZXJ0eShpZCkpIHtcclxuICAgICAgICAgICAgICAgIGlmIChpdGVtID09PSBjb2xsZWN0aW9uRGljdFtpZF0pIHtcclxuICAgICAgICAgICAgICAgICAgICByZXN1bHQubm90Q2hhbmdlZC5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgICAgICAgICAgIG5vdENoYW5nZWRNYXBbaXRlbS5pZF0gPSBpdGVtO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICByZXN1bHQudXBkYXRlZC5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZWRNYXBbaXRlbS5pZF0gPSBpdGVtO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICByZXN1bHQuZGVsZXRlZC5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgICBkZWxldGVkTWFwW2l0ZW0uaWRdID0gaXRlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZm9yIChsZXQgaSA9IDAsIGwgPSBjdXJyZW50Q29sbGVjdGlvbi5sZW5ndGg7IGkgPCBsOyBpKyspIHtcclxuICAgICAgICBjb25zdCBpdGVtID0gY3VycmVudENvbGxlY3Rpb25baV0sIGlkID0gaXRlbS5pZDtcclxuICAgICAgICBpZiAoaXRlbSAmJiAhZGVsZXRlZE1hcC5oYXNPd25Qcm9wZXJ0eShpZCkgJiYgIXVwZGF0ZWRNYXAuaGFzT3duUHJvcGVydHkoaWQpICYmICFub3RDaGFuZ2VkTWFwLmhhc093blByb3BlcnR5KGlkKSkge1xyXG4gICAgICAgICAgICByZXN1bHQuYWRkZWQucHVzaChpdGVtKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxufVxyXG4iXX0=
@@ -1,19 +0,0 @@
1
- import { Id } from "../types";
2
- interface ICollectionDelta<I extends {
3
- id: Id;
4
- }, C extends Array<I>> {
5
- deleted: C;
6
- updated: C;
7
- notChanged: C;
8
- added: C;
9
- }
10
- /**
11
- * Returns the removed or updated elements of a collection.
12
- * @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/utils/collection.ts
13
- * @author Evgenii Grebennikov
14
- * @email djonnyx@gmail.com
15
- */
16
- export declare const getCollectionRemovedOrUpdatedItems: <I extends {
17
- id: Id;
18
- }, C extends Array<I>>(previousCollection: C | null | undefined, currentCollection: C | null | undefined) => ICollectionDelta<I, C>;
19
- export {};