File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11import {
2+ Virtualizer ,
23 VirtualizerOptions ,
34 elementScroll ,
45 useVirtualizer ,
@@ -29,6 +30,18 @@ const determineScale = (parentElement: HTMLElement, width: number): number => {
2930 return scaleWidth ;
3031} ;
3132
33+ const getOffsetForIndexEager = (
34+ index : number ,
35+ virtualizer : Virtualizer < any , any > ,
36+ estimateSize : ( i : number ) => number ,
37+ ) => {
38+ let offset = virtualizer . options . paddingStart ;
39+ for ( let i = 0 ; i < index ; i ++ ) {
40+ offset += estimateSize ( i ) + virtualizer . options . gap ;
41+ }
42+ return offset ;
43+ } ;
44+
3245export interface ZoomState {
3346 currentScale : number | null ;
3447 nextScale : number | null ;
@@ -313,11 +326,11 @@ const Reader = ({
313326 // scrollAnchor.index,
314327 // "start",
315328 // )?.[0];
316- let offset = virtualizer . options . paddingStart ;
317- for ( let i = 0 ; i < scrollAnchor . index ; i ++ ) {
318- offset += estimateSize ( i ) + virtualizer . options . gap ;
319- }
320- const startOffset = offset ;
329+ const startOffset = getOffsetForIndexEager (
330+ scrollAnchor . index ,
331+ virtualizer ,
332+ estimateSize ,
333+ ) ;
321334
322335 console . log ( { ...scrollAnchor } ) ;
323336 if ( startOffset != null ) {
You can’t perform that action at this time.
0 commit comments