1234567891011121314151617181920212223242526272829303132333435 |
- use crate::entities::{AlterFilterParams, DeleteFilterParams, GridLayout, GridSettingChangesetParams};
- pub struct GridSettingChangesetBuilder {
- params: GridSettingChangesetParams,
- }
- impl GridSettingChangesetBuilder {
- pub fn new(grid_id: &str, layout_type: &GridLayout) -> Self {
- let params = GridSettingChangesetParams {
- grid_id: grid_id.to_string(),
- layout_type: layout_type.clone().into(),
- insert_filter: None,
- delete_filter: None,
- insert_group: None,
- delete_group: None,
- alert_sort: None,
- delete_sort: None,
- };
- Self { params }
- }
- pub fn insert_filter(mut self, params: AlterFilterParams) -> Self {
- self.params.insert_filter = Some(params);
- self
- }
- pub fn delete_filter(mut self, params: DeleteFilterParams) -> Self {
- self.params.delete_filter = Some(params);
- self
- }
- pub fn build(self) -> GridSettingChangesetParams {
- self.params
- }
- }
|