onWrite method

  1. @override
Future<bool> onWrite(
  1. WriterFractal f
)
override

Implementation

@override
onWrite(f) async {
  final ok = await super.onWrite(f);
  if (ok) {
    switch (f.attr) {
      case 'title':
        title.value = f;
      case 'folder':
        if (f.content.isNotEmpty) {
          await controller.update({
            f.attr: f.content,
          }, id);
          folder = f.content;
        }
      case 'price':
        final val = double.tryParse(f.content);
        if (val != null && price != val) {
          await controller.update({
            'price': val,
          }, id);
          price = val;
        }
      case 'description':
        description = f.content;
      case 'tags':
        (f.content.isEmpty) ? tags.clear() : tags = f.content.split(' ');
      case 'sorted':
        sorted.fromString(f.content).then((r) {
          //print("sorted: ${r.map((f) => f.hash).join(',')}");
        });
      case 'image':
        image = ImageF(f.content);
      case 'video':
        video = FileF(f.content);
      //super.onWrite(f);
    }
    notifyListeners();
  }
  return ok;
}