grid.rs 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. use flowy_grid_data_model::revision::{FieldTypeRevision, LayoutRevision};
  2. pub struct GridSettingChangesetParams {
  3. pub grid_id: String,
  4. pub layout_type: LayoutRevision,
  5. pub insert_filter: Option<CreateGridFilterParams>,
  6. pub delete_filter: Option<DeleteFilterParams>,
  7. pub insert_group: Option<CreateGridGroupParams>,
  8. pub delete_group: Option<DeleteGroupParams>,
  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: String,
  30. pub field_type_rev: FieldTypeRevision,
  31. pub content: Option<Vec<u8>>,
  32. }
  33. pub struct DeleteGroupParams {
  34. pub field_id: String,
  35. pub group_id: String,
  36. pub field_type_rev: FieldTypeRevision,
  37. }
  38. pub struct CreateGridSortParams {
  39. pub field_id: Option<String>,
  40. }
  41. #[derive(Debug, Clone, Default)]
  42. pub struct FieldChangesetParams {
  43. pub field_id: String,
  44. pub grid_id: String,
  45. pub name: Option<String>,
  46. pub desc: Option<String>,
  47. pub field_type: Option<FieldTypeRevision>,
  48. pub frozen: Option<bool>,
  49. pub visibility: Option<bool>,
  50. pub width: Option<i32>,
  51. pub type_option_data: Option<Vec<u8>>,
  52. }