paginate_firestore 1.0.3+1 copy "paginate_firestore: ^1.0.3+1" to clipboard
paginate_firestore: ^1.0.3+1 copied to clipboard

A flutter package to simplify pagination with firestore data.

Pagination in Firestore #

All Contributors

pub package style: effective dart License: MIT

Setup #

Use the same setup used for cloud_firestore package (or follow this).

Usage #

In your pubspec.yaml

dependencies:
  paginate_firestore: # latest version

Import it

import 'package:paginate_firestore/paginate_firestore.dart';

Implement it

      PaginateFirestore(
        //item builder type is compulsory.
        itemBuilder: (context, documentSnapshots, index) {
          final data = documentSnapshots[index].data() as Map?;
          return ListTile(
            leading: CircleAvatar(child: Icon(Icons.person)),
            title: data == null ? Text('Error in data') : Text(data['name']),
            subtitle: Text(documentSnapshots[index].id),
          );
        },
        // orderBy is compulsory to enable pagination
        query: FirebaseFirestore.instance.collection('users').orderBy('name'),
        //Change types accordingly
        itemBuilderType: PaginateBuilderType.listView,
        // to fetch real-time data
        isLive: true,
      ),

To use with listeners:

      PaginateRefreshedChangeListener refreshChangeListener = PaginateRefreshedChangeListener();

      RefreshIndicator(
        child: PaginateFirestore(
          itemBuilder: (context, documentSnapshots, index) => ListTile(
            leading: CircleAvatar(child: Icon(Icons.person)),
            title: Text(documentSnapshots[index].data()['name']),
            subtitle: Text(documentSnapshots[index].id),
          ),
          // orderBy is compulsary to enable pagination
          query: Firestore.instance.collection('users').orderBy('name'),
          listeners: [
            refreshChangeListener,
          ],
        ),
        onRefresh: () async {
          refreshChangeListener.refreshed = true;
        },
      )

Contributions #

Feel free to contribute to this project.

If you find a bug or want a feature, but don't know how to fix/implement it, please fill an issue. If you fixed a bug or implemented a feature, please send a pull request.

Getting Started #

This project is a starting point for a Dart package, a library module containing code that can be shared easily across multiple Flutter or Dart projects.

For help getting started with Flutter, view our online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.

Contributors ✨ #

Thanks goes to these wonderful people:


Adam Dupuis

πŸ’»

Gautham

πŸ’»

Hafeez Ahmed

πŸ’»

Claudemir Casa

πŸ’»

Nikhil27bYt

πŸ“–

Ferri Sutanto

πŸ’»

jslattery26

πŸ’»

garrettApproachableGeek

πŸ’»

Sua MΓΊsica

πŸ’»

Austin Nelson

πŸ’»

This project follows the all-contributors specification. Contributions of any kind welcome!

296
likes
140
points
88
downloads

Publisher

verified publishervedartm.com

Weekly Downloads

A flutter package to simplify pagination with firestore data.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

bloc, cloud_firestore, flutter, flutter_bloc, provider

More

Packages that depend on paginate_firestore