Socket
Socket
Sign inDemoInstall

rc-scroll-pagination

Package Overview
Dependencies
Maintainers
3
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

rc-scroll-pagination

A react component for pagination with scrolling.


Version published
Weekly downloads
1
decreased by-66.67%
Maintainers
3
Weekly downloads
 
Created
Source

Scroll Pagination

A react component for pagination with scrolling. It will execute the subscribing function after fetching function. Scroll pagination can listen from different scroll provider (not only from window or first parent as is in the case other packages)

Installation

npm install --save rc-scroll-pagination

Your listing

    <ScrollPagination
        Loader={<Loader />}
        onSubscribe={(params, done) => Meteor.subscribe('myDocs', params, done)}
        onFetchData={() => myDocs.find().fetch()}
    >
        {(item) => {
            return <FileItem file={item} height={ROW_HEIGHT} />;
        }}
    </ScrollPagination>

Connecting to layout (a element, which have scrollbar)

//Should be done once for every listings

<ScrollProvider>
    <main className="col-sm-12 no-side-paddings">
        <ScrollPagination onSubscribe onFetchData>
            { (item) => <div>{item.title}</div> }
        </ScrollPagination>
    </main>
</ScrollProvider>

Custom using of ScrollProvider

<ScrollProvider eventName="menuScroll">
    <div style={{height: '10000px'}}>
    {/* ... */}
    </div>
</ScrollProvider>
  • consumer (component, that is interested for observation of scroll):
import {ScrollProvider} from 'rc-scroll-pagination';

//----- Your Component:

constructor () {
    // Method that will be observer:
    this.updateMe = this.setState.bind(this);
}

componentWillMount () {
    //register method from your component as a observer:
    ScrollProvider.onScroll(this.updateMe, 'menuScroll', {initialize = true, highPrecision = false});
}

componentWillUnmount () {
    //unregister observer methods:
    ScrollProvider.offScroll(this.updateMe, 'menuScroll');
}

Parameters

For ScrollPagination

  • step (default 25) count of loading data per one part
  • Loader Component for waiting, until data will not be ready
  • Item Component that renders an item, material-ui/ListItem by default
  • Container Component that contains items, material-ui/List by default
  • onSubscribe (default () => {}) Callback for moment when data should be subscribed, It must to return object with method stop
  • onFetchData (required) Callback when data should be fetched
  • eventName (default contentScroll) Name of event for proper scroll provider
  • children (required) Mapper function for rendering of items

For ScrollProvider

  • eventName (default contentScroll) Name of event under scroll will be provided
  • className, style

Keywords

FAQs

Package last updated on 25 Feb 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc