cake_wallet/lib/store/templates/send_template_store.dart

34 lines
972 B
Dart
Raw Normal View History

import 'dart:async';
import 'package:mobx/mobx.dart';
import 'package:hive/hive.dart';
2020-09-21 11:50:26 +00:00
import 'package:cake_wallet/entities/template.dart';
part 'send_template_store.g.dart';
class SendTemplateStore = SendTemplateBase with _$SendTemplateStore;
abstract class SendTemplateBase with Store {
SendTemplateBase({this.templateSource}) {
templates = ObservableList<Template>();
update();
}
@observable
ObservableList<Template> templates;
Box<Template> templateSource;
@action
void update() =>
templates.replaceRange(0, templates.length, templateSource.values.toList());
@action
Future addTemplate({String name, String address, String cryptoCurrency, String amount}) async {
final template = Template(name: name, address: address,
cryptoCurrency: cryptoCurrency, amount: amount);
await templateSource.add(template);
}
@action
Future remove({Template template}) async => await template.delete();
}