virtual-scroll-core
v0.1.2
Published
height cacheable virtual scroll - core only
Downloads
12
Readme
virtual-scroll-core
height cacheable virtual scroll - core only
Install
Install with npm:
npm install virtual-scroll-coreUsage
WIP
API
CoreOptions
Properties
itemsArray<Any> original list itemsbufferSizenumber number of outer items to be slicedassumedHeightnumber default height for height-unknown itemsitemToCacheKeyFunction use this if you like one-to-many correspondence between items and cached heights.heightCacheMapLike key-value cache
VirtualScrollCore
constructor
Parameters
viewportElViewportElement scrolling container element (that is window in basic case)contentElContentBoxElement items container elementpropsCoreOptions other properties
updateCache
Parameters
itemAny value which is present in props.itemsvalnumber new value for cache
Returns boolean successfully updated or not
update
Returns CoreState next visible items
reset
clearCache
getOffsetByIndex
Parameters
indexnumber index of items
Returns number offset - offsetY for specified item
getHeightByIndex
Parameters
indexnumber index of items
Returns number height - offsetHeight for specified item
getIndexByOffset
Parameters
offsetnumber target offset
Returns number index - index of first item which has offset larger than given one
getContentHeight
Returns number contentHeight - height of all items
getOffsetTop
Returns number offsetTop - offset of items container
getVisibleFirstIndex
Returns number visibleFirstIdx - index of visible first sliced item
getVisibleLastIndex
Returns number visibleLastIdx - index of visible last sliced item
getFirstIndex
Returns number firstIdx - index of first sliced item
getLastIndex
Returns number lastIdx - index of last sliced item
getItems
Returns Array<Any> items
getItemsLength
Returns number length of items
getItemsLastIndex
Returns number last index of items
getVisibleHeight
Parameters
absTopOffset[number] absolute top offset in items container element
Returns number visibleHeight - clientHeight in container element
getScrollTop
Returns number offsetTop - offset of items container
CoreState
Properties
itemsArray<Any> sliced items (to be rendered)contentHeightnumber assumed height of all itemsoffsetTopnumber first item should have this offsetTopfirstIdxnumber first sliced indexlastIdxnumber last sliced indexvisibleFirstIdxnumber first visible indexvisibleLastIdxnumber last visible index
Running tests
Install devDependencies and Run npm test.
or simply:
npm -d itContributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature - Commit your changes:
git commit -am 'Add some feature' - Push to the branch:
git push origin my-new-feature - Submit a pull request :D
Special Thanks
Basic idea is derived from mir3z/react-virtual-list (MIT License).
License
Copyright © 2016-present berlysia. Licensed under the MIT license.
