ng-virtual-list 18.3.2 → 18.4.0
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 +9 -8
- package/esm2022/lib/components/ng-virtual-list-item.component.mjs +2 -2
- package/esm2022/lib/const/index.mjs +3 -2
- package/esm2022/lib/ng-virtual-list.component.mjs +35 -9
- package/esm2022/lib/utils/buffer-interpolation.mjs +27 -0
- package/esm2022/lib/utils/trackBox.mjs +49 -10
- package/fesm2022/ng-virtual-list.mjs +111 -19
- package/fesm2022/ng-virtual-list.mjs.map +1 -1
- package/lib/const/index.d.ts +2 -1
- package/lib/ng-virtual-list.component.d.ts +14 -1
- package/lib/utils/buffer-interpolation.d.ts +5 -0
- package/lib/utils/trackBox.d.ts +16 -1
- package/package.json +1 -1
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
const DEFAULT_EXTRA = {
|
|
2
|
+
extremumThreshold: 2,
|
|
3
|
+
bufferSize: 10,
|
|
4
|
+
};
|
|
5
|
+
export const bufferInterpolation = (currentBufferValue, array, value, extra) => {
|
|
6
|
+
const { extremumThreshold = DEFAULT_EXTRA.extremumThreshold, bufferSize = DEFAULT_EXTRA.bufferSize, } = extra ?? DEFAULT_EXTRA;
|
|
7
|
+
if (currentBufferValue < value) {
|
|
8
|
+
let i = 0;
|
|
9
|
+
while (i < extremumThreshold) {
|
|
10
|
+
array.push(value);
|
|
11
|
+
i++;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
array.push(value);
|
|
16
|
+
}
|
|
17
|
+
while (array.length >= bufferSize) {
|
|
18
|
+
array.shift();
|
|
19
|
+
}
|
|
20
|
+
const l = array.length;
|
|
21
|
+
let buffer = 0;
|
|
22
|
+
for (let i = 0; i < l; i++) {
|
|
23
|
+
buffer += array[i];
|
|
24
|
+
}
|
|
25
|
+
return Math.ceil(buffer / l);
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVmZmVyLWludGVycG9sYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi91dGlscy9idWZmZXItaW50ZXJwb2xhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLGFBQWEsR0FBRztJQUNsQixpQkFBaUIsRUFBRSxDQUFDO0lBQ3BCLFVBQVUsRUFBRSxFQUFFO0NBQ2pCLENBQUM7QUFPRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLGtCQUEwQixFQUFFLEtBQW9CLEVBQUUsS0FBYSxFQUFFLEtBQXFCLEVBQUUsRUFBRTtJQUMxSCxNQUFNLEVBQ0YsaUJBQWlCLEdBQUcsYUFBYSxDQUFDLGlCQUFpQixFQUNuRCxVQUFVLEdBQUcsYUFBYSxDQUFDLFVBQVUsR0FDeEMsR0FBRyxLQUFLLElBQUksYUFBYSxDQUFDO0lBRTNCLElBQUksa0JBQWtCLEdBQUcsS0FBSyxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ1YsT0FBTyxDQUFDLEdBQUcsaUJBQWlCLEVBQUUsQ0FBQztZQUMzQixLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2xCLENBQUMsRUFBRSxDQUFDO1FBQ1IsQ0FBQztJQUNMLENBQUM7U0FBTSxDQUFDO1FBQ0osS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QixDQUFDO0lBRUQsT0FBTyxLQUFLLENBQUMsTUFBTSxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ2hDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUN2QixJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFFZixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDekIsTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztBQUNqQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBERUZBVUxUX0VYVFJBID0ge1xyXG4gICAgZXh0cmVtdW1UaHJlc2hvbGQ6IDIsXHJcbiAgICBidWZmZXJTaXplOiAxMCxcclxufTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUV4dHJhT3B0aW9ucyB7XHJcbiAgICBleHRyZW11bVRocmVzaG9sZD86IG51bWJlcjtcclxuICAgIGJ1ZmZlclNpemU/OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBidWZmZXJJbnRlcnBvbGF0aW9uID0gKGN1cnJlbnRCdWZmZXJWYWx1ZTogbnVtYmVyLCBhcnJheTogQXJyYXk8bnVtYmVyPiwgdmFsdWU6IG51bWJlciwgZXh0cmE/OiBJRXh0cmFPcHRpb25zKSA9PiB7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgICAgZXh0cmVtdW1UaHJlc2hvbGQgPSBERUZBVUxUX0VYVFJBLmV4dHJlbXVtVGhyZXNob2xkLFxyXG4gICAgICAgIGJ1ZmZlclNpemUgPSBERUZBVUxUX0VYVFJBLmJ1ZmZlclNpemUsXHJcbiAgICB9ID0gZXh0cmEgPz8gREVGQVVMVF9FWFRSQTtcclxuXHJcbiAgICBpZiAoY3VycmVudEJ1ZmZlclZhbHVlIDwgdmFsdWUpIHtcclxuICAgICAgICBsZXQgaSA9IDA7XHJcbiAgICAgICAgd2hpbGUgKGkgPCBleHRyZW11bVRocmVzaG9sZCkge1xyXG4gICAgICAgICAgICBhcnJheS5wdXNoKHZhbHVlKTtcclxuICAgICAgICAgICAgaSsrO1xyXG4gICAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgICAgYXJyYXkucHVzaCh2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgd2hpbGUgKGFycmF5Lmxlbmd0aCA+PSBidWZmZXJTaXplKSB7XHJcbiAgICAgICAgYXJyYXkuc2hpZnQoKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBsID0gYXJyYXkubGVuZ3RoO1xyXG4gICAgbGV0IGJ1ZmZlciA9IDA7XHJcblxyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsOyBpKyspIHtcclxuICAgICAgICBidWZmZXIgKz0gYXJyYXlbaV07XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIE1hdGguY2VpbChidWZmZXIgLyBsKTtcclxufTtcclxuIl19
|