55 lines
1.3 KiB
Dart
Raw Normal View History

2021-10-12 16:58:05 +08:00
import 'package:app_flowy/workspace/domain/page_stack/page_stack.dart';
import 'package:app_flowy/workspace/presentation/stack_page/blank/blank_page.dart';
import 'package:app_flowy/workspace/presentation/stack_page/doc/doc_stack_page.dart';
import 'package:flowy_sdk/protobuf/flowy-folder-data-model/view.pb.dart';
2021-10-12 16:58:05 +08:00
extension ToHomeStackContext on View {
HomeStackContext stackContext() {
switch (viewType) {
2022-02-28 16:00:43 +08:00
case ViewType.RichText:
return DocumentStackContext(view: this);
2022-02-28 16:00:43 +08:00
case ViewType.Plugin:
return DocumentStackContext(view: this);
2021-10-12 16:58:05 +08:00
default:
return BlankStackContext();
}
}
}
extension ToHomeStackType on View {
HomeStackType stackType() {
switch (viewType) {
2022-02-28 16:00:43 +08:00
case ViewType.RichText:
return HomeStackType.document;
2022-02-28 16:00:43 +08:00
case ViewType.PlainText:
return HomeStackType.kanban;
2021-10-12 16:58:05 +08:00
default:
return HomeStackType.blank;
}
}
}
2022-02-26 18:35:42 +08:00
extension ViewTypeExtension on ViewType {
String displayName() {
switch (this) {
2022-02-28 16:00:43 +08:00
case ViewType.RichText:
2022-02-26 18:35:42 +08:00
return "Doc";
2022-02-28 16:00:43 +08:00
case ViewType.Plugin:
2022-02-26 18:35:42 +08:00
return "Kanban";
default:
return "";
}
}
bool enable() {
switch (this) {
2022-02-28 16:00:43 +08:00
case ViewType.RichText:
2022-02-26 18:35:42 +08:00
return true;
2022-02-28 16:00:43 +08:00
case ViewType.Plugin:
2022-02-26 18:35:42 +08:00
return false;
default:
return false;
}
}
}