ha_firestore_realtime_paginate 0.0.3 copy "ha_firestore_realtime_paginate: ^0.0.3" to clipboard
ha_firestore_realtime_paginate: ^0.0.3 copied to clipboard

A package for Firestore to get realtime paginated list.

All Contributors

Pub.dev Badge MIT License Badge Flutter Platform Badge

Firestore Realtime Pagination view #

Flutter library for displaying realtime paginated list view or gird view based on screensize.

Features #

  • Firestore Realtime pagination
  • List view style
  • Grouped List View
  • Waterflow Grid view style

Getting started #

Add dependency

dependencies:
  ha_firestore_realtime_paginate: # latest version

Usage #

    HAFirestoreRealtimePaginatedView(
      style: ListViewStyle.AutoStyle,
      scrollPadding: EdgeInsets.only(bottom: 90),
      query: FirebaseFirestore.instance.collection("users")
          .where("isDeleted", isEqualTo: false)
          .orderBy("addedDate", descending: true),
      limit: 10,
      builder: (context, snapshot) {
         Map<String, dynamic> data = snapshot.data() as Map<String, dynamic>;
        return ListTile(
          title: Text(data['name'] ?? "no name"),
        );
      },
      emptyWidget: Center(
        child: Text("no data found"),
      ),
    )

Grouping (Sticky Headers) #

You can group your listing by passing groupBy field and your header widget in the HAFirestoreRealtimePaginatedView constructor.

HAFirestoreRealtimePaginatedView(
  ...
  groupBy: "addedDate",
  header: (groupFieldValue) {
    return Container(
      color: Colors.white,
      child: Text("$groupFieldValue"),
    );
  },
  ...
)

Filter #

You can apply filter for not to include a document in the listing

bool Function(DocumentSnapshot a)? filter

Contributors ✨ #

Thanks goes to these wonderful people (emoji key):


Hafeez Ahmed

💻

Baig

📖

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

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.