Skip to content

Commit e45037c

Browse files
committed
fix: update the group when the corresponding field changed
1 parent 602f7e7 commit e45037c

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

frontend/rust-lib/flowy-grid/src/services/grid_view_editor.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,10 @@ impl GridViewRevisionEditor {
201201
Ok(())
202202
}
203203

204+
pub(crate) async fn group_id(&self) -> String {
205+
self.group_controller.read().await.field_id().to_owned()
206+
}
207+
204208
pub(crate) async fn get_setting(&self) -> GridSettingPB {
205209
let field_revs = self.field_delegate.get_field_revs().await;
206210
let grid_setting = make_grid_setting(&*self.pad.read().await, &field_revs);

frontend/rust-lib/flowy-grid/src/services/grid_view_manager.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,12 +178,16 @@ impl GridViewManager {
178178
#[tracing::instrument(level = "trace", skip(self), err)]
179179
pub(crate) async fn did_update_field(&self, field_id: &str, is_type_option_changed: bool) -> FlowyResult<()> {
180180
let view_editor = self.get_default_view_editor().await?;
181+
// Only the field_id of the updated field is equal to the field_id of the group.
182+
// Update the group
183+
if view_editor.group_id().await != field_id {
184+
return Ok(());
185+
}
181186
if is_type_option_changed {
182187
let _ = view_editor.group_by_field(field_id).await?;
183188
} else {
184189
let _ = view_editor.did_update_field(field_id).await?;
185190
}
186-
187191
Ok(())
188192
}
189193

0 commit comments

Comments
 (0)