class ObservableList<E>


Represents an observable list of model values. If any items are added, removed, or replaced, then observers that are listening to changes will be notified.

Inheritance
  • Object
  • ListBase<E>
  • ObservableList
Mixes-in
  • ChangeNotifier

Static Methods

applyChangeRecords(List<Object> previous, List<Object> current, List<ListChangeRecord> changeRecords) → void

Updates the previous list using the change records. For added items, the current list is used to find the current value.

calculateChangeRecords(List<Object> oldValue, List<Object> newValue) → List<ListChangeRecord>

Calculates the changes to the list, if lacking individual splice mutation information.

Constructors

ObservableList([int length])

Creates an observable list of the given length.

ObservableList.from(Iterable<E> other)

Creates an observable list with the elements of other. The order in the list will be the order provided by the iterator of other.

factory

Properties

changes → Stream<List<ChangeRecord>>

read-only, inherited
first → E

read-only, inherited
hashCode → int

Get a hash code for this object.

read-only, inherited
hasListObservers → bool

read-only
hasObservers → bool

True if this object has any observers, and should call notifyPropertyChange for changes.

read-only, inherited
isEmpty → bool

read-only
isNotEmpty → bool

read-only
iterator → Iterator<E>

read-only, inherited
last → E

read-only, inherited
length → int

read / write
listChanges → Stream<List<ListChangeRecord>>

The stream of summarized list changes, delivered asynchronously.

read-only
reversed → Iterable<E>

read-only, inherited
runtimeType → Type

A representation of the runtime type of the object.

read-only, inherited
single → E

read-only, inherited

Operators

operator ==(other) → bool

The equality operator.

inherited
operator [](int index) → E

operator []=(int index, E value) → void

Methods

add(E value) → void

Adds value to the end of this list, extending the length by one.

addAll(Iterable<E> iterable) → void

Appends all objects of iterable to the end of this list.

any(bool test(E element)) → bool

Checks whether any element of this iterable satisfies test.

inherited
asMap() → Map<int, E>

Returns an unmodifiable Map view of this.

inherited
clear() → void

Removes all objects from this list; the length of the list becomes zero.

inherited
contains(Object element) → bool

Returns true if the collection contains an element equal to element.

inherited
deliverChanges() → bool

Synchronously deliver pending changes. Returns true if any records were delivered, otherwise false.

inherited
deliverListChanges() → bool

discardListChages() → void

Deprecated. Name had a typo, use discardListChanges instead.

discardListChanges() → void

elementAt(int index) → E

Returns the indexth element.

inherited
every(bool test(E element)) → bool

Checks whether every element of this iterable satisfies test.

inherited
expand(Iterable f(E element)) → Iterable

Expands each element of this Iterable into zero or more elements.

inherited
fillRange(int start, int end, [E fill]) → void

Sets the objects in the range start inclusive to end exclusive to the given fillValue.

inherited
firstWhere(bool test(E element), {E orElse()}) → E

Returns the first element that satisfies the given predicate test.

inherited
fold(initialValue, dynamic combine(previousValue, E element)) → dynamic

Reduces a collection to a single value by iteratively combining each element of the collection with an existing value

inherited
forEach(void action(E element)) → void

Applies the function f to each element of this collection in iteration order.

inherited
getRange(int start, int end) → Iterable<E>

Returns an Iterable that iterates over the objects in the range start inclusive to end exclusive.

inherited
indexOf(Object element, [int startIndex = 0]) → int

Returns the first index of element in this list.

inherited
insert(int index, E element) → void

Inserts the object at position index in this list.

insertAll(int index, Iterable<E> iterable) → void

Inserts all objects of iterable at position index in this list.

join([String separator = ""]) → String

Converts each element to a String and concatenates the strings.

inherited
lastIndexOf(Object element, [int startIndex]) → int

Returns the last index in the list a of the given element, starting the search at index startIndex to 0. Returns -1 if element is not found.

inherited
lastWhere(bool test(E element), {E orElse()}) → E

Returns the last element that satisfies the given predicate test.

inherited
map(dynamic f(E element)) → Iterable

Returns a new lazy Iterable with elements that are created by calling f on each element of this Iterable in iteration order.

inherited
noSuchMethod(Invocation invocation) → dynamic

Invoked when a non-existent method or property is accessed.

inherited
notifyChange(ChangeRecord record) → void

Notify observers of a change.

inherited
notifyPropertyChange(Symbol field, Object oldValue, Object newValue) → dynamic

Notify that the field name of this object has been changed.

inherited
observed() → void

Override this method to be called when the changes are first observed.

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 occurence of value from this list.

removeAt(int index) → E

Removes the object at position index from this list.

removeLast() → E

Pops and returns the last object in this list.

inherited
removeRange(int start, int end) → void

Removes the objects in the range start inclusive to end exclusive.

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

Removes the objects in the range start inclusive to end exclusive and inserts the contents of replacement in its place.

inherited
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 objects of this with the objects of iterable, starting at position index in this list.

setRange(int start, int end, Iterable<E> iterable, [int skipCount = 0]) → void

Copies the objects of iterable, skipping skipCount objects first, into the range start, inclusive, to end, exclusive, of the list.

inherited
shuffle([Random random]) → void

Shuffles the elements of this list randomly.

inherited
singleWhere(bool test(E element)) → E

Returns the single element that satisfies test.

inherited
skip(int count) → Iterable<E>

Returns an Iterable that provides all but the first count elements.

inherited
skipWhile(bool test(E element)) → Iterable<E>

Returns an Iterable that skips leading elements while test 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 objects from start inclusive to end exclusive.

inherited
take(int count) → Iterable<E>

Returns a lazy iterable of the count first elements of this iterable.

inherited
takeWhile(bool test(E element)) → Iterable<E>

Returns 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

Returns a string representation of this object.

inherited
unobserved() → void

Override this method to be called when the changes are no longer being observed.

inherited
where(bool test(E element)) → Iterable<E>

Returns a new lazy Iterable with all elements that satisfy the predicate test.

inherited