import 'package:flutter/foundation.dart'; import 'package:mobx/mobx.dart'; import 'package:cw_core/transaction_info.dart'; abstract class TransactionHistoryBase { TransactionHistoryBase(); // : _isUpdating = false; @observable ObservableMap transactions; Future save(); void addOne(TransactionType transaction); void addMany(Map transactions); // bool _isUpdating; // @action // Future update() async { // if (_isUpdating) { // return; // } // try { // _isUpdating = true; // final _transactions = await fetchTransactions(); // transactions.keys // .toSet() // .difference(_transactions.keys.toSet()) // .forEach((k) => transactions.remove(k)); // _transactions.forEach((key, value) => transactions[key] = value); // _isUpdating = false; // } catch (e) { // _isUpdating = false; // rethrow; // } // } // void updateAsync({void Function() onFinished}) { // fetchTransactionsAsync( // (transaction) => transactions[transaction.id] = transaction, // onFinished: onFinished); // } // void fetchTransactionsAsync( // void Function(TransactionType transaction) onTransactionLoaded, // {void Function() onFinished}); // Future> fetchTransactions(); }