ng-virtual-list 18.4.2 → 18.4.3
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/esm2020/lib/utils/tracker.mjs +18 -9
- package/esm2022/lib/utils/tracker.mjs +18 -9
- package/fesm2015/ng-virtual-list.mjs +16 -8
- package/fesm2015/ng-virtual-list.mjs.map +1 -1
- package/fesm2020/ng-virtual-list.mjs +16 -8
- package/fesm2020/ng-virtual-list.mjs.map +1 -1
- package/fesm2022/ng-virtual-list.mjs +16 -8
- package/fesm2022/ng-virtual-list.mjs.map +1 -1
- package/lib/utils/tracker.d.ts +3 -7
- package/package.json +1 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { CMap } from "./cacheMap";
|
|
1
2
|
/**
|
|
2
3
|
* Tracks display items by property
|
|
3
4
|
* @link https://github.com/DjonnyX/ng-virtual-list/blob/15.x/projects/ng-virtual-list/src/lib/utils/tracker.ts
|
|
@@ -28,7 +29,7 @@ export class Tracker {
|
|
|
28
29
|
/**
|
|
29
30
|
* Dictionary displayItems propertyNameId by items propertyNameId
|
|
30
31
|
*/
|
|
31
|
-
this._trackMap =
|
|
32
|
+
this._trackMap = new CMap();
|
|
32
33
|
this._trackingPropertyName = trackingPropertyName;
|
|
33
34
|
}
|
|
34
35
|
/**
|
|
@@ -38,13 +39,13 @@ export class Tracker {
|
|
|
38
39
|
if (!items) {
|
|
39
40
|
return;
|
|
40
41
|
}
|
|
41
|
-
const idPropName = this._trackingPropertyName, untrackedItems = [...components], isDown = direction === 0 || direction === 1;
|
|
42
|
+
const idPropName = this._trackingPropertyName, untrackedItems = [...components], newTrackItems = [], isDown = direction === 0 || direction === 1;
|
|
42
43
|
let isRegularSnapped = false;
|
|
43
44
|
for (let i = isDown ? 0 : items.length - 1, l = isDown ? items.length : 0; isDown ? i < l : i >= l; isDown ? i++ : i--) {
|
|
44
45
|
const item = items[i], itemTrackingProperty = item[idPropName];
|
|
45
46
|
if (this._trackMap) {
|
|
46
|
-
if (this._trackMap.
|
|
47
|
-
const diId = this._trackMap
|
|
47
|
+
if (this._trackMap.has(itemTrackingProperty)) {
|
|
48
|
+
const diId = this._trackMap.get(itemTrackingProperty), compIndex = this._displayObjectIndexMapById[diId], comp = components[compIndex];
|
|
48
49
|
const compId = comp?.instance?.id;
|
|
49
50
|
if (comp !== undefined && compId === diId) {
|
|
50
51
|
const indexByUntrackedItems = untrackedItems.findIndex(v => {
|
|
@@ -74,9 +75,15 @@ export class Tracker {
|
|
|
74
75
|
continue;
|
|
75
76
|
}
|
|
76
77
|
}
|
|
77
|
-
|
|
78
|
+
this._trackMap.delete(itemTrackingProperty);
|
|
78
79
|
}
|
|
79
80
|
}
|
|
81
|
+
if (untrackedItems.length > 0) {
|
|
82
|
+
newTrackItems.push(item);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
for (let i = 0, l = newTrackItems.length; i < l; i++) {
|
|
86
|
+
const item = newTrackItems[i], itemTrackingProperty = item[idPropName];
|
|
80
87
|
if (untrackedItems.length > 0) {
|
|
81
88
|
const comp = untrackedItems.shift(), item = items[i];
|
|
82
89
|
if (comp) {
|
|
@@ -100,7 +107,7 @@ export class Tracker {
|
|
|
100
107
|
comp.instance.show();
|
|
101
108
|
}
|
|
102
109
|
if (this._trackMap) {
|
|
103
|
-
this._trackMap
|
|
110
|
+
this._trackMap.set(itemTrackingProperty, comp.instance.id);
|
|
104
111
|
}
|
|
105
112
|
}
|
|
106
113
|
}
|
|
@@ -124,11 +131,13 @@ export class Tracker {
|
|
|
124
131
|
}
|
|
125
132
|
const propertyIdName = this._trackingPropertyName;
|
|
126
133
|
if (this._trackMap && component[propertyIdName] !== undefined) {
|
|
127
|
-
|
|
134
|
+
this._trackMap.delete(propertyIdName);
|
|
128
135
|
}
|
|
129
136
|
}
|
|
130
137
|
dispose() {
|
|
131
|
-
this._trackMap
|
|
138
|
+
if (this._trackMap) {
|
|
139
|
+
this._trackMap.clear();
|
|
140
|
+
}
|
|
132
141
|
}
|
|
133
142
|
}
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhY2tlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL3V0aWxzL3RyYWNrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ0JBOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFPLE9BQU87SUFNaEIsSUFBSSx5QkFBeUIsQ0FBQyxDQUEyQjtRQUNyRCxJQUFJLElBQUksQ0FBQywwQkFBMEIsS0FBSyxDQUFDLEVBQUU7WUFDdkMsT0FBTztTQUNWO1FBRUQsSUFBSSxDQUFDLDBCQUEwQixHQUFHLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBSSx5QkFBeUI7UUFDekIsT0FBTyxJQUFJLENBQUMsMEJBQTBCLENBQUM7SUFDM0MsQ0FBQztJQU9ELElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBSUQsSUFBSSxvQkFBb0IsQ0FBQyxDQUFTO1FBQzlCLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELFlBQVksb0JBQTRCO1FBaEN4Qzs7V0FFRztRQUNPLCtCQUEwQixHQUE2QixFQUFFLENBQUM7UUFjcEU7O1dBRUc7UUFDTyxjQUFTLEdBQWdELEVBQUUsQ0FBQztRQWFsRSxJQUFJLENBQUMscUJBQXFCLEdBQUcsb0JBQW9CLENBQUM7SUFDdEQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLEtBQWlCLEVBQUUsVUFBa0MsRUFBRSxlQUFtRCxFQUM1RyxTQUEwQjtRQUMxQixJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1IsT0FBTztTQUNWO1FBRUQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixFQUFFLGNBQWMsR0FBRyxDQUFDLEdBQUcsVUFBVSxDQUFDLEVBQUUsTUFBTSxHQUFHLFNBQVMsS0FBSyxDQUFDLElBQUksU0FBUyxLQUFLLENBQUMsQ0FBQztRQUM3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Q0FBQyxnQkFBZ0IsRUFBRTtZQUNuQixJQUFJLGVBQWUsRUFBRTtnQkFDakIsZUFBZSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO2dCQUNyQyxlQUFlLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO2FBQ25DO1NBQ0o7SUFDTCxDQUFDO0lBRUQsNEJBQTRCLENBQUMsU0FBYTtRQUN0QyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ1osT0FBTztTQUNWO1FBRUQsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDO1FBRWxELElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSyxTQUFpQixDQUFDLGNBQWMsQ0FBQyxLQUFLLFNBQVMsRUFBRTtZQUNwRSxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDekM7SUFDTCxDQUFDO0lBRUQsT0FBTztRQUNILElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO0lBQzFCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFNjcm9sbERpcmVjdGlvbiB9IGZyb20gXCIuLi9tb2RlbHNcIjtcclxuaW1wb3J0IHsgSWQsIElTaXplIH0gZnJvbSBcIi4uL3R5cGVzXCI7XHJcbmltcG9ydCB7IEJhc2VWaXJ0dWFsTGlzdEl0ZW1Db21wb25lbnQgfSBmcm9tIFwiLi4vbW9kZWxzL2Jhc2UtdmlydHVhbC1saXN0LWl0ZW0tY29tcG9uZW50XCI7XHJcblxyXG50eXBlIFRyYWNraW5nUHJvcGVydHlJZCA9IHN0cmluZyB8IG51bWJlcjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVZpcnR1YWxMaXN0SXRlbUNvbXBvbmVudDxJID0gYW55PiB7XHJcbiAgICBnZXRCb3VuZHMoKTogSVNpemU7XHJcbiAgICBpdGVtSWQ6IElkO1xyXG4gICAgaWQ6IG51bWJlcjtcclxuICAgIGl0ZW06IEkgfCBudWxsO1xyXG4gICAgc2hvdzogKCkgPT4gdm9pZDtcclxuICAgIGhpZGU6ICgpID0+IHZvaWQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUcmFja3MgZGlzcGxheSBpdGVtcyBieSBwcm9wZXJ0eVxyXG4gKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vRGpvbm55WC9uZy12aXJ0dWFsLWxpc3QvYmxvYi8xNS54L3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL3V0aWxzL3RyYWNrZXIudHNcclxuICogQGF1dGhvciBFdmdlbmlpIEdyZWJlbm5pa292XHJcbiAqIEBlbWFpbCBkam9ubnl4QGdtYWlsLmNvbVxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFRyYWNrZXI8QyBleHRlbmRzIEJhc2VWaXJ0dWFsTGlzdEl0ZW1Db21wb25lbnQgPSBhbnk+IHtcclxuICAgIC8qKlxyXG4gICAgICogZGlzcGxheSBvYmplY3RzIGRpY3Rpb25hcnkgb2YgaW5kZXhlcyBieSBpZFxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgX2Rpc3BsYXlPYmplY3RJbmRleE1hcEJ5SWQ6IHsgW2lkOiBudW1iZXJdOiBudW1iZXIgfSA9IHt9O1xyXG5cclxuICAgIHNldCBkaXNwbGF5T2JqZWN0SW5kZXhNYXBCeUlkKHY6IHsgW2lkOiBudW1iZXJdOiBudW1iZXIgfSkge1xyXG4gICAgICAgIGlmICh0aGlzLl9kaXNwbGF5T2JqZWN0SW5kZXhNYXBCeUlkID09PSB2KSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuX2Rpc3BsYXlPYmplY3RJbmRleE1hcEJ5SWQgPSB2O1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBkaXNwbGF5T2JqZWN0SW5kZXhNYXBCeUlkKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9kaXNwbGF5T2JqZWN0SW5kZXhNYXBCeUlkO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRGljdGlvbmFyeSBkaXNwbGF5SXRlbXMgcHJvcGVydHlOYW1lSWQgYnkgaXRlbXMgcHJvcGVydHlOYW1lSWRcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIF90cmFja01hcDogeyBbaWQ6IFRyYWNraW5nUHJvcGVydHlJZF06IG51bWJlciB9IHwgbnVsbCA9IHt9O1xyXG5cclxuICAgIGdldCB0cmFja01hcCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fdHJhY2tNYXA7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIF90cmFja2luZ1Byb3BlcnR5TmFtZSE6IHN0cmluZztcclxuXHJcbiAgICBzZXQgdHJhY2tpbmdQcm9wZXJ0eU5hbWUodjogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5fdHJhY2tpbmdQcm9wZXJ0eU5hbWUgPSB2O1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKHRyYWNraW5nUHJvcGVydHlOYW1lOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLl90cmFja2luZ1Byb3BlcnR5TmFtZSA9IHRyYWNraW5nUHJvcGVydHlOYW1lO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogdHJhY2tpbmcgYnkgcHJvcE5hbWVcclxuICAgICAqL1xyXG4gICAgdHJhY2soaXRlbXM6IEFycmF5PGFueT4sIGNvbXBvbmVudHM6IEFycmF5PENvbXBvbmVudFJlZjxDPj4sIHNuYXBlZENvbXBvbmVudDogQ29tcG9uZW50UmVmPEM+IHwgbnVsbCB8IHVuZGVmaW5lZCxcclxuICAgICAgICBkaXJlY3Rpb246IFNjcm9sbERpcmVjdGlvbik6IHZvaWQge1xyXG4gICAgICAgIGlmICghaXRlbXMpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgaWRQcm9wTmFtZSA9IHRoaXMuX3RyYWNraW5nUHJvcGVydHlOYW1lLCB1bnRyYWNrZWRJdGVtcyA9IFsuLi5jb21wb25lbnRzXSwgaXNEb3duID0gZGlyZWN0aW9uID09PSAwIHx8IGRpcmVjdGlvbiA9PT0gMTtcclxuICAgICAgICBsZXQgaXNSZWd1bGFyU25hcHBlZCA9IGZhbHNlO1xyXG5cclxuICAgICAgICBmb3IgKGxldCBpID0gaXNEb3duID8gMCA6IGl0ZW1zLmxlbmd0aCAtIDEsIGwgPSBpc0Rvd24gPyBpdGVtcy5sZW5ndGggOiAwOyBpc0Rvd24gPyBpIDwgbCA6IGkgPj0gbDsgaXNEb3duID8gaSsrIDogaS0tKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSBpdGVtc1tpXSwgaXRlbVRyYWNraW5nUHJvcGVydHkgPSBpdGVtW2lkUHJvcE5hbWVdO1xyXG5cclxuICAgICAgICAgICAgaWYgKHRoaXMuX3RyYWNrTWFwKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5fdHJhY2tNYXAuaGFzT3duUHJvcGVydHkoaXRlbVRyYWNraW5nUHJvcGVydHkpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGlJZCA9IHRoaXMuX3RyYWNrTWFwW2l0ZW1UcmFja2luZ1Byb3BlcnR5XSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29tcEluZGV4ID0gdGhpcy5fZGlzcGxheU9iamVjdEluZGV4TWFwQnlJZFtkaUlkXSwgY29tcCA9IGNvbXBvbmVudHNbY29tcEluZGV4XTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29tcElkID0gY29tcD8uaW5zdGFuY2U/LmlkO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChjb21wICE9PSB1bmRlZmluZWQgJiYgY29tcElkID09PSBkaUlkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGluZGV4QnlVbnRyYWNrZWRJdGVtcyA9IHVudHJhY2tlZEl0ZW1zLmZpbmRJbmRleCh2ID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB2Lmluc3RhbmNlLmlkID09PSBjb21wSWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaW5kZXhCeVVudHJhY2tlZEl0ZW1zID4gLTEpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzbmFwZWRDb21wb25lbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXRlbVsnY29uZmlnJ11bJ3NuYXBwZWQnXSB8fCBpdGVtWydjb25maWcnXVsnc25hcHBlZE91dCddKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzUmVndWxhclNuYXBwZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbmFwZWRDb21wb25lbnQuaW5zdGFuY2UuaXRlbSA9IGl0ZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNuYXBlZENvbXBvbmVudC5pbnN0YW5jZS5zaG93KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcC5pbnN0YW5jZS5pdGVtID0gaXRlbTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc25hcGVkQ29tcG9uZW50KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW1bJ2NvbmZpZyddWydzbmFwcGVkJ10gfHwgaXRlbVsnY29uZmlnJ11bJ3NuYXBwZWRPdXQnXSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wLmluc3RhbmNlLmhpZGUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wLmluc3RhbmNlLnNob3coKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXAuaW5zdGFuY2Uuc2hvdygpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdW50cmFja2VkSXRlbXMuc3BsaWNlKGluZGV4QnlVbnRyYWNrZWRJdGVtcywgMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBkZWxldGUgdGhpcy5fdHJhY2tNYXBbaXRlbVRyYWNraW5nUHJvcGVydHldO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAodW50cmFja2VkSXRlbXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY29tcCA9IHVudHJhY2tlZEl0ZW1zLnNoaWZ0KCksIGl0ZW0gPSBpdGVtc1tpXTtcclxuICAgICAgICAgICAgICAgIGlmIChjb21wKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNuYXBlZENvbXBvbmVudCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXRlbVsnY29uZmlnJ11bJ3NuYXBwZWQnXSB8fCBpdGVtWydjb25maWcnXVsnc25hcHBlZE91dCddKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc1JlZ3VsYXJTbmFwcGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNuYXBlZENvbXBvbmVudC5pbnN0YW5jZS5pdGVtID0gaXRlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNuYXBlZENvbXBvbmVudC5pbnN0YW5jZS5zaG93KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgY29tcC5pbnN0YW5jZS5pdGVtID0gaXRlbTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoc25hcGVkQ29tcG9uZW50KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpdGVtWydjb25maWcnXVsnc25hcHBlZCddIHx8IGl0ZW1bJ2NvbmZpZyddWydzbmFwcGVkT3V0J10pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXAuaW5zdGFuY2UuaGlkZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcC5pbnN0YW5jZS5zaG93KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb21wLmluc3RhbmNlLnNob3coKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLl90cmFja01hcCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl90cmFja01hcFtpdGVtVHJhY2tpbmdQcm9wZXJ0eV0gPSBjb21wLmluc3RhbmNlLmlkO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHVudHJhY2tlZEl0ZW1zLmxlbmd0aCkge1xyXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMCwgbCA9IHVudHJhY2tlZEl0ZW1zLmxlbmd0aDsgaSA8IGw7IGkrKykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY29tcCA9IHVudHJhY2tlZEl0ZW1zW2ldO1xyXG4gICAgICAgICAgICAgICAgY29tcC5pbnN0YW5jZS5oaWRlKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghaXNSZWd1bGFyU25hcHBlZCkge1xyXG4gICAgICAgICAgICBpZiAoc25hcGVkQ29tcG9uZW50KSB7XHJcbiAgICAgICAgICAgICAgICBzbmFwZWRDb21wb25lbnQuaW5zdGFuY2UuaXRlbSA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICBzbmFwZWRDb21wb25lbnQuaW5zdGFuY2UuaGlkZSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHVudHJhY2tDb21wb25lbnRCeUlkUHJvcGVydHkoY29tcG9uZW50PzogQyk6IHZvaWQge1xyXG4gICAgICAgIGlmICghY29tcG9uZW50KSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IHByb3BlcnR5SWROYW1lID0gdGhpcy5fdHJhY2tpbmdQcm9wZXJ0eU5hbWU7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLl90cmFja01hcCAmJiAoY29tcG9uZW50IGFzIGFueSlbcHJvcGVydHlJZE5hbWVdICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgZGVsZXRlIHRoaXMuX3RyYWNrTWFwW3Byb3BlcnR5SWROYW1lXTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZGlzcG9zZSgpIHtcclxuICAgICAgICB0aGlzLl90cmFja01hcCA9IG51bGw7XHJcbiAgICB9XHJcbn0iXX0=
|
|
143
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhY2tlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL3V0aWxzL3RyYWNrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFlBQVksQ0FBQztBQWFsQzs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyxPQUFPO0lBTWhCLElBQUkseUJBQXlCLENBQUMsQ0FBMkI7UUFDckQsSUFBSSxJQUFJLENBQUMsMEJBQTBCLEtBQUssQ0FBQyxFQUFFO1lBQ3ZDLE9BQU87U0FDVjtRQUVELElBQUksQ0FBQywwQkFBMEIsR0FBRyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQUkseUJBQXlCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLDBCQUEwQixDQUFDO0lBQzNDLENBQUM7SUFPRCxJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUlELElBQUksb0JBQW9CLENBQUMsQ0FBUztRQUM5QixJQUFJLENBQUMscUJBQXFCLEdBQUcsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxZQUFZLG9CQUE0QjtRQWhDeEM7O1dBRUc7UUFDTywrQkFBMEIsR0FBNkIsRUFBRSxDQUFDO1FBY3BFOztXQUVHO1FBQ08sY0FBUyxHQUFHLElBQUksSUFBSSxFQUE4QixDQUFDO1FBYXpELElBQUksQ0FBQyxxQkFBcUIsR0FBRyxvQkFBb0IsQ0FBQztJQUN0RCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsS0FBaUIsRUFBRSxVQUFrQyxFQUFFLGVBQW1ELEVBQzVHLFNBQTBCO1FBQzFCLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDUixPQUFPO1NBQ1Y7UUFFRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMscUJBQXFCLEVBQUUsY0FBYyxHQUFHLENBQUMsR0FBRyxVQUFVLENBQUMsRUFBRSxhQUFh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UmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgU2Nyb2xsRGlyZWN0aW9uIH0gZnJvbSBcIi4uL21vZGVsc1wiO1xyXG5pbXBvcnQgeyBJZCwgSVNpemUgfSBmcm9tIFwiLi4vdHlwZXNcIjtcclxuaW1wb3J0IHsgQmFzZVZpcnR1YWxMaXN0SXRlbUNvbXBvbmVudCB9IGZyb20gXCIuLi9tb2RlbHMvYmFzZS12aXJ0dWFsLWxpc3QtaXRlbS1jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQ01hcCB9IGZyb20gXCIuL2NhY2hlTWFwXCI7XHJcblxyXG50eXBlIFRyYWNraW5nUHJvcGVydHlJZCA9IHN0cmluZyB8IG51bWJlcjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVZpcnR1YWxMaXN0SXRlbUNvbXBvbmVudDxJID0gYW55PiB7XHJcbiAgICBnZXRCb3VuZHMoKTogSVNpemU7XHJcbiAgICBpdGVtSWQ6IElkO1xyXG4gICAgaWQ6IG51bWJlcjtcclxuICAgIGl0ZW06IEkgfCBudWxsO1xyXG4gICAgc2hvdzogKCkgPT4gdm9pZDtcclxuICAgIGhpZGU6ICgpID0+IHZvaWQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUcmFja3MgZGlzcGxheSBpdGVtcyBieSBwcm9wZXJ0eVxyXG4gKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vRGpvbm55WC9uZy12aXJ0dWFsLWxpc3QvYmxvYi8xNS54L3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL3V0aWxzL3RyYWNrZXIudHNcclxuICogQGF1dGhvciBFdmdlbmlpIEdyZWJlbm5pa292XHJcbiAqIEBlbWFpbCBkam9ubnl4QGdtYWlsLmNvbVxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFRyYWNrZXI8QyBleHRlbmRzIEJhc2VWaXJ0dWFsTGlzdEl0ZW1Db21wb25lbnQgPSBhbnk+IHtcclxuICAgIC8qKlxyXG4gICAgICogZGlzcGxheSBvYmplY3RzIGRpY3Rpb25hcnkgb2YgaW5kZXhlcyBieSBpZFxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgX2Rpc3BsYXlPYmplY3RJbmRleE1hcEJ5SWQ6IHsgW2lkOiBudW1iZXJdOiBudW1iZXIgfSA9IHt9O1xyXG5cclxuICAgIHNldCBkaXNwbGF5T2JqZWN0SW5kZXhNYXBCeUlkKHY6IHsgW2lkOiBudW1iZXJdOiBudW1iZXIgfSkge1xyXG4gICAgICAgIGlmICh0aGlzLl9kaXNwbGF5T2JqZWN0SW5kZXhNYXBCeUlkID09PSB2KSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuX2Rpc3BsYXlPYmplY3RJbmRleE1hcEJ5SWQgPSB2O1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBkaXNwbGF5T2JqZWN0SW5kZXhNYXBCeUlkKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9kaXNwbGF5T2JqZWN0SW5kZXhNYXBCeUlkO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRGljdGlvbmFyeSBkaXNwbGF5SXRlbXMgcHJvcGVydHlOYW1lSWQgYnkgaXRlbXMgcHJvcGVydHlOYW1lSWRcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIF90cmFja01hcCA9IG5ldyBDTWFwPFRyYWNraW5nUHJvcGVydHlJZCwgbnVtYmVyPigpO1xyXG5cclxuICAgIGdldCB0cmFja01hcCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fdHJhY2tNYXA7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIF90cmFja2luZ1Byb3BlcnR5TmFtZSE6IHN0cmluZztcclxuXHJcbiAgICBzZXQgdHJhY2tpbmdQcm9wZXJ0eU5hbWUodjogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5fdHJhY2tpbmdQcm9wZXJ0eU5hbWUgPSB2O1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKHRyYWNraW5nUHJvcGVydHlOYW1lOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLl90cmFja2luZ1Byb3BlcnR5TmFtZSA9IHRyYWNraW5nUHJvcGVydHlOYW1lO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogdHJhY2tpbmcgYnkgcHJvcE5hbWVcclxuICAgICAqL1xyXG4gICAgdHJhY2soaXRlbXM6IEFycmF5PGFueT4sIGNvbXBvbmVudHM6IEFycmF5PENvbXBvbmVudFJlZjxDPj4sIHNuYXBlZENvbXBvbmVudDogQ29tcG9uZW50UmVmPEM+IHwgbnVsbCB8IHVuZGVmaW5lZCxcclxuICAgICAgICBkaXJlY3Rpb246IFNjcm9sbERpcmVjdGlvbik6IHZvaWQge1xyXG4gICAgICAgIGlmICghaXRlbXMpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgaWRQcm9wTmFtZSA9IHRoaXMuX3RyYWNraW5nUHJvcGVydHlOYW1lLCB1bnRyYWNrZWRJdGVtcyA9IFsuLi5jb21wb25lbnRzXSwgbmV3VHJhY2tJdGVtczogQXJyYXk8Q29tcG9uZW50UmVmPEM+PiA9IFtdLCBpc0Rvd24gPSBkaXJlY3Rpb24gPT09IDAgfHwgZGlyZWN0aW9uID09PSAxO1xyXG4gICAgICAgIGxldCBpc1JlZ3VsYXJTbmFwcGVkID0gZmFsc2U7XHJcblxyXG4gICAgICAgIGZvciAobGV0IGkgPSBpc0Rvd24gPyAwIDogaXRlbXMubGVuZ3RoIC0gMSwgbCA9IGlzRG93biA/IGl0ZW1zLmxlbmd0aCA6IDA7IGlzRG93biA/IGkgPCBsIDogaSA+PSBsOyBpc0Rvd24gPyBpKysgOiBpLS0pIHtcclxuICAgICAgICAgICAgY29uc3QgaXRlbSA9IGl0ZW1zW2ldLCBpdGVtVHJhY2tpbmdQcm9wZXJ0eSA9IGl0ZW1baWRQcm9wTmFtZV07XHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy5fdHJhY2tNYXApIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLl90cmFja01hcC5oYXMoaXRlbVRyYWNraW5nUHJvcGVydHkpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGlJZCA9IHRoaXMuX3RyYWNrTWFwLmdldChpdGVtVHJhY2tpbmdQcm9wZXJ0eSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBJbmRleCA9IHRoaXMuX2Rpc3BsYXlPYmplY3RJbmRleE1hcEJ5SWRbZGlJZF0sIGNvbXAgPSBjb21wb25lbnRzW2NvbXBJbmRleF07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbXBJZCA9IGNvbXA/Lmluc3RhbmNlPy5pZDtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoY29tcCAhPT0gdW5kZWZpbmVkICYmIGNvbXBJZCA9PT0gZGlJZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbmRleEJ5VW50cmFja2VkSXRlbXMgPSB1bnRyYWNrZWRJdGVtcy5maW5kSW5kZXgodiA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdi5pbnN0YW5jZS5pZCA9PT0gY29tcElkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGluZGV4QnlVbnRyYWNrZWRJdGVtcyA+IC0xKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc25hcGVkQ29tcG9uZW50KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW1bJ2NvbmZpZyddWydzbmFwcGVkJ10gfHwgaXRlbVsnY29uZmlnJ11bJ3NuYXBwZWRPdXQnXSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc1JlZ3VsYXJTbmFwcGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc25hcGVkQ29tcG9uZW50Lmluc3RhbmNlLml0ZW0gPSBpdGVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbmFwZWRDb21wb25lbnQuaW5zdGFuY2Uuc2hvdygpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXAuaW5zdGFuY2UuaXRlbSA9IGl0ZW07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHNuYXBlZENvbXBvbmVudCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpdGVtWydjb25maWcnXVsnc25hcHBlZCddIHx8IGl0ZW1bJ2NvbmZpZyddWydzbmFwcGVkT3V0J10pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcC5pbnN0YW5jZS5oaWRlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcC5pbnN0YW5jZS5zaG93KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wLmluc3RhbmNlLnNob3coKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVudHJhY2tlZEl0ZW1zLnNwbGljZShpbmRleEJ5VW50cmFja2VkSXRlbXMsIDEpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdHJhY2tNYXAuZGVsZXRlKGl0ZW1UcmFja2luZ1Byb3BlcnR5KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKHVudHJhY2tlZEl0ZW1zLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgIG5ld1RyYWNrSXRlbXMucHVzaChpdGVtKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDAsIGwgPSBuZXdUcmFja0l0ZW1zLmxlbmd0aDsgaSA8IGw7IGkrKykge1xyXG4gICAgICAgICAgICBjb25zdCBpdGVtID0gbmV3VHJhY2tJdGVtc1tpXSwgaXRlbVRyYWNraW5nUHJvcGVydHkgPSAoaXRlbSBhcyBhbnkpW2lkUHJvcE5hbWVdO1xyXG4gICAgICAgICAgICBpZiAodW50cmFja2VkSXRlbXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY29tcCA9IHVudHJhY2tlZEl0ZW1zLnNoaWZ0KCksIGl0ZW0gPSBpdGVtc1tpXTtcclxuICAgICAgICAgICAgICAgIGlmIChjb21wKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNuYXBlZENvbXBvbmVudCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXRlbVsnY29uZmlnJ11bJ3NuYXBwZWQnXSB8fCBpdGVtWydjb25maWcnXVsnc25hcHBlZE91dCddKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc1JlZ3VsYXJTbmFwcGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNuYXBlZENvbXBvbmVudC5pbnN0YW5jZS5pdGVtID0gaXRlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNuYXBlZENvbXBvbmVudC5pbnN0YW5jZS5zaG93KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgY29tcC5pbnN0YW5jZS5pdGVtID0gaXRlbTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoc25hcGVkQ29tcG9uZW50KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpdGVtWydjb25maWcnXVsnc25hcHBlZCddIHx8IGl0ZW1bJ2NvbmZpZyddWydzbmFwcGVkT3V0J10pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXAuaW5zdGFuY2UuaGlkZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcC5pbnN0YW5jZS5zaG93KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb21wLmluc3RhbmNlLnNob3coKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLl90cmFja01hcCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl90cmFja01hcC5zZXQoaXRlbVRyYWNraW5nUHJvcGVydHksIGNvbXAuaW5zdGFuY2UuaWQpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHVudHJhY2tlZEl0ZW1zLmxlbmd0aCkge1xyXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMCwgbCA9IHVudHJhY2tlZEl0ZW1zLmxlbmd0aDsgaSA8IGw7IGkrKykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY29tcCA9IHVudHJhY2tlZEl0ZW1zW2ldO1xyXG4gICAgICAgICAgICAgICAgY29tcC5pbnN0YW5jZS5oaWRlKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghaXNSZWd1bGFyU25hcHBlZCkge1xyXG4gICAgICAgICAgICBpZiAoc25hcGVkQ29tcG9uZW50KSB7XHJcbiAgICAgICAgICAgICAgICBzbmFwZWRDb21wb25lbnQuaW5zdGFuY2UuaXRlbSA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICBzbmFwZWRDb21wb25lbnQuaW5zdGFuY2UuaGlkZSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHVudHJhY2tDb21wb25lbnRCeUlkUHJvcGVydHkoY29tcG9uZW50PzogQyk6IHZvaWQge1xyXG4gICAgICAgIGlmICghY29tcG9uZW50KSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IHByb3BlcnR5SWROYW1lID0gdGhpcy5fdHJhY2tpbmdQcm9wZXJ0eU5hbWU7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLl90cmFja01hcCAmJiAoY29tcG9uZW50IGFzIGFueSlbcHJvcGVydHlJZE5hbWVdICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5fdHJhY2tNYXAuZGVsZXRlKHByb3BlcnR5SWROYW1lKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZGlzcG9zZSgpIHtcclxuICAgICAgICBpZiAodGhpcy5fdHJhY2tNYXApIHtcclxuICAgICAgICAgICAgdGhpcy5fdHJhY2tNYXAuY2xlYXIoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iXX0=
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { CMap } from "./cacheMap";
|
|
1
2
|
/**
|
|
2
3
|
* Tracks display items by property
|
|
3
4
|
* @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/utils/tracker.ts
|
|
@@ -21,7 +22,7 @@ export class Tracker {
|
|
|
21
22
|
/**
|
|
22
23
|
* Dictionary displayItems propertyNameId by items propertyNameId
|
|
23
24
|
*/
|
|
24
|
-
_trackMap =
|
|
25
|
+
_trackMap = new CMap();
|
|
25
26
|
get trackMap() {
|
|
26
27
|
return this._trackMap;
|
|
27
28
|
}
|
|
@@ -39,13 +40,13 @@ export class Tracker {
|
|
|
39
40
|
if (!items) {
|
|
40
41
|
return;
|
|
41
42
|
}
|
|
42
|
-
const idPropName = this._trackingPropertyName, untrackedItems = [...components], isDown = direction === 0 || direction === 1;
|
|
43
|
+
const idPropName = this._trackingPropertyName, untrackedItems = [...components], newTrackItems = [], isDown = direction === 0 || direction === 1;
|
|
43
44
|
let isRegularSnapped = false;
|
|
44
45
|
for (let i = isDown ? 0 : items.length - 1, l = isDown ? items.length : 0; isDown ? i < l : i >= l; isDown ? i++ : i--) {
|
|
45
46
|
const item = items[i], itemTrackingProperty = item[idPropName];
|
|
46
47
|
if (this._trackMap) {
|
|
47
|
-
if (this._trackMap.
|
|
48
|
-
const diId = this._trackMap
|
|
48
|
+
if (this._trackMap.has(itemTrackingProperty)) {
|
|
49
|
+
const diId = this._trackMap.get(itemTrackingProperty), compIndex = this._displayObjectIndexMapById[diId], comp = components[compIndex];
|
|
49
50
|
const compId = comp?.instance?.id;
|
|
50
51
|
if (comp !== undefined && compId === diId) {
|
|
51
52
|
const indexByUntrackedItems = untrackedItems.findIndex(v => {
|
|
@@ -75,9 +76,15 @@ export class Tracker {
|
|
|
75
76
|
continue;
|
|
76
77
|
}
|
|
77
78
|
}
|
|
78
|
-
|
|
79
|
+
this._trackMap.delete(itemTrackingProperty);
|
|
79
80
|
}
|
|
80
81
|
}
|
|
82
|
+
if (untrackedItems.length > 0) {
|
|
83
|
+
newTrackItems.push(item);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
for (let i = 0, l = newTrackItems.length; i < l; i++) {
|
|
87
|
+
const item = newTrackItems[i], itemTrackingProperty = item[idPropName];
|
|
81
88
|
if (untrackedItems.length > 0) {
|
|
82
89
|
const comp = untrackedItems.shift(), item = items[i];
|
|
83
90
|
if (comp) {
|
|
@@ -101,7 +108,7 @@ export class Tracker {
|
|
|
101
108
|
comp.instance.show();
|
|
102
109
|
}
|
|
103
110
|
if (this._trackMap) {
|
|
104
|
-
this._trackMap
|
|
111
|
+
this._trackMap.set(itemTrackingProperty, comp.instance.id);
|
|
105
112
|
}
|
|
106
113
|
}
|
|
107
114
|
}
|
|
@@ -125,11 +132,13 @@ export class Tracker {
|
|
|
125
132
|
}
|
|
126
133
|
const propertyIdName = this._trackingPropertyName;
|
|
127
134
|
if (this._trackMap && component[propertyIdName] !== undefined) {
|
|
128
|
-
|
|
135
|
+
this._trackMap.delete(propertyIdName);
|
|
129
136
|
}
|
|
130
137
|
}
|
|
131
138
|
dispose() {
|
|
132
|
-
this._trackMap
|
|
139
|
+
if (this._trackMap) {
|
|
140
|
+
this._trackMap.clear();
|
|
141
|
+
}
|
|
133
142
|
}
|
|
134
143
|
}
|
|
135
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhY2tlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL3V0aWxzL3RyYWNrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ0JBOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFPLE9BQU87SUFDaEI7O09BRUc7SUFDTywwQkFBMEIsR0FBNkIsRUFBRSxDQUFDO0lBRXBFLElBQUkseUJBQXlCLENBQUMsQ0FBMkI7UUFDckQsSUFBSSxJQUFJLENBQUMsMEJBQTBCLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDeEMsT0FBTztRQUNYLENBQUM7UUFFRCxJQUFJLENBQUMsMEJBQTBCLEdBQUcsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFJLHlCQUF5QjtRQUN6QixPQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7O09BRUc7SUFDTyxTQUFTLEdBQWdELEVBQUUsQ0FBQztJQUV0RSxJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUVTLHFCQUFxQixDQUFVO0lBRXpDLElBQUksb0JBQW9CLENBQUMsQ0FBUztRQUM5QixJQUFJLENBQUMscUJBQXFCLEdBQUcsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxZQUFZLG9CQUE0QjtRQUNwQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsb0JBQW9CLENBQUM7SUFDdEQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLEtBQWlCLEVBQUUsVUFBa0MsRUFBRSxlQUFtRCxFQUM1RyxTQUEwQjtRQUMxQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDVCxPQUFPO1FBQ1gsQ0FBQztRQUVELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxjQUFjLEdBQUcsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxFQUFFLE1BQU0sR0FBRyxTQUFTLEtB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LElBQUksY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3hCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDcEQsTUFBTSxJQUFJLEdBQUcsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMvQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3pCLENBQUM7UUFDTCxDQUFDO1FBRUQsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDcEIsSUFBSSxlQUFlLEVBQUUsQ0FBQztnQkFDbEIsZUFBZSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO2dCQUNyQyxlQUFlLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3BDLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUVELDRCQUE0QixDQUFDLFNBQWE7UUFDdEMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2IsT0FBTztRQUNYLENBQUM7UUFFRCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUM7UUFFbEQsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFLLFNBQWlCLENBQUMsY0FBYyxDQUFDLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDckUsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTztRQUNILElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO0lBQzFCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFNjcm9sbERpcmVjdGlvbiB9IGZyb20gXCIuLi9tb2RlbHNcIjtcclxuaW1wb3J0IHsgSWQsIElTaXplIH0gZnJvbSBcIi4uL3R5cGVzXCI7XHJcbmltcG9ydCB7IEJhc2VWaXJ0dWFsTGlzdEl0ZW1Db21wb25lbnQgfSBmcm9tIFwiLi4vbW9kZWxzL2Jhc2UtdmlydHVhbC1saXN0LWl0ZW0tY29tcG9uZW50XCI7XHJcblxyXG50eXBlIFRyYWNraW5nUHJvcGVydHlJZCA9IHN0cmluZyB8IG51bWJlcjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVZpcnR1YWxMaXN0SXRlbUNvbXBvbmVudDxJID0gYW55PiB7XHJcbiAgICBnZXRCb3VuZHMoKTogSVNpemU7XHJcbiAgICBpdGVtSWQ6IElkO1xyXG4gICAgaWQ6IG51bWJlcjtcclxuICAgIGl0ZW06IEkgfCBudWxsO1xyXG4gICAgc2hvdzogKCkgPT4gdm9pZDtcclxuICAgIGhpZGU6ICgpID0+IHZvaWQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUcmFja3MgZGlzcGxheSBpdGVtcyBieSBwcm9wZXJ0eVxyXG4gKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vRGpvbm55WC9uZy12aXJ0dWFsLWxpc3QvYmxvYi8xOC54L3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL3V0aWxzL3RyYWNrZXIudHNcclxuICogQGF1dGhvciBFdmdlbmlpIEdyZWJlbm5pa292XHJcbiAqIEBlbWFpbCBkam9ubnl4QGdtYWlsLmNvbVxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFRyYWNrZXI8QyBleHRlbmRzIEJhc2VWaXJ0dWFsTGlzdEl0ZW1Db21wb25lbnQgPSBhbnk+IHtcclxuICAgIC8qKlxyXG4gICAgICogZGlzcGxheSBvYmplY3RzIGRpY3Rpb25hcnkgb2YgaW5kZXhlcyBieSBpZFxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgX2Rpc3BsYXlPYmplY3RJbmRleE1hcEJ5SWQ6IHsgW2lkOiBudW1iZXJdOiBudW1iZXIgfSA9IHt9O1xyXG5cclxuICAgIHNldCBkaXNwbGF5T2JqZWN0SW5kZXhNYXBCeUlkKHY6IHsgW2lkOiBudW1iZXJdOiBudW1iZXIgfSkge1xyXG4gICAgICAgIGlmICh0aGlzLl9kaXNwbGF5T2JqZWN0SW5kZXhNYXBCeUlkID09PSB2KSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuX2Rpc3BsYXlPYmplY3RJbmRleE1hcEJ5SWQgPSB2O1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBkaXNwbGF5T2JqZWN0SW5kZXhNYXBCeUlkKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9kaXNwbGF5T2JqZWN0SW5kZXhNYXBCeUlkO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRGljdGlvbmFyeSBkaXNwbGF5SXRlbXMgcHJvcGVydHlOYW1lSWQgYnkgaXRlbXMgcHJvcGVydHlOYW1lSWRcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIF90cmFja01hcDogeyBbaWQ6IFRyYWNraW5nUHJvcGVydHlJZF06IG51bWJlciB9IHwgbnVsbCA9IHt9O1xyXG5cclxuICAgIGdldCB0cmFja01hcCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fdHJhY2tNYXA7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIF90cmFja2luZ1Byb3BlcnR5TmFtZSE6IHN0cmluZztcclxuXHJcbiAgICBzZXQgdHJhY2tpbmdQcm9wZXJ0eU5hbWUodjogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5fdHJhY2tpbmdQcm9wZXJ0eU5hbWUgPSB2O1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKHRyYWNraW5nUHJvcGVydHlOYW1lOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLl90cmFja2luZ1Byb3BlcnR5TmFtZSA9IHRyYWNraW5nUHJvcGVydHlOYW1lO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogdHJhY2tpbmcgYnkgcHJvcE5hbWVcclxuICAgICAqL1xyXG4gICAgdHJhY2soaXRlbXM6IEFycmF5PGFueT4sIGNvbXBvbmVudHM6IEFycmF5PENvbXBvbmVudFJlZjxDPj4sIHNuYXBlZENvbXBvbmVudDogQ29tcG9uZW50UmVmPEM+IHwgbnVsbCB8IHVuZGVmaW5lZCxcclxuICAgICAgICBkaXJlY3Rpb246IFNjcm9sbERpcmVjdGlvbik6IHZvaWQge1xyXG4gICAgICAgIGlmICghaXRlbXMpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgaWRQcm9wTmFtZSA9IHRoaXMuX3RyYWNraW5nUHJvcGVydHlOYW1lLCB1bnRyYWNrZWRJdGVtcyA9IFsuLi5jb21wb25lbnRzXSwgaXNEb3duID0gZGlyZWN0aW9uID09PSAwIHx8IGRpcmVjdGlvbiA9PT0gMTtcclxuICAgICAgICBsZXQgaXNSZWd1bGFyU25hcHBlZCA9IGZhbHNlO1xyXG5cclxuICAgICAgICBmb3IgKGxldCBpID0gaXNEb3duID8gMCA6IGl0ZW1zLmxlbmd0aCAtIDEsIGwgPSBpc0Rvd24gPyBpdGVtcy5sZW5ndGggOiAwOyBpc0Rvd24gPyBpIDwgbCA6IGkgPj0gbDsgaXNEb3duID8gaSsrIDogaS0tKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSBpdGVtc1tpXSwgaXRlbVRyYWNraW5nUHJvcGVydHkgPSBpdGVtW2lkUHJvcE5hbWVdO1xyXG5cclxuICAgICAgICAgICAgaWYgKHRoaXMuX3RyYWNrTWFwKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5fdHJhY2tNYXAuaGFzT3duUHJvcGVydHkoaXRlbVRyYWNraW5nUHJvcGVydHkpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGlJZCA9IHRoaXMuX3RyYWNrTWFwW2l0ZW1UcmFja2luZ1Byb3BlcnR5XSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29tcEluZGV4ID0gdGhpcy5fZGlzcGxheU9iamVjdEluZGV4TWFwQnlJZFtkaUlkXSwgY29tcCA9IGNvbXBvbmVudHNbY29tcEluZGV4XTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29tcElkID0gY29tcD8uaW5zdGFuY2U/LmlkO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChjb21wICE9PSB1bmRlZmluZWQgJiYgY29tcElkID09PSBkaUlkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGluZGV4QnlVbnRyYWNrZWRJdGVtcyA9IHVudHJhY2tlZEl0ZW1zLmZpbmRJbmRleCh2ID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB2Lmluc3RhbmNlLmlkID09PSBjb21wSWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaW5kZXhCeVVudHJhY2tlZEl0ZW1zID4gLTEpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzbmFwZWRDb21wb25lbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXRlbVsnY29uZmlnJ11bJ3NuYXBwZWQnXSB8fCBpdGVtWydjb25maWcnXVsnc25hcHBlZE91dCddKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzUmVndWxhclNuYXBwZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbmFwZWRDb21wb25lbnQuaW5zdGFuY2UuaXRlbSA9IGl0ZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNuYXBlZENvbXBvbmVudC5pbnN0YW5jZS5zaG93KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcC5pbnN0YW5jZS5pdGVtID0gaXRlbTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc25hcGVkQ29tcG9uZW50KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW1bJ2NvbmZpZyddWydzbmFwcGVkJ10gfHwgaXRlbVsnY29uZmlnJ11bJ3NuYXBwZWRPdXQnXSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wLmluc3RhbmNlLmhpZGUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wLmluc3RhbmNlLnNob3coKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXAuaW5zdGFuY2Uuc2hvdygpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdW50cmFja2VkSXRlbXMuc3BsaWNlKGluZGV4QnlVbnRyYWNrZWRJdGVtcywgMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBkZWxldGUgdGhpcy5fdHJhY2tNYXBbaXRlbVRyYWNraW5nUHJvcGVydHldO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAodW50cmFja2VkSXRlbXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY29tcCA9IHVudHJhY2tlZEl0ZW1zLnNoaWZ0KCksIGl0ZW0gPSBpdGVtc1tpXTtcclxuICAgICAgICAgICAgICAgIGlmIChjb21wKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNuYXBlZENvbXBvbmVudCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXRlbVsnY29uZmlnJ11bJ3NuYXBwZWQnXSB8fCBpdGVtWydjb25maWcnXVsnc25hcHBlZE91dCddKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc1JlZ3VsYXJTbmFwcGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNuYXBlZENvbXBvbmVudC5pbnN0YW5jZS5pdGVtID0gaXRlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNuYXBlZENvbXBvbmVudC5pbnN0YW5jZS5zaG93KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgY29tcC5pbnN0YW5jZS5pdGVtID0gaXRlbTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoc25hcGVkQ29tcG9uZW50KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpdGVtWydjb25maWcnXVsnc25hcHBlZCddIHx8IGl0ZW1bJ2NvbmZpZyddWydzbmFwcGVkT3V0J10pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXAuaW5zdGFuY2UuaGlkZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcC5pbnN0YW5jZS5zaG93KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb21wLmluc3RhbmNlLnNob3coKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLl90cmFja01hcCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl90cmFja01hcFtpdGVtVHJhY2tpbmdQcm9wZXJ0eV0gPSBjb21wLmluc3RhbmNlLmlkO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHVudHJhY2tlZEl0ZW1zLmxlbmd0aCkge1xyXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMCwgbCA9IHVudHJhY2tlZEl0ZW1zLmxlbmd0aDsgaSA8IGw7IGkrKykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY29tcCA9IHVudHJhY2tlZEl0ZW1zW2ldO1xyXG4gICAgICAgICAgICAgICAgY29tcC5pbnN0YW5jZS5oaWRlKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghaXNSZWd1bGFyU25hcHBlZCkge1xyXG4gICAgICAgICAgICBpZiAoc25hcGVkQ29tcG9uZW50KSB7XHJcbiAgICAgICAgICAgICAgICBzbmFwZWRDb21wb25lbnQuaW5zdGFuY2UuaXRlbSA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICBzbmFwZWRDb21wb25lbnQuaW5zdGFuY2UuaGlkZSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHVudHJhY2tDb21wb25lbnRCeUlkUHJvcGVydHkoY29tcG9uZW50PzogQyk6IHZvaWQge1xyXG4gICAgICAgIGlmICghY29tcG9uZW50KSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IHByb3BlcnR5SWROYW1lID0gdGhpcy5fdHJhY2tpbmdQcm9wZXJ0eU5hbWU7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLl90cmFja01hcCAmJiAoY29tcG9uZW50IGFzIGFueSlbcHJvcGVydHlJZE5hbWVdICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgZGVsZXRlIHRoaXMuX3RyYWNrTWFwW3Byb3BlcnR5SWROYW1lXTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZGlzcG9zZSgpIHtcclxuICAgICAgICB0aGlzLl90cmFja01hcCA9IG51bGw7XHJcbiAgICB9XHJcbn0iXX0=
|
|
144
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhY2tlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL3V0aWxzL3RyYWNrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFlBQVksQ0FBQztBQWFsQzs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyxPQUFPO0lBQ2hCOztPQUVHO0lBQ08sMEJBQTBCLEdBQTZCLEVBQUUsQ0FBQztJQUVwRSxJQUFJLHlCQUF5QixDQUFDLENBQTJCO1FBQ3JELElBQUksSUFBSSxDQUFDLDBCQUEwQixLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3hDLE9BQU87UUFDWCxDQUFDO1FBRUQsSUFBSSxDQUFDLDBCQUEwQixHQUFHLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBSSx5QkFBeUI7UUFDekIsT0FBTyxJQUFJLENBQUMsMEJBQTBCLENBQUM7SUFDM0MsQ0FBQztJQUVEOztPQUVHO0lBQ08sU0FBUyxHQUFHLElBQUksSUFBSSxFQUE4QixDQUFDO0lBRTdELElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBRVMscUJBQXFCLENBQVU7SUFFekMsSUFBSSxvQkFBb0IsQ0FBQyxDQUFTO1FBQzlCLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELFlBQVksb0JBQTRCO1FBQ3BDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxvQkFBb0IsQ0FBQztJQUN0RCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsS0FBaUIsRUFBRSxVQUFrQyxFQUFFLGVBQW1ELEVBQzVHLFNBQTBCO1FBQzFCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNULE9BQU87UUFDWCxDQUFDO1FBRUQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixFQUFFLGNB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LGNBQWMsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUM7UUFFbEQsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFLLFNBQWlCLENBQUMsY0FBYyxDQUFDLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDckUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDMUMsQ0FBQztJQUNMLENBQUM7SUFFRCxPQUFPO1FBQ0gsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMzQixDQUFDO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50UmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgU2Nyb2xsRGlyZWN0aW9uIH0gZnJvbSBcIi4uL21vZGVsc1wiO1xyXG5pbXBvcnQgeyBJZCwgSVNpemUgfSBmcm9tIFwiLi4vdHlwZXNcIjtcclxuaW1wb3J0IHsgQmFzZVZpcnR1YWxMaXN0SXRlbUNvbXBvbmVudCB9IGZyb20gXCIuLi9tb2RlbHMvYmFzZS12aXJ0dWFsLWxpc3QtaXRlbS1jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQ01hcCB9IGZyb20gXCIuL2NhY2hlTWFwXCI7XHJcblxyXG50eXBlIFRyYWNraW5nUHJvcGVydHlJZCA9IHN0cmluZyB8IG51bWJlcjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVZpcnR1YWxMaXN0SXRlbUNvbXBvbmVudDxJID0gYW55PiB7XHJcbiAgICBnZXRCb3VuZHMoKTogSVNpemU7XHJcbiAgICBpdGVtSWQ6IElkO1xyXG4gICAgaWQ6IG51bWJlcjtcclxuICAgIGl0ZW06IEkgfCBudWxsO1xyXG4gICAgc2hvdzogKCkgPT4gdm9pZDtcclxuICAgIGhpZGU6ICgpID0+IHZvaWQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUcmFja3MgZGlzcGxheSBpdGVtcyBieSBwcm9wZXJ0eVxyXG4gKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vRGpvbm55WC9uZy12aXJ0dWFsLWxpc3QvYmxvYi8xOC54L3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL3V0aWxzL3RyYWNrZXIudHNcclxuICogQGF1dGhvciBFdmdlbmlpIEdyZWJlbm5pa292XHJcbiAqIEBlbWFpbCBkam9ubnl4QGdtYWlsLmNvbVxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFRyYWNrZXI8QyBleHRlbmRzIEJhc2VWaXJ0dWFsTGlzdEl0ZW1Db21wb25lbnQgPSBhbnk+IHtcclxuICAgIC8qKlxyXG4gICAgICogZGlzcGxheSBvYmplY3RzIGRpY3Rpb25hcnkgb2YgaW5kZXhlcyBieSBpZFxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgX2Rpc3BsYXlPYmplY3RJbmRleE1hcEJ5SWQ6IHsgW2lkOiBudW1iZXJdOiBudW1iZXIgfSA9IHt9O1xyXG5cclxuICAgIHNldCBkaXNwbGF5T2JqZWN0SW5kZXhNYXBCeUlkKHY6IHsgW2lkOiBudW1iZXJdOiBudW1iZXIgfSkge1xyXG4gICAgICAgIGlmICh0aGlzLl9kaXNwbGF5T2JqZWN0SW5kZXhNYXBCeUlkID09PSB2KSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuX2Rpc3BsYXlPYmplY3RJbmRleE1hcEJ5SWQgPSB2O1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBkaXNwbGF5T2JqZWN0SW5kZXhNYXBCeUlkKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9kaXNwbGF5T2JqZWN0SW5kZXhNYXBCeUlkO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRGljdGlvbmFyeSBkaXNwbGF5SXRlbXMgcHJvcGVydHlOYW1lSWQgYnkgaXRlbXMgcHJvcGVydHlOYW1lSWRcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIF90cmFja01hcCA9IG5ldyBDTWFwPFRyYWNraW5nUHJvcGVydHlJZCwgbnVtYmVyPigpO1xyXG5cclxuICAgIGdldCB0cmFja01hcCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fdHJhY2tNYXA7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIF90cmFja2luZ1Byb3BlcnR5TmFtZSE6IHN0cmluZztcclxuXHJcbiAgICBzZXQgdHJhY2tpbmdQcm9wZXJ0eU5hbWUodjogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5fdHJhY2tpbmdQcm9wZXJ0eU5hbWUgPSB2O1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKHRyYWNraW5nUHJvcGVydHlOYW1lOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLl90cmFja2luZ1Byb3BlcnR5TmFtZSA9IHRyYWNraW5nUHJvcGVydHlOYW1lO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogdHJhY2tpbmcgYnkgcHJvcE5hbWVcclxuICAgICAqL1xyXG4gICAgdHJhY2soaXRlbXM6IEFycmF5PGFueT4sIGNvbXBvbmVudHM6IEFycmF5PENvbXBvbmVudFJlZjxDPj4sIHNuYXBlZENvbXBvbmVudDogQ29tcG9uZW50UmVmPEM+IHwgbnVsbCB8IHVuZGVmaW5lZCxcclxuICAgICAgICBkaXJlY3Rpb246IFNjcm9sbERpcmVjdGlvbik6IHZvaWQge1xyXG4gICAgICAgIGlmICghaXRlbXMpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgaWRQcm9wTmFtZSA9IHRoaXMuX3RyYWNraW5nUHJvcGVydHlOYW1lLCB1bnRyYWNrZWRJdGVtcyA9IFsuLi5jb21wb25lbnRzXSwgbmV3VHJhY2tJdGVtczogQXJyYXk8Q29tcG9uZW50UmVmPEM+PiA9IFtdLCBpc0Rvd24gPSBkaXJlY3Rpb24gPT09IDAgfHwgZGlyZWN0aW9uID09PSAxO1xyXG4gICAgICAgIGxldCBpc1JlZ3VsYXJTbmFwcGVkID0gZmFsc2U7XHJcblxyXG4gICAgICAgIGZvciAobGV0IGkgPSBpc0Rvd24gPyAwIDogaXRlbXMubGVuZ3RoIC0gMSwgbCA9IGlzRG93biA/IGl0ZW1zLmxlbmd0aCA6IDA7IGlzRG93biA/IGkgPCBsIDogaSA+PSBsOyBpc0Rvd24gPyBpKysgOiBpLS0pIHtcclxuICAgICAgICAgICAgY29uc3QgaXRlbSA9IGl0ZW1zW2ldLCBpdGVtVHJhY2tpbmdQcm9wZXJ0eSA9IGl0ZW1baWRQcm9wTmFtZV07XHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy5fdHJhY2tNYXApIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLl90cmFja01hcC5oYXMoaXRlbVRyYWNraW5nUHJvcGVydHkpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGlJZCA9IHRoaXMuX3RyYWNrTWFwLmdldChpdGVtVHJhY2tpbmdQcm9wZXJ0eSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBJbmRleCA9IHRoaXMuX2Rpc3BsYXlPYmplY3RJbmRleE1hcEJ5SWRbZGlJZF0sIGNvbXAgPSBjb21wb25lbnRzW2NvbXBJbmRleF07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbXBJZCA9IGNvbXA/Lmluc3RhbmNlPy5pZDtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoY29tcCAhPT0gdW5kZWZpbmVkICYmIGNvbXBJZCA9PT0gZGlJZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbmRleEJ5VW50cmFja2VkSXRlbXMgPSB1bnRyYWNrZWRJdGVtcy5maW5kSW5kZXgodiA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdi5pbnN0YW5jZS5pZCA9PT0gY29tcElkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGluZGV4QnlVbnRyYWNrZWRJdGVtcyA+IC0xKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc25hcGVkQ29tcG9uZW50KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW1bJ2NvbmZpZyddWydzbmFwcGVkJ10gfHwgaXRlbVsnY29uZmlnJ11bJ3NuYXBwZWRPdXQnXSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc1JlZ3VsYXJTbmFwcGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc25hcGVkQ29tcG9uZW50Lmluc3RhbmNlLml0ZW0gPSBpdGVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbmFwZWRDb21wb25lbnQuaW5zdGFuY2Uuc2hvdygpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXAuaW5zdGFuY2UuaXRlbSA9IGl0ZW07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHNuYXBlZENvbXBvbmVudCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpdGVtWydjb25maWcnXVsnc25hcHBlZCddIHx8IGl0ZW1bJ2NvbmZpZyddWydzbmFwcGVkT3V0J10pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcC5pbnN0YW5jZS5oaWRlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcC5pbnN0YW5jZS5zaG93KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wLmluc3RhbmNlLnNob3coKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVudHJhY2tlZEl0ZW1zLnNwbGljZShpbmRleEJ5VW50cmFja2VkSXRlbXMsIDEpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdHJhY2tNYXAuZGVsZXRlKGl0ZW1UcmFja2luZ1Byb3BlcnR5KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKHVudHJhY2tlZEl0ZW1zLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgIG5ld1RyYWNrSXRlbXMucHVzaChpdGVtKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDAsIGwgPSBuZXdUcmFja0l0ZW1zLmxlbmd0aDsgaSA8IGw7IGkrKykge1xyXG4gICAgICAgICAgICBjb25zdCBpdGVtID0gbmV3VHJhY2tJdGVtc1tpXSwgaXRlbVRyYWNraW5nUHJvcGVydHkgPSAoaXRlbSBhcyBhbnkpW2lkUHJvcE5hbWVdO1xyXG4gICAgICAgICAgICBpZiAodW50cmFja2VkSXRlbXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY29tcCA9IHVudHJhY2tlZEl0ZW1zLnNoaWZ0KCksIGl0ZW0gPSBpdGVtc1tpXTtcclxuICAgICAgICAgICAgICAgIGlmIChjb21wKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNuYXBlZENvbXBvbmVudCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXRlbVsnY29uZmlnJ11bJ3NuYXBwZWQnXSB8fCBpdGVtWydjb25maWcnXVsnc25hcHBlZE91dCddKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc1JlZ3VsYXJTbmFwcGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNuYXBlZENvbXBvbmVudC5pbnN0YW5jZS5pdGVtID0gaXRlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNuYXBlZENvbXBvbmVudC5pbnN0YW5jZS5zaG93KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgY29tcC5pbnN0YW5jZS5pdGVtID0gaXRlbTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoc25hcGVkQ29tcG9uZW50KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpdGVtWydjb25maWcnXVsnc25hcHBlZCddIHx8IGl0ZW1bJ2NvbmZpZyddWydzbmFwcGVkT3V0J10pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXAuaW5zdGFuY2UuaGlkZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcC5pbnN0YW5jZS5zaG93KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb21wLmluc3RhbmNlLnNob3coKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLl90cmFja01hcCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl90cmFja01hcC5zZXQoaXRlbVRyYWNraW5nUHJvcGVydHksIGNvbXAuaW5zdGFuY2UuaWQpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHVudHJhY2tlZEl0ZW1zLmxlbmd0aCkge1xyXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMCwgbCA9IHVudHJhY2tlZEl0ZW1zLmxlbmd0aDsgaSA8IGw7IGkrKykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY29tcCA9IHVudHJhY2tlZEl0ZW1zW2ldO1xyXG4gICAgICAgICAgICAgICAgY29tcC5pbnN0YW5jZS5oaWRlKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghaXNSZWd1bGFyU25hcHBlZCkge1xyXG4gICAgICAgICAgICBpZiAoc25hcGVkQ29tcG9uZW50KSB7XHJcbiAgICAgICAgICAgICAgICBzbmFwZWRDb21wb25lbnQuaW5zdGFuY2UuaXRlbSA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICBzbmFwZWRDb21wb25lbnQuaW5zdGFuY2UuaGlkZSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHVudHJhY2tDb21wb25lbnRCeUlkUHJvcGVydHkoY29tcG9uZW50PzogQyk6IHZvaWQge1xyXG4gICAgICAgIGlmICghY29tcG9uZW50KSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IHByb3BlcnR5SWROYW1lID0gdGhpcy5fdHJhY2tpbmdQcm9wZXJ0eU5hbWU7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLl90cmFja01hcCAmJiAoY29tcG9uZW50IGFzIGFueSlbcHJvcGVydHlJZE5hbWVdICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5fdHJhY2tNYXAuZGVsZXRlKHByb3BlcnR5SWROYW1lKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZGlzcG9zZSgpIHtcclxuICAgICAgICBpZiAodGhpcy5fdHJhY2tNYXApIHtcclxuICAgICAgICAgICAgdGhpcy5fdHJhY2tNYXAuY2xlYXIoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iXX0=
|
|
@@ -608,7 +608,7 @@ class Tracker {
|
|
|
608
608
|
/**
|
|
609
609
|
* Dictionary displayItems propertyNameId by items propertyNameId
|
|
610
610
|
*/
|
|
611
|
-
this._trackMap =
|
|
611
|
+
this._trackMap = new CMap();
|
|
612
612
|
this._trackingPropertyName = trackingPropertyName;
|
|
613
613
|
}
|
|
614
614
|
/**
|
|
@@ -619,13 +619,13 @@ class Tracker {
|
|
|
619
619
|
if (!items) {
|
|
620
620
|
return;
|
|
621
621
|
}
|
|
622
|
-
const idPropName = this._trackingPropertyName, untrackedItems = [...components], isDown = direction === 0 || direction === 1;
|
|
622
|
+
const idPropName = this._trackingPropertyName, untrackedItems = [...components], newTrackItems = [], isDown = direction === 0 || direction === 1;
|
|
623
623
|
let isRegularSnapped = false;
|
|
624
624
|
for (let i = isDown ? 0 : items.length - 1, l = isDown ? items.length : 0; isDown ? i < l : i >= l; isDown ? i++ : i--) {
|
|
625
625
|
const item = items[i], itemTrackingProperty = item[idPropName];
|
|
626
626
|
if (this._trackMap) {
|
|
627
|
-
if (this._trackMap.
|
|
628
|
-
const diId = this._trackMap
|
|
627
|
+
if (this._trackMap.has(itemTrackingProperty)) {
|
|
628
|
+
const diId = this._trackMap.get(itemTrackingProperty), compIndex = this._displayObjectIndexMapById[diId], comp = components[compIndex];
|
|
629
629
|
const compId = (_a = comp === null || comp === void 0 ? void 0 : comp.instance) === null || _a === void 0 ? void 0 : _a.id;
|
|
630
630
|
if (comp !== undefined && compId === diId) {
|
|
631
631
|
const indexByUntrackedItems = untrackedItems.findIndex(v => {
|
|
@@ -655,9 +655,15 @@ class Tracker {
|
|
|
655
655
|
continue;
|
|
656
656
|
}
|
|
657
657
|
}
|
|
658
|
-
|
|
658
|
+
this._trackMap.delete(itemTrackingProperty);
|
|
659
659
|
}
|
|
660
660
|
}
|
|
661
|
+
if (untrackedItems.length > 0) {
|
|
662
|
+
newTrackItems.push(item);
|
|
663
|
+
}
|
|
664
|
+
}
|
|
665
|
+
for (let i = 0, l = newTrackItems.length; i < l; i++) {
|
|
666
|
+
const item = newTrackItems[i], itemTrackingProperty = item[idPropName];
|
|
661
667
|
if (untrackedItems.length > 0) {
|
|
662
668
|
const comp = untrackedItems.shift(), item = items[i];
|
|
663
669
|
if (comp) {
|
|
@@ -681,7 +687,7 @@ class Tracker {
|
|
|
681
687
|
comp.instance.show();
|
|
682
688
|
}
|
|
683
689
|
if (this._trackMap) {
|
|
684
|
-
this._trackMap
|
|
690
|
+
this._trackMap.set(itemTrackingProperty, comp.instance.id);
|
|
685
691
|
}
|
|
686
692
|
}
|
|
687
693
|
}
|
|
@@ -705,11 +711,13 @@ class Tracker {
|
|
|
705
711
|
}
|
|
706
712
|
const propertyIdName = this._trackingPropertyName;
|
|
707
713
|
if (this._trackMap && component[propertyIdName] !== undefined) {
|
|
708
|
-
|
|
714
|
+
this._trackMap.delete(propertyIdName);
|
|
709
715
|
}
|
|
710
716
|
}
|
|
711
717
|
dispose() {
|
|
712
|
-
this._trackMap
|
|
718
|
+
if (this._trackMap) {
|
|
719
|
+
this._trackMap.clear();
|
|
720
|
+
}
|
|
713
721
|
}
|
|
714
722
|
}
|
|
715
723
|
|