event_map.rs 937 B

1234567891011121314151617181920212223242526272829303132
  1. use crate::event_handler::*;
  2. use crate::DocumentManager;
  3. use flowy_derive::{Flowy_Event, ProtoBuf_Enum};
  4. use lib_dispatch::prelude::AFPlugin;
  5. use std::sync::Arc;
  6. use strum_macros::Display;
  7. pub fn init(document_manager: Arc<DocumentManager>) -> AFPlugin {
  8. let mut plugin = AFPlugin::new()
  9. .name(env!("CARGO_PKG_NAME"))
  10. .state(document_manager);
  11. plugin = plugin
  12. .event(DocumentEvent::GetDocument, get_document_handler)
  13. .event(DocumentEvent::ApplyEdit, apply_edit_handler)
  14. .event(DocumentEvent::ExportDocument, export_handler);
  15. plugin
  16. }
  17. #[derive(Clone, Copy, PartialEq, Eq, Debug, Display, Hash, ProtoBuf_Enum, Flowy_Event)]
  18. #[event_err = "FlowyError"]
  19. pub enum DocumentEvent {
  20. #[event(input = "OpenDocumentPayloadPB", output = "DocumentDataPB")]
  21. GetDocument = 0,
  22. #[event(input = "EditPayloadPB")]
  23. ApplyEdit = 1,
  24. #[event(input = "ExportPayloadPB", output = "ExportDataPB")]
  25. ExportDocument = 2,
  26. }