2023-07-29 09:46:24 +08:00
|
|
|
use std::sync::Weak;
|
2023-05-15 22:16:05 +08:00
|
|
|
|
2023-07-29 09:46:24 +08:00
|
|
|
use flowy_database2::DatabaseManager;
|
2023-04-13 18:53:51 +08:00
|
|
|
use flowy_document2::manager::DocumentManager as DocumentManager2;
|
2023-07-05 20:57:09 +08:00
|
|
|
use flowy_folder2::manager::FolderManager;
|
2023-08-14 12:57:59 +08:00
|
|
|
use flowy_user::manager::UserManager;
|
2022-12-01 08:35:50 +08:00
|
|
|
use lib_dispatch::prelude::AFPlugin;
|
2021-06-30 23:11:27 +08:00
|
|
|
|
2022-12-01 08:35:50 +08:00
|
|
|
pub fn make_plugins(
|
2023-07-29 09:46:24 +08:00
|
|
|
folder_manager: Weak<FolderManager>,
|
|
|
|
database_manager: Weak<DatabaseManager>,
|
2023-08-14 12:57:59 +08:00
|
|
|
user_session: Weak<UserManager>,
|
2023-07-29 09:46:24 +08:00
|
|
|
document_manager2: Weak<DocumentManager2>,
|
2022-12-01 08:35:50 +08:00
|
|
|
) -> Vec<AFPlugin> {
|
2023-08-06 11:51:03 +08:00
|
|
|
let store_preferences = user_session
|
|
|
|
.upgrade()
|
2023-08-09 12:43:03 +08:00
|
|
|
.map(|session| session.get_store_preferences())
|
2023-08-06 11:51:03 +08:00
|
|
|
.unwrap();
|
2023-07-29 09:46:24 +08:00
|
|
|
let user_plugin = flowy_user::event_map::init(user_session);
|
|
|
|
let folder_plugin = flowy_folder2::event_map::init(folder_manager);
|
|
|
|
let database_plugin = flowy_database2::event_map::init(database_manager);
|
|
|
|
let document_plugin2 = flowy_document2::event_map::init(document_manager2);
|
2023-08-06 11:51:03 +08:00
|
|
|
let config_plugin = flowy_config::event_map::init(store_preferences);
|
2023-10-02 09:12:24 +02:00
|
|
|
let date_plugin = flowy_date::event_map::init();
|
2023-02-13 09:29:49 +08:00
|
|
|
vec![
|
|
|
|
user_plugin,
|
|
|
|
folder_plugin,
|
2023-04-28 14:08:53 +08:00
|
|
|
database_plugin,
|
2023-04-13 18:53:51 +08:00
|
|
|
document_plugin2,
|
2023-05-17 16:33:44 +08:00
|
|
|
config_plugin,
|
2023-10-02 09:12:24 +02:00
|
|
|
date_plugin,
|
2023-02-13 09:29:49 +08:00
|
|
|
]
|
2022-03-05 21:15:10 +08:00
|
|
|
}
|