i_view.dart 916 B

1234567891011121314151617181920212223242526272829303132
  1. import 'package:flowy_sdk/protobuf/flowy-folder-data-model/view.pb.dart';
  2. import 'package:dartz/dartz.dart';
  3. import 'package:flowy_infra/notifier.dart';
  4. import 'package:flowy_sdk/protobuf/flowy-error/errors.pb.dart';
  5. typedef ViewUpdatedCallback = void Function(Either<View, FlowyError>);
  6. typedef DeleteNotifierValue = Either<View, FlowyError>;
  7. typedef UpdateNotifierValue = Either<View, FlowyError>;
  8. typedef RestoreNotifierValue = Either<View, FlowyError>;
  9. abstract class IView {
  10. View get view;
  11. Future<Either<Unit, FlowyError>> delete();
  12. Future<Either<View, FlowyError>> rename(String newName);
  13. Future<Either<Unit, FlowyError>> duplicate();
  14. }
  15. abstract class IViewListener {
  16. void start();
  17. PublishNotifier<UpdateNotifierValue> get updatedNotifier;
  18. PublishNotifier<DeleteNotifierValue> get deletedNotifier;
  19. PublishNotifier<RestoreNotifierValue> get restoredNotifier;
  20. Future<void> stop();
  21. }