grid.rs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. use flowy_grid_data_model::revision::{FieldTypeRevision, GridLayoutRevision};
  2. pub struct GridSettingChangesetParams {
  3. pub grid_id: String,
  4. pub layout_type: GridLayoutRevision,
  5. pub insert_filter: Option<CreateGridFilterParams>,
  6. pub delete_filter: Option<DeleteFilterParams>,
  7. pub insert_group: Option<CreateGridGroupParams>,
  8. pub delete_group: Option<String>,
  9. pub insert_sort: Option<CreateGridSortParams>,
  10. pub delete_sort: Option<String>,
  11. }
  12. impl GridSettingChangesetParams {
  13. pub fn is_filter_changed(&self) -> bool {
  14. self.insert_filter.is_some() || self.delete_filter.is_some()
  15. }
  16. }
  17. pub struct CreateGridFilterParams {
  18. pub field_id: String,
  19. pub field_type_rev: FieldTypeRevision,
  20. pub condition: u8,
  21. pub content: Option<String>,
  22. }
  23. pub struct DeleteFilterParams {
  24. pub field_id: String,
  25. pub filter_id: String,
  26. pub field_type_rev: FieldTypeRevision,
  27. }
  28. pub struct CreateGridGroupParams {
  29. pub field_id: Option<String>,
  30. pub sub_field_id: Option<String>,
  31. }
  32. pub struct CreateGridSortParams {
  33. pub field_id: Option<String>,
  34. }
  35. #[derive(Debug, Clone, Default)]
  36. pub struct FieldChangesetParams {
  37. pub field_id: String,
  38. pub grid_id: String,
  39. pub name: Option<String>,
  40. pub desc: Option<String>,
  41. pub field_type: Option<FieldTypeRevision>,
  42. pub frozen: Option<bool>,
  43. pub visibility: Option<bool>,
  44. pub width: Option<i32>,
  45. pub type_option_data: Option<Vec<u8>>,
  46. }