PaginatedList<E> class
PaginatedList class is an extension on the list class that allows for easier data manipulation and work with paginated data.
The PaginatedList class requires a list of data and a pageSize integer which will allow the list to be separated into multiple pages.
If the number of total items is known in advance, it can be specified as the totalCount parameter.
The isLoading parameter represents whether the data is loading or has loaded. This can be useful when building ui-related refresh states.
If an error occurs while using the paginated list, it can be stored inside the error parameter. Usually you would store any data fetching or related errors.
The number of loaded pages can be accessed any time by referring to the pageNumber value. Please note, that the number of pages is affected by the actual length of the list and the pageSize.
Unlike the length of the list which is the actual number of items in the list, the itemCount represents the number of items that should be rendered on screen. The itemCount is equal to length, unless the next page is loading. Then, the itemCount also accounts for the loading widget at the bottom of the list in case there are more items to be loaded.
In order to tell whether there is a next page to be loaded, hasNextPage can be used for that case.
Getters isInitialLoading and isNextPageLoading reflect the current loading state of the list. If there is no data and isLoading is true, the getter isInitialLoading will return true. Similarly, if isLoading is true and we can load a new page, the getter isNextPageLoading will return true.
- Inheritance
- Available Extensions
Constructors
Properties
- error → Exception?
-
If an exception is thrown, the error field will capture it.
final
- first ↔ E
-
The first element.
getter/setter pairinherited
- hashCode → int
-
The hash code for this object.
no setteroverride
- hasNextPage → bool
-
Getter used for telling us whether there is a new page to load.
no setter
- isEmpty → bool
-
Whether this collection has no elements.
no setterinherited
- isInitialLoading → bool
-
Getter used for telling us whether this the initial data being loaded.
no setter
- isLoading → bool
-
Indicates whether the paginated list is loading or not.
final
- isNextPageLoading → bool
-
Getter for telling us whether we are loading a new page.
no setter
- isNotEmpty → bool
-
Whether this collection has at least one element.
no setterinherited
- itemCount → int
-
Returns the number of items in a list. When loading a new page, the number
of items is increased by one, which can be used to represent the bottom
loading widget.
no setter
-
iterator
→ Iterator<
E> -
A new
Iterator
that allows iterating the elements of thisIterable
.no setterinherited - last ↔ E
-
The last element.
getter/setter pairinherited
- length ↔ int
-
Returns the actual list length.
getter/setter pairoverride
-
list
→ List<
E> -
The list containing the actual data.
final
- pageNumber → int
-
The number of loaded pages.
no setter
- pageSize → int
-
The number of elements per one page.
final
- pageToLoad → int
-
The next page to load
no setter
-
reversed
→ Iterable<
E> -
An Iterable of the objects in this list in reverse order.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- single → E
-
Checks that this iterable has only one element, and returns that element.
no setterinherited
- totalCount → int?
-
Optional field containing total number of elements (if known).
final
Methods
-
add(
E element) → void -
Adds
value
to the end of this list, extending the length by one.inherited -
addAll(
Iterable< E> iterable) → void -
Appends all objects of
iterable
to the end of this list.inherited -
any(
bool test(E element)) → bool -
Checks whether any element of this iterable satisfies
test
.inherited -
asMap(
) → Map< int, E> -
An unmodifiable Map view of this list.
inherited
-
cast<
R> () → List< R> -
Returns a view of this list as a list of
R
instances.inherited -
clear(
) → void -
Removes all objects from this list; the length of the list becomes zero.
inherited
-
contains(
Object? element) → bool -
Whether the collection contains an element equal to
element
.inherited -
copyWith(
{List< E> ? list, bool? isLoading, int? totalCount, Exception? error, int? pageSize, bool? isInitialized}) → PaginatedList<E> - Returns a modified version of the current PaginatedList
-
elementAt(
int index) → E -
Returns the
index
th element.inherited -
every(
bool test(E element)) → bool -
Checks whether every element of this iterable satisfies
test
.inherited -
expand<
T> (Iterable< T> f(E element)) → Iterable<T> -
Expands each element of this Iterable into zero or more elements.
inherited
-
fillRange(
int start, int end, [E? fill]) → void -
Overwrites a range of elements with
fillValue
.inherited -
firstWhere(
bool test(E element), {E orElse()?}) → E -
The first element that satisfies the given predicate
test
.inherited -
fold<
T> (T initialValue, T combine(T previousValue, E element)) → T -
Reduces a collection to a single value by iteratively combining each
element of the collection with an existing value
inherited
-
followedBy(
Iterable< E> other) → Iterable<E> -
Creates the lazy concatenation of this iterable and
other
.inherited -
forEach(
void action(E element)) → void -
Invokes
action
on each element of this iterable in iteration order.inherited -
getItem(
int index) → E? - Returns element at given index. If element outside bound, null is returned
-
getRange(
int start, int end) → Iterable< E> -
Creates an Iterable that iterates over a range of elements.
inherited
-
indexOf(
Object? element, [int start = 0]) → int -
The first index of
element
in this list.inherited -
indexWhere(
bool test(E element), [int start = 0]) → int -
The first index in the list that satisfies the provided
test
.inherited -
insert(
int index, E element) → void -
Inserts
element
at positionindex
in this list.inherited -
insertAll(
int index, Iterable< E> iterable) → void -
Inserts all objects of
iterable
at positionindex
in this list.inherited -
join(
[String separator = ""]) → String -
Converts each element to a String and concatenates the strings.
inherited
-
lastIndexOf(
Object? element, [int? start]) → int -
The last index of
element
in this list.inherited -
lastIndexWhere(
bool test(E element), [int? start]) → int -
The last index in the list that satisfies the provided
test
.inherited -
lastWhere(
bool test(E element), {E orElse()?}) → E -
The last element that satisfies the given predicate
test
.inherited -
map<
T> (T f(E element)) → Iterable< T> -
The current elements of this iterable modified by
toElement
.inherited -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
reduce(
E combine(E previousValue, E element)) → E -
Reduces a collection to a single value by iteratively combining elements
of the collection using the provided function.
inherited
-
remove(
Object? element) → bool -
Removes the first occurrence of
value
from this list.inherited -
removeAt(
int index) → E -
Removes the object at position
index
from this list.inherited -
removeLast(
) → E -
Removes and returns the last object in this list.
inherited
-
removeRange(
int start, int end) → void -
Removes a range of elements from the list.
inherited
-
removeWhere(
bool test(E element)) → void -
Removes all objects from this list that satisfy
test
.inherited -
replaceRange(
int start, int end, Iterable< E> newContents) → void -
Replaces a range of elements with the elements of
replacements
.inherited -
reset(
{bool hard = false}) → void - Resets the list data
-
retainWhere(
bool test(E element)) → void -
Removes all objects from this list that fail to satisfy
test
.inherited -
setAll(
int index, Iterable< E> iterable) → void -
Overwrites elements with the objects of
iterable
.inherited -
setRange(
int start, int end, Iterable< E> iterable, [int skipCount = 0]) → void -
Writes some elements of
iterable
into a range of this list.inherited -
shuffle(
[Random? random]) → void -
Shuffles the elements of this list randomly.
inherited
-
singleWhere(
bool test(E element), {E orElse()?}) → E -
The single element that satisfies
test
.inherited -
skip(
int count) → Iterable< E> -
Creates an Iterable that provides all but the first
count
elements.inherited -
skipWhile(
bool test(E element)) → Iterable< E> -
Creates an
Iterable
that skips leading elements whiletest
is satisfied.inherited -
sort(
[int compare(E a, E b)?]) → void -
Sorts this list according to the order specified by the
compare
function.inherited -
sublist(
int start, [int? end]) → List< E> -
Returns a new list containing the elements between
start
andend
.inherited -
take(
int count) → Iterable< E> -
Creates a lazy iterable of the
count
first elements of this iterable.inherited -
takeWhile(
bool test(E element)) → Iterable< E> -
Creates a lazy iterable of the leading elements satisfying
test
.inherited -
toList(
{bool growable = true}) → List< E> -
Creates a List containing the elements of this Iterable.
inherited
-
toSet(
) → Set< E> -
Creates a Set containing the same elements as this iterable.
inherited
-
toString(
) → String -
A string representation of this object.
override
-
where(
bool test(E element)) → Iterable< E> -
Creates a new lazy Iterable with all elements that satisfy the
predicate
test
.inherited -
whereType<
T> () → Iterable< T> -
Creates a new lazy Iterable with all elements that have type
T
.inherited
Operators
-
operator +(
List< E> other) → List<E> -
Returns the concatenation of this list and
other
.inherited -
operator ==(
Object other) → bool -
The equality operator.
override
-
operator [](
int index) → E -
The object at the given
index
in the list.override -
operator []=(
int index, E value) → void -
Sets the value at the given
index
in the list tovalue
.override