load_plugin.dart 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import 'package:app_flowy/plugin/plugin.dart';
  2. import 'package:app_flowy/startup/startup.dart';
  3. import 'package:app_flowy/workspace/presentation/stack_page/blank/blank_page.dart';
  4. import 'package:app_flowy/workspace/presentation/stack_page/doc/doc_stack_page.dart';
  5. import 'package:app_flowy/workspace/presentation/stack_page/trash/trash_page.dart';
  6. enum DefaultPluginEnum {
  7. blank,
  8. trash,
  9. }
  10. extension FlowyDefaultPluginExt on DefaultPluginEnum {
  11. String type() {
  12. switch (this) {
  13. case DefaultPluginEnum.blank:
  14. return "Blank";
  15. case DefaultPluginEnum.trash:
  16. return "Trash";
  17. }
  18. }
  19. }
  20. bool isDefaultPlugin(String pluginType) {
  21. return DefaultPluginEnum.values.map((e) => e.type()).contains(pluginType);
  22. }
  23. class PluginLoadTask extends LaunchTask {
  24. @override
  25. LaunchTaskType get type => LaunchTaskType.dataProcessing;
  26. @override
  27. Future<void> initialize(LaunchContext context) async {
  28. registerPlugin(builder: DocumentPluginBuilder());
  29. registerPlugin(builder: TrashPluginBuilder());
  30. registerPlugin(builder: BlankPluginBuilder());
  31. }
  32. }