mirror of
https://github.com/Such-Software/hash-wallet.git
synced 2026-10-20 06:08:34 +02:00
Updated for flutter 1.20.x
This commit is contained in:
+36
-35
@@ -1,45 +1,46 @@
|
||||
import 'package:mobx/mobx.dart';
|
||||
|
||||
Dispose connectDifferent<T, Y>(ObservableList<T> source, ObservableList<Y> dest,
|
||||
Y Function(T) transform, {bool Function(T) filter}) {
|
||||
return source.observe((change) {
|
||||
switch (change.type) {
|
||||
case OperationType.add:
|
||||
final _values = change.added;
|
||||
Iterable<T> values;
|
||||
void connectDifferent<T, Y>(
|
||||
ObservableList<T> source, ObservableList<Y> dest, Y Function(T) transform,
|
||||
{bool Function(T) filter}) {
|
||||
source.observe((ListChange<T> change) {
|
||||
// switch (change.type) {
|
||||
// case OperationType.add:
|
||||
// final _values = change.added;
|
||||
// Iterable<T> values;
|
||||
|
||||
if (filter != null) {
|
||||
values = _values.where(filter);
|
||||
}
|
||||
// if (filter != null) {
|
||||
// values = _values.where(filter);
|
||||
// }
|
||||
|
||||
dest.addAll(values.map((e) => transform(e)));
|
||||
break;
|
||||
case OperationType.remove:
|
||||
print(change.index);
|
||||
print(change.removed);
|
||||
change.removed.forEach((element) { dest.remove(element); });
|
||||
// dest.addAll(values.map((e) => transform(e)));
|
||||
// break;
|
||||
// case OperationType.remove:
|
||||
// change.removed.forEach((element) {
|
||||
// dest.remove(element);
|
||||
// });
|
||||
|
||||
// dest.removeAt(change.index);
|
||||
break;
|
||||
case OperationType.update:
|
||||
// change.index
|
||||
break;
|
||||
}
|
||||
// // dest.removeAt(change.index);
|
||||
// break;
|
||||
// case OperationType.update:
|
||||
// // change.index
|
||||
// break;
|
||||
// }
|
||||
});
|
||||
}
|
||||
|
||||
Dispose connect<T>(ObservableList<T> source, ObservableList<T> dest) {
|
||||
return source.observe((change) {
|
||||
switch (change.type) {
|
||||
case OperationType.add:
|
||||
dest.addAll(change.added);
|
||||
break;
|
||||
case OperationType.remove:
|
||||
dest.removeAt(change.index);
|
||||
break;
|
||||
case OperationType.update:
|
||||
// change.index
|
||||
break;
|
||||
}
|
||||
void connect<T>(ObservableList<T> source, ObservableList<T> dest) {
|
||||
source.observe((ListChange<T> change) {
|
||||
// switch (change.type) {
|
||||
// case OperationType.add:
|
||||
// dest.addAll(change.added);
|
||||
// break;
|
||||
// case OperationType.remove:
|
||||
// dest.removeAt(change.index);
|
||||
// break;
|
||||
// case OperationType.update:
|
||||
// // change.index
|
||||
// break;
|
||||
// }
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user