module.rs 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. use flowy_folder::manager::FolderManager;
  2. use flowy_grid::manager::GridManager;
  3. use flowy_net::ws::connection::FlowyWebSocketConnect;
  4. use flowy_text_block::TextEditorManager;
  5. use flowy_user::services::UserSession;
  6. use lib_dispatch::prelude::Module;
  7. use std::sync::Arc;
  8. pub fn mk_modules(
  9. ws_conn: &Arc<FlowyWebSocketConnect>,
  10. folder_manager: &Arc<FolderManager>,
  11. grid_manager: &Arc<GridManager>,
  12. user_session: &Arc<UserSession>,
  13. text_block_manager: &Arc<TextEditorManager>,
  14. ) -> Vec<Module> {
  15. let user_module = mk_user_module(user_session.clone());
  16. let folder_module = mk_folder_module(folder_manager.clone());
  17. let network_module = mk_network_module(ws_conn.clone());
  18. let grid_module = mk_grid_module(grid_manager.clone());
  19. let text_block_module = mk_text_block_module(text_block_manager.clone());
  20. vec![
  21. user_module,
  22. folder_module,
  23. network_module,
  24. grid_module,
  25. text_block_module,
  26. ]
  27. }
  28. fn mk_user_module(user_session: Arc<UserSession>) -> Module {
  29. flowy_user::event_map::create(user_session)
  30. }
  31. fn mk_folder_module(folder_manager: Arc<FolderManager>) -> Module {
  32. flowy_folder::event_map::create(folder_manager)
  33. }
  34. fn mk_network_module(ws_conn: Arc<FlowyWebSocketConnect>) -> Module {
  35. flowy_net::event_map::create(ws_conn)
  36. }
  37. fn mk_grid_module(grid_manager: Arc<GridManager>) -> Module {
  38. flowy_grid::event_map::create(grid_manager)
  39. }
  40. fn mk_text_block_module(text_block_manager: Arc<TextEditorManager>) -> Module {
  41. flowy_text_block::event_map::create(text_block_manager)
  42. }