| Index: samples-dev/swarm/swarm_ui_lib/observable/observable.dart
|
| diff --git a/samples-dev/swarm/swarm_ui_lib/observable/observable.dart b/samples-dev/swarm/swarm_ui_lib/observable/observable.dart
|
| index f4c57b6087adbb7e034923607b891c51b1ca0996..c941e81dfa062afbdba08d8a2bd3a2f19a9ecf65 100644
|
| --- a/samples-dev/swarm/swarm_ui_lib/observable/observable.dart
|
| +++ b/samples-dev/swarm/swarm_ui_lib/observable/observable.dart
|
| @@ -35,10 +35,8 @@ abstract class Observable {
|
| bool removeChangeListener(ChangeListener listener);
|
| }
|
|
|
| -
|
| /** Common functionality for observable objects. */
|
| class AbstractObservable implements Observable {
|
| -
|
| /** Unique id to identify this model in an event batch. */
|
| final int uid;
|
|
|
| @@ -59,8 +57,8 @@ class AbstractObservable implements Observable {
|
| }
|
|
|
| AbstractObservable([Observable this.parent = null])
|
| - : uid = EventBatch.genUid(),
|
| - listeners = new List<ChangeListener>();
|
| + : uid = EventBatch.genUid(),
|
| + listeners = new List<ChangeListener>();
|
|
|
| bool addChangeListener(ChangeListener listener) {
|
| if (listeners.indexOf(listener, 0) == -1) {
|
| @@ -82,8 +80,8 @@ class AbstractObservable implements Observable {
|
| }
|
|
|
| void recordPropertyUpdate(String propertyName, newValue, oldValue) {
|
| - recordEvent(new ChangeEvent.property(
|
| - this, propertyName, newValue, oldValue));
|
| + recordEvent(
|
| + new ChangeEvent.property(this, propertyName, newValue, oldValue));
|
| }
|
|
|
| void recordListUpdate(int index, newValue, oldValue) {
|
| @@ -92,13 +90,13 @@ class AbstractObservable implements Observable {
|
| }
|
|
|
| void recordListInsert(int index, newValue) {
|
| - recordEvent(new ChangeEvent.list(
|
| - this, ChangeEvent.INSERT, index, newValue, null));
|
| + recordEvent(
|
| + new ChangeEvent.list(this, ChangeEvent.INSERT, index, newValue, null));
|
| }
|
|
|
| void recordListRemove(int index, oldValue) {
|
| - recordEvent(new ChangeEvent.list(
|
| - this, ChangeEvent.REMOVE, index, null, oldValue));
|
| + recordEvent(
|
| + new ChangeEvent.list(this, ChangeEvent.REMOVE, index, null, oldValue));
|
| }
|
|
|
| void recordGlobalChange() {
|
| @@ -113,7 +111,7 @@ class AbstractObservable implements Observable {
|
|
|
| if (EventBatch.current != null) {
|
| // Already in a batch, so just add it.
|
| - assert (!EventBatch.current.sealed);
|
| + assert(!EventBatch.current.sealed);
|
| // TODO(sigmund): measure the performance implications of this indirection
|
| // and consider whether caching the summary object in this instance helps.
|
| var summary = EventBatch.current.getEvents(this);
|
| @@ -121,22 +119,23 @@ class AbstractObservable implements Observable {
|
| } else {
|
| // Not in a batch, so create a one-off one.
|
| // TODO(rnystrom): Needing to do ignore and (null) here is awkward.
|
| - EventBatch.wrap((ignore) { recordEvent(event); })(null);
|
| + EventBatch.wrap((ignore) {
|
| + recordEvent(event);
|
| + })(null);
|
| }
|
| }
|
| }
|
|
|
| /** A growable list that fires events when it's modified. */
|
| -class ObservableList<T>
|
| - extends AbstractObservable
|
| +class ObservableList<T> extends AbstractObservable
|
| implements List<T>, Observable {
|
| -
|
| /** Underlying list. */
|
| // TODO(rnystrom): Make this final if we get list.remove().
|
| List<T> _internal;
|
|
|
| ObservableList([Observable parent = null])
|
| - : super(parent), _internal = new List<T>();
|
| + : super(parent),
|
| + _internal = new List<T>();
|
|
|
| T operator [](int index) => _internal[index];
|
|
|
| @@ -246,7 +245,8 @@ class ObservableList<T>
|
|
|
| if (srcStart < dstStart) {
|
| for (int i = srcStart + count - 1, j = dstStart + count - 1;
|
| - i >= srcStart; i--, j--) {
|
| + i >= srcStart;
|
| + i--, j--) {
|
| dst[j] = src[i];
|
| }
|
| } else {
|
| @@ -288,8 +288,8 @@ class ObservableList<T>
|
| throw new UnimplementedError();
|
| }
|
|
|
| - dynamic fold(var initialValue,
|
| - dynamic combine(var previousValue, T element)) {
|
| + dynamic fold(
|
| + var initialValue, dynamic combine(var previousValue, T element)) {
|
| throw new UnimplementedError();
|
| }
|
|
|
| @@ -303,11 +303,15 @@ class ObservableList<T>
|
| List<T> take(int count) => _internal.take(count);
|
| bool every(bool f(T element)) => _internal.every(f);
|
| bool any(bool f(T element)) => _internal.any(f);
|
| - void forEach(void f(T element)) { _internal.forEach(f); }
|
| + void forEach(void f(T element)) {
|
| + _internal.forEach(f);
|
| + }
|
| +
|
| String join([String separator = ""]) => _internal.join(separator);
|
| dynamic firstWhere(bool test(T value), {Object orElse()}) {
|
| return _internal.firstWhere(test, orElse: orElse);
|
| }
|
| +
|
| dynamic lastWhere(bool test(T value), {Object orElse()}) {
|
| return _internal.lastWhere(test, orElse: orElse);
|
| }
|
| @@ -316,7 +320,7 @@ class ObservableList<T>
|
| bool remove(T element) => throw new UnimplementedError();
|
| void removeWhere(bool test(T element)) => throw new UnimplementedError();
|
| void retainWhere(bool test(T element)) => throw new UnimplementedError();
|
| - List<T> toList({bool growable:true}) => throw new UnimplementedError();
|
| + List<T> toList({bool growable: true}) => throw new UnimplementedError();
|
| Set<T> toSet() => throw new UnimplementedError();
|
| Iterable<T> takeWhile(bool test(T value)) => throw new UnimplementedError();
|
| Iterable<T> skipWhile(bool test(T value)) => throw new UnimplementedError();
|
| @@ -324,14 +328,15 @@ class ObservableList<T>
|
| T singleWhere(bool test(T value)) {
|
| return _internal.singleWhere(test);
|
| }
|
| +
|
| T elementAt(int index) {
|
| return _internal.elementAt(index);
|
| }
|
| +
|
| Map<int, T> asMap() {
|
| return _internal.asMap();
|
| }
|
|
|
| -
|
| bool get isEmpty => length == 0;
|
|
|
| bool get isNotEmpty => !isEmpty;
|
| @@ -346,7 +351,8 @@ class ObservableList<T>
|
| /** A wrapper around a single value whose change can be observed. */
|
| class ObservableValue<T> extends AbstractObservable {
|
| ObservableValue(T value, [Observable parent = null])
|
| - : super(parent), _value = value;
|
| + : super(parent),
|
| + _value = value;
|
|
|
| T get value => _value;
|
|
|
|
|