view_ext.dart 892 B

123456789101112131415161718192021222324252627282930
  1. import 'package:app_flowy/workspace/domain/page_stack/page_stack.dart';
  2. import 'package:app_flowy/workspace/presentation/stack_page/blank/blank_page.dart';
  3. import 'package:app_flowy/workspace/presentation/stack_page/doc/doc_stack_page.dart';
  4. import 'package:flowy_sdk/protobuf/flowy-core-data-model/view_create.pb.dart';
  5. extension ToHomeStackContext on View {
  6. HomeStackContext stackContext() {
  7. switch (viewType) {
  8. case ViewType.Blank:
  9. return BlankStackContext();
  10. case ViewType.Doc:
  11. return DocStackContext(view: this);
  12. default:
  13. return BlankStackContext();
  14. }
  15. }
  16. }
  17. extension ToHomeStackType on View {
  18. HomeStackType stackType() {
  19. switch (viewType) {
  20. case ViewType.Blank:
  21. return HomeStackType.blank;
  22. case ViewType.Doc:
  23. return HomeStackType.doc;
  24. default:
  25. return HomeStackType.blank;
  26. }
  27. }
  28. }