virtual-scroll-core
v0.1.2
Published
height cacheable virtual scroll - core only
Downloads
6
Readme
virtual-scroll-core
height cacheable virtual scroll - core only
Install
Install with npm:
npm install virtual-scroll-core
Usage
WIP
API
CoreOptions
Properties
items
Array<Any> original list itemsbufferSize
number number of outer items to be slicedassumedHeight
number default height for height-unknown itemsitemToCacheKey
Function use this if you like one-to-many correspondence between items and cached heights.heightCache
MapLike key-value cache
VirtualScrollCore
constructor
Parameters
viewportEl
ViewportElement scrolling container element (that is window in basic case)contentEl
ContentBoxElement items container elementprops
CoreOptions other properties
updateCache
Parameters
item
Any value which is present in props.itemsval
number new value for cache
Returns boolean successfully updated or not
update
Returns CoreState next visible items
reset
clearCache
getOffsetByIndex
Parameters
index
number index of items
Returns number offset - offsetY for specified item
getHeightByIndex
Parameters
index
number index of items
Returns number height - offsetHeight for specified item
getIndexByOffset
Parameters
offset
number 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
items
Array<Any> sliced items (to be rendered)contentHeight
number assumed height of all itemsoffsetTop
number first item should have this offsetTopfirstIdx
number first sliced indexlastIdx
number last sliced indexvisibleFirstIdx
number first visible indexvisibleLastIdx
number last visible index
Running tests
Install devDependencies and Run npm test
.
or simply:
npm -d it
Contributing
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.