chore: add get grid setting handler

This commit is contained in:
appflowy
2022-06-19 21:10:07 +08:00
parent 759d2ec111
commit 8594da65c4
8 changed files with 134 additions and 55 deletions

View File

@ -15,10 +15,21 @@ pub(crate) async fn get_grid_data_handler(
) -> DataResult<Grid, FlowyError> {
let grid_id: GridId = data.into_inner();
let editor = manager.open_grid(grid_id).await?;
let grid = editor.grid_data().await?;
let grid = editor.get_grid_data().await?;
data_result(grid)
}
#[tracing::instrument(level = "trace", skip(data, manager), err)]
pub(crate) async fn get_grid_setting_handler(
data: Data<GridId>,
manager: AppData<Arc<GridManager>>,
) -> DataResult<GridSetting, FlowyError> {
let grid_id: GridId = data.into_inner();
let editor = manager.open_grid(grid_id).await?;
let grid_setting = editor.get_grid_setting().await?;
data_result(grid_setting)
}
#[tracing::instrument(level = "debug", skip(data, manager), err)]
pub(crate) async fn get_grid_blocks_handler(
data: Data<QueryGridBlocksPayload>,

View File

@ -10,6 +10,7 @@ pub fn create(grid_manager: Arc<GridManager>) -> Module {
module = module
.event(GridEvent::GetGridData, get_grid_data_handler)
.event(GridEvent::GetGridBlocks, get_grid_blocks_handler)
.event(GridEvent::GetGridSetting, get_grid_setting_handler)
// Field
.event(GridEvent::GetFields, get_fields_handler)
.event(GridEvent::UpdateField, update_field_handler)
@ -49,6 +50,9 @@ pub enum GridEvent {
#[event(input = "QueryGridBlocksPayload", output = "RepeatedGridBlock")]
GetGridBlocks = 1,
#[event(input = "GridId", output = "GridSetting")]
GetGridSetting = 2,
#[event(input = "QueryFieldPayload", output = "RepeatedField")]
GetFields = 10,

View File

@ -412,7 +412,7 @@ impl GridMetaEditor {
Ok(())
}
pub async fn grid_data(&self) -> FlowyResult<Grid> {
pub async fn get_grid_data(&self) -> FlowyResult<Grid> {
let pad_read_guard = self.grid_pad.read().await;
let field_orders = pad_read_guard.get_field_orders();
let mut block_orders = vec![];
@ -432,6 +432,10 @@ impl GridMetaEditor {
})
}
pub async fn get_grid_setting(&self) -> FlowyResult<GridSetting> {
todo!()
}
pub async fn grid_block_snapshots(&self, block_ids: Option<Vec<String>>) -> FlowyResult<Vec<GridBlockSnapshot>> {
let block_ids = match block_ids {
None => self