virtua 0.51.1 → 0.51.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/lib/angular/index.js +27 -27
- package/lib/angular/index.js.map +1 -1
- package/lib/core/index.cjs +13 -13
- package/lib/core/index.cjs.map +1 -1
- package/lib/core/index.js +1 -1
- package/lib/core/index.js.map +1 -1
- package/lib/index.cjs +2 -2
- package/lib/index.cjs.map +1 -1
- package/lib/index.js +36 -36
- package/lib/index.js.map +1 -1
- package/lib/solid/Virtualizer.d.ts +1 -1
- package/lib/solid/WindowVirtualizer.d.ts +1 -1
- package/lib/solid/index.cjs +58 -58
- package/lib/solid/index.cjs.map +1 -1
- package/lib/solid/index.js +194 -194
- package/lib/solid/index.js.map +1 -1
- package/lib/solid/index.jsx +48 -49
- package/lib/solid/index.jsx.map +1 -1
- package/lib/svelte/Virtualizer.svelte +2 -1
- package/lib/svelte/WindowVirtualizer.svelte +2 -1
- package/lib/vue/index.cjs +5 -5
- package/lib/vue/index.cjs.map +1 -1
- package/lib/vue/index.js +5 -5
- package/lib/vue/index.js.map +1 -1
- package/package.json +1 -1
package/lib/solid/index.jsx
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { For, createComputed, createEffect, createMemo, createSignal, mergeProps, on, onCleanup, onMount, splitProps, untrack } from "solid-js";
|
|
2
|
-
import { Dynamic } from "solid-js/web";
|
|
2
|
+
import { Dynamic, isServer } from "solid-js/web";
|
|
3
3
|
|
|
4
4
|
//#region src/core/utils.ts
|
|
5
5
|
var NULL = null;
|
|
@@ -689,7 +689,6 @@ var createWindowDriver = (store, isHorizontal) => {
|
|
|
689
689
|
cleanupOnWindowResize && cleanupOnWindowResize();
|
|
690
690
|
resizeObserver._dispose();
|
|
691
691
|
scrollObserver && scrollObserver._dispose();
|
|
692
|
-
viewportElement = undefined;
|
|
693
692
|
initialized[1](false);
|
|
694
693
|
initialized = createPromise();
|
|
695
694
|
},
|
|
@@ -982,35 +981,34 @@ var Virtualizer = (props) => {
|
|
|
982
981
|
});
|
|
983
982
|
const isScrolling = createMemo(() => stateVersion() && store.$isScrolling());
|
|
984
983
|
const totalSize = createMemo(() => stateVersion() && store.$getTotalSize());
|
|
984
|
+
const ref = props.ref;
|
|
985
|
+
if (!isServer && ref) {
|
|
986
|
+
ref({
|
|
987
|
+
get cache() {
|
|
988
|
+
return layout.$snapshot();
|
|
989
|
+
},
|
|
990
|
+
get scrollOffset() {
|
|
991
|
+
return store.$getScrollOffset();
|
|
992
|
+
},
|
|
993
|
+
get scrollSize() {
|
|
994
|
+
return getScrollSize(store);
|
|
995
|
+
},
|
|
996
|
+
get viewportSize() {
|
|
997
|
+
return store.$getViewportSize();
|
|
998
|
+
},
|
|
999
|
+
findItemIndex: store.$findItemIndex,
|
|
1000
|
+
getItemOffset: store.$getItemOffset,
|
|
1001
|
+
getItemSize: store.$getItemSize,
|
|
1002
|
+
scrollToIndex: (index, opts) => scrollToIndex(driver, store, index, opts),
|
|
1003
|
+
scrollTo: (offset) => scrollTo(driver, offset),
|
|
1004
|
+
scrollBy: (offset) => scrollBy(driver, store, offset)
|
|
1005
|
+
});
|
|
1006
|
+
onCleanup(() => ref());
|
|
1007
|
+
}
|
|
985
1008
|
onMount(() => {
|
|
986
1009
|
setIsSSR(false);
|
|
987
|
-
if (props.ref) {
|
|
988
|
-
props.ref({
|
|
989
|
-
get cache() {
|
|
990
|
-
return layout.$snapshot();
|
|
991
|
-
},
|
|
992
|
-
get scrollOffset() {
|
|
993
|
-
return store.$getScrollOffset();
|
|
994
|
-
},
|
|
995
|
-
get scrollSize() {
|
|
996
|
-
return getScrollSize(store);
|
|
997
|
-
},
|
|
998
|
-
get viewportSize() {
|
|
999
|
-
return store.$getViewportSize();
|
|
1000
|
-
},
|
|
1001
|
-
findItemIndex: store.$findItemIndex,
|
|
1002
|
-
getItemOffset: store.$getItemOffset,
|
|
1003
|
-
getItemSize: store.$getItemSize,
|
|
1004
|
-
scrollToIndex: (index, opts) => scrollToIndex(driver, store, index, opts),
|
|
1005
|
-
scrollTo: (offset) => scrollTo(driver, offset),
|
|
1006
|
-
scrollBy: (offset) => scrollBy(driver, store, offset)
|
|
1007
|
-
});
|
|
1008
|
-
}
|
|
1009
1010
|
driver.$observe(containerRef, props.scrollRef);
|
|
1010
1011
|
onCleanup(() => {
|
|
1011
|
-
if (props.ref) {
|
|
1012
|
-
props.ref();
|
|
1013
|
-
}
|
|
1014
1012
|
store.$dispose();
|
|
1015
1013
|
driver.$dispose();
|
|
1016
1014
|
});
|
|
@@ -1038,8 +1036,10 @@ var Virtualizer = (props) => {
|
|
|
1038
1036
|
mounted.add(i);
|
|
1039
1037
|
}
|
|
1040
1038
|
sort([...mounted]).forEach((index) => {
|
|
1041
|
-
|
|
1042
|
-
|
|
1039
|
+
if (index < count) {
|
|
1040
|
+
items.push(props.data[index]);
|
|
1041
|
+
indexes.push(index);
|
|
1042
|
+
}
|
|
1043
1043
|
});
|
|
1044
1044
|
} else {
|
|
1045
1045
|
for (let [i, j] = range(); i <= j; i++) {
|
|
@@ -1146,30 +1146,29 @@ var WindowVirtualizer = (props) => {
|
|
|
1146
1146
|
});
|
|
1147
1147
|
const isScrolling = createMemo(() => stateVersion() && store.$isScrolling());
|
|
1148
1148
|
const totalSize = createMemo(() => stateVersion() && store.$getTotalSize());
|
|
1149
|
+
const ref = props.ref;
|
|
1150
|
+
if (!isServer && ref) {
|
|
1151
|
+
ref({
|
|
1152
|
+
get cache() {
|
|
1153
|
+
return layout.$snapshot();
|
|
1154
|
+
},
|
|
1155
|
+
get scrollOffset() {
|
|
1156
|
+
return store.$getScrollOffset();
|
|
1157
|
+
},
|
|
1158
|
+
get viewportSize() {
|
|
1159
|
+
return store.$getViewportSize();
|
|
1160
|
+
},
|
|
1161
|
+
findItemIndex: store.$findItemIndex,
|
|
1162
|
+
getItemOffset: store.$getItemOffset,
|
|
1163
|
+
getItemSize: store.$getItemSize,
|
|
1164
|
+
scrollToIndex: (index, opts) => scrollToIndex(driver, store, index, opts)
|
|
1165
|
+
});
|
|
1166
|
+
onCleanup(() => ref());
|
|
1167
|
+
}
|
|
1149
1168
|
onMount(() => {
|
|
1150
1169
|
setIsSSR(false);
|
|
1151
|
-
if (props.ref) {
|
|
1152
|
-
props.ref({
|
|
1153
|
-
get cache() {
|
|
1154
|
-
return layout.$snapshot();
|
|
1155
|
-
},
|
|
1156
|
-
get scrollOffset() {
|
|
1157
|
-
return store.$getScrollOffset();
|
|
1158
|
-
},
|
|
1159
|
-
get viewportSize() {
|
|
1160
|
-
return store.$getViewportSize();
|
|
1161
|
-
},
|
|
1162
|
-
findItemIndex: store.$findItemIndex,
|
|
1163
|
-
getItemOffset: store.$getItemOffset,
|
|
1164
|
-
getItemSize: store.$getItemSize,
|
|
1165
|
-
scrollToIndex: (index, opts) => scrollToIndex(driver, store, index, opts)
|
|
1166
|
-
});
|
|
1167
|
-
}
|
|
1168
1170
|
driver.$observe(containerRef);
|
|
1169
1171
|
onCleanup(() => {
|
|
1170
|
-
if (props.ref) {
|
|
1171
|
-
props.ref();
|
|
1172
|
-
}
|
|
1173
1172
|
store.$dispose();
|
|
1174
1173
|
driver.$dispose();
|
|
1175
1174
|
});
|