ng-virtual-list 18.0.13 → 18.0.14

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;
@@ -95,6 +95,10 @@ export declare class NgVirtualListComponent implements AfterViewInit, OnDestroy
95
95
  private _elementRef;
96
96
  private _initialized;
97
97
  readonly $initialized: Observable<boolean>;
98
+ /**
99
+ * The name of the property by which tracking is performed
100
+ */
101
+ trackBy: import("@angular/core").InputSignal<string>;
98
102
  /**
99
103
  * Dictionary of element sizes by their id
100
104
  */
@@ -106,6 +110,7 @@ export declare class NgVirtualListComponent implements AfterViewInit, OnDestroy
106
110
  ngOnInit(): void;
107
111
  private listenCacheChangesIfNeed;
108
112
  private getIsVertical;
113
+ private _componentsResizeObserver;
109
114
  private createDisplayComponentsIfNeed;
110
115
  private resetRenderers;
111
116
  /**
@@ -131,5 +136,5 @@ export declare class NgVirtualListComponent implements AfterViewInit, OnDestroy
131
136
  ngAfterViewInit(): void;
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.14",
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 {};