event_map.rs 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. use crate::event_handler::*;
  2. use crate::manager::GridManager;
  3. use flowy_derive::{Flowy_Event, ProtoBuf_Enum};
  4. use lib_dispatch::prelude::*;
  5. use std::sync::Arc;
  6. use strum_macros::Display;
  7. pub fn create(grid_manager: Arc<GridManager>) -> Module {
  8. let mut module = Module::new().name(env!("CARGO_PKG_NAME")).data(grid_manager);
  9. module = module
  10. .event(GridEvent::GetGridData, get_grid_data_handler)
  11. .event(GridEvent::GetGridBlocks, get_grid_blocks_handler)
  12. .event(GridEvent::GetFields, get_fields_handler)
  13. .event(GridEvent::UpdateField, update_field_handler)
  14. .event(GridEvent::CreateField, create_field_handler)
  15. .event(GridEvent::DeleteField, delete_field_handler)
  16. .event(GridEvent::DuplicateField, duplicate_field_handler)
  17. .event(GridEvent::CreateEditFieldContext, create_edit_field_context_handler)
  18. .event(GridEvent::CreateRow, create_row_handler)
  19. .event(GridEvent::GetRow, get_row_handler)
  20. .event(GridEvent::UpdateCell, update_cell_handler);
  21. module
  22. }
  23. #[derive(Clone, Copy, PartialEq, Eq, Debug, Display, Hash, ProtoBuf_Enum, Flowy_Event)]
  24. #[event_err = "FlowyError"]
  25. pub enum GridEvent {
  26. #[event(input = "GridId", output = "Grid")]
  27. GetGridData = 0,
  28. #[event(input = "QueryGridBlocksPayload", output = "RepeatedGridBlock")]
  29. GetGridBlocks = 1,
  30. #[event(input = "QueryFieldPayload", output = "RepeatedField")]
  31. GetFields = 10,
  32. #[event(input = "FieldChangesetPayload")]
  33. UpdateField = 11,
  34. #[event(input = "CreateFieldPayload")]
  35. CreateField = 12,
  36. #[event(input = "FieldIdentifierPayload")]
  37. DeleteField = 13,
  38. #[event(input = "FieldIdentifierPayload")]
  39. DuplicateField = 15,
  40. #[event(input = "CreateEditFieldContextParams", output = "EditFieldContext")]
  41. CreateEditFieldContext = 16,
  42. #[event(input = "CreateRowPayload", output = "Row")]
  43. CreateRow = 21,
  44. #[event(input = "QueryRowPayload", output = "Row")]
  45. GetRow = 22,
  46. #[event(input = "CellMetaChangeset")]
  47. UpdateCell = 30,
  48. }