Updated for flutter 1.20.x

This commit is contained in:
M
2020-08-31 11:44:58 +03:00
parent 24d139e540
commit fec2ec2845
9 changed files with 155 additions and 128 deletions
+36 -35
View File
@@ -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;
// }
});
}