infinite_grouped_list 1.2.10
infinite_grouped_list: ^1.2.10 copied to clipboard
Dynamic scrolling list in Flutter, efficiently grouping items and seamlessly loading more data as user scrolls
1.2.10 #
- ✨ Added
scrollControllerto all constructors, you can now pass your own scroll controller
1.2.9 #
Performance Improvements
- ⚡ Optimized group operations with targeted updates instead of full regrouping
- 🧠 Reduced memory usage by avoiding unnecessary data structure recreation
- 🚀 Implemented efficient item addition with selective group updates
- 🗑️ Optimized item removal with targeted group processing
Bug Fixes
- 🔍 Fixed potential memory leaks by properly clearing controller callbacks
- 🎯 Improved scroll performance for large datasets
- 🔄 Enhanced refresh operation efficiency
API Improvements
- ✨ Added helper methods for group management (
_sortSingleGroup,_addItemsToGroups,_createInitialGroups) - 📊 Better handling of empty groups after item removal
1.2.8 🐛 Bug fixes #
- Fixes hashValues deprecated issues
1.2.7 ✨ New Features #
- Adds
addItemsmethod inInfiniteGroupedListController - Adds
removeWheremethod inInfiniteGroupedListController - Hides internal methods in
InfiniteGroupedListController
1.2.6 ✨ New Features #
- Adds a new
limitparameter inInfiniteGroupedListControllerto tell the library how much items are expected from the remote call - Adds a callback
onNoMoreItemsFoundthat is triggered when the response returns less items than the providedlimit
1.2.5 ♻️ Refactoring #
- Refactors
InfiniteGroupedListControllerto avoidLateInitializationErrors
1.2.4 🐛 Bug fixes #
- Adds missing
showRefreshIndicatorfrom default constructor
1.2.3 ✨ New Features #
- Adds
showRefreshIndicatorflag which defaults totrue
1.2.2 ✨ New Features #
- Adds missing
Key
1.2.1 ✨ New Features #
- Adds
remove(ItemType)method to the controller. You can now programmatically remove items from the list.
1.2.0 💥 Breaking changes #
- Tweaks
initialItemsErrorWidget&loadMoreItemsErrorWidgetparameters. They are now function that returns aWidget, exposing the error aswell :
initialItemsErrorWidget: (error) => GestureDetector(
child: Text(
error.toString(),
textAlign: TextAlign.center,
style: const TextStyle(
fontSize: 15,
fontWeight: FontWeight.w500,
decoration: TextDecoration.underline,
decorationColor: Colors.blue,
color: Colors.blue,
),
),
),
loadMoreItemsErrorWidget: (error) => GestureDetector(
child: Text(
error.toString(),
textAlign: TextAlign.center,
style: const TextStyle(
fontSize: 15,
fontWeight: FontWeight.w500,
decoration: TextDecoration.underline,
decorationColor: Colors.blue,
color: Colors.blue,
),
),
),
- Adds
physicsparameter. Defaults to [AlwaysScrollablePhysics]
1.1.2 #
- Initializes
getItemswith default empty List to avoidLateInitializationError - Internal code refactoring
1.1.1 #
- Internal code refactoring
1.1.0 ✨ New Features - Simplifies & Improves API #
- Adds new builder
InfiniteGroupedList.gridView. Define yourgridDelegateand customise it as you want.
- Fields made optional:
seperatorBuildersortGroupBy
- Removes the
paddingthat was not removed on previous version.
1.0.1 🐛 Bug fixes & API improvements #
- Removes
paddingparameter as it does not correspond to anything - Adds
isPagedparameter. If theonLoadMoreis not paged, everytime the same items will be added to the list when the list reaches at the bottom. Therefore, we should set theisPagedtofalseand after the initial fetch it will stop fetching the items. It defaults totrue - Checks if
mountedbefore setting state
1.0.0 🎉 Initial release #
- Initial release