i_view_impl.dart 1017 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import 'package:app_flowy/workspace/domain/i_view.dart';
  2. import 'package:app_flowy/workspace/infrastructure/repos/view_repo.dart';
  3. import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
  4. import 'package:dartz/dartz.dart';
  5. import 'package:flowy_sdk/protobuf/flowy-workspace/view_create.pb.dart';
  6. class IViewImpl extends IView {
  7. ViewRepository repo;
  8. IViewImpl({required this.repo});
  9. @override
  10. View get view => repo.view;
  11. @override
  12. Future<Either<Unit, WorkspaceError>> pushIntoTrash() {
  13. return repo.updateView(isTrash: true);
  14. }
  15. @override
  16. Future<Either<Unit, WorkspaceError>> rename(String newName) {
  17. return repo.updateView(name: newName);
  18. }
  19. }
  20. class IViewListenerImpl extends IViewListener {
  21. final ViewListenerRepository repo;
  22. IViewListenerImpl({
  23. required this.repo,
  24. });
  25. @override
  26. void start({ViewUpdatedCallback? updatedCallback}) {
  27. repo.startWatching(update: updatedCallback);
  28. }
  29. @override
  30. Future<void> stop() async {
  31. await repo.close();
  32. }
  33. }