2022-02-28 16:00:43 +08:00

55 lines
1.3 KiB
Dart

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';
extension ToHomeStackContext on View {
HomeStackContext stackContext() {
switch (viewType) {
case ViewType.RichText:
return DocumentStackContext(view: this);
case ViewType.Plugin:
return DocumentStackContext(view: this);
default:
return BlankStackContext();
}
}
}
extension ToHomeStackType on View {
HomeStackType stackType() {
switch (viewType) {
case ViewType.RichText:
return HomeStackType.document;
case ViewType.PlainText:
return HomeStackType.kanban;
default:
return HomeStackType.blank;
}
}
}
extension ViewTypeExtension on ViewType {
String displayName() {
switch (this) {
case ViewType.RichText:
return "Doc";
case ViewType.Plugin:
return "Kanban";
default:
return "";
}
}
bool enable() {
switch (this) {
case ViewType.RichText:
return true;
case ViewType.Plugin:
return false;
default:
return false;
}
}
}