virtual-scroll-core
height cacheable virtual scroll - core only
Last updated 4 years ago by berlysia .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install virtual-scroll-core 
SYNC missed versions from official npm registry.

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 items
  • bufferSize number number of outer items to be sliced
  • assumedHeight number default height for height-unknown items
  • itemToCacheKey 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 element
  • props CoreOptions other properties

updateCache

Parameters

  • item Any value which is present in props.items
  • val number new value for cache

Returns boolean successfully updated or not

update

Returns CoreState next visible items

reset

clearCache

getOffsetByIndex

Parameters

Returns number offset - offsetY for specified item

getHeightByIndex

Parameters

Returns number height - offsetHeight for specified item

getIndexByOffset

Parameters

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 items
  • offsetTop number first item should have this offsetTop
  • firstIdx number first sliced index
  • lastIdx number last sliced index
  • visibleFirstIdx number first visible index
  • visibleLastIdx 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.

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. 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.

Current Tags

  • 0.1.2                                ...           latest (4 years ago)

5 Versions

  • 0.1.2                                ...           4 years ago
  • 0.1.1                                ...           4 years ago
  • 0.1.0                                ...           4 years ago
  • 0.0.2                                ...           4 years ago
  • 0.0.1                                ...           4 years ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (6)

Copyright 2014 - 2017 © taobao.org |