mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2024-08-30 18:12:39 +00:00
refactor: CellCalendar with bloc
This commit is contained in:
@ -87,20 +87,15 @@ pub(crate) async fn switch_to_field_handler(
|
||||
manager: AppData<Arc<GridManager>>,
|
||||
) -> DataResult<EditFieldContext, FlowyError> {
|
||||
let params: EditFieldParams = data.into_inner().try_into()?;
|
||||
if params.field_id.is_none() {
|
||||
return Err(ErrorCode::FieldIdIsEmpty.into());
|
||||
}
|
||||
let field_id = params.field_id.unwrap();
|
||||
let editor = manager.get_grid_editor(¶ms.grid_id)?;
|
||||
editor
|
||||
.switch_to_field_type(¶ms.field_id, ¶ms.field_type)
|
||||
.await?;
|
||||
|
||||
let field_meta = editor.get_field_meta(¶ms.field_id).await;
|
||||
let edit_context = make_field_edit_context(
|
||||
¶ms.grid_id,
|
||||
Some(params.field_id),
|
||||
params.field_type,
|
||||
editor,
|
||||
field_meta,
|
||||
)
|
||||
.await?;
|
||||
editor.switch_to_field_type(&field_id, ¶ms.field_type).await?;
|
||||
let field_meta = editor.get_field_meta(&field_id).await;
|
||||
let edit_context =
|
||||
make_edit_field_context(¶ms.grid_id, Some(field_id), params.field_type, editor, field_meta).await?;
|
||||
data_result(edit_context)
|
||||
}
|
||||
|
||||
@ -117,23 +112,23 @@ pub(crate) async fn duplicate_field_handler(
|
||||
|
||||
#[tracing::instrument(level = "debug", skip(data, manager), err)]
|
||||
pub(crate) async fn get_field_context_handler(
|
||||
data: Data<GetEditFieldContextPayload>,
|
||||
data: Data<EditFieldPayload>,
|
||||
manager: AppData<Arc<GridManager>>,
|
||||
) -> DataResult<EditFieldContext, FlowyError> {
|
||||
let params = data.into_inner();
|
||||
let params: EditFieldParams = data.into_inner().try_into()?;
|
||||
let editor = manager.get_grid_editor(¶ms.grid_id)?;
|
||||
let edit_context =
|
||||
make_field_edit_context(¶ms.grid_id, params.field_id, params.field_type, editor, None).await?;
|
||||
make_edit_field_context(¶ms.grid_id, params.field_id, params.field_type, editor, None).await?;
|
||||
|
||||
data_result(edit_context)
|
||||
}
|
||||
|
||||
#[tracing::instrument(level = "debug", skip(data, manager), err)]
|
||||
pub(crate) async fn get_field_type_option_data_handler(
|
||||
data: Data<GetEditFieldContextPayload>,
|
||||
data: Data<EditFieldPayload>,
|
||||
manager: AppData<Arc<GridManager>>,
|
||||
) -> DataResult<FieldTypeOptionData, FlowyError> {
|
||||
let params = data.into_inner();
|
||||
let params: EditFieldParams = data.into_inner().try_into()?;
|
||||
let editor = manager.get_grid_editor(¶ms.grid_id)?;
|
||||
let field_meta = get_or_create_field_meta(params.field_id, ¶ms.field_type, editor).await?;
|
||||
let type_option_data = get_type_option_data(&field_meta, &field_meta.field_type).await?;
|
||||
@ -155,7 +150,7 @@ pub(crate) async fn move_item_handler(
|
||||
Ok(())
|
||||
}
|
||||
|
||||
async fn make_field_edit_context(
|
||||
async fn make_edit_field_context(
|
||||
grid_id: &str,
|
||||
field_id: Option<String>,
|
||||
field_type: FieldType,
|
||||
|
@ -64,13 +64,13 @@ pub enum GridEvent {
|
||||
#[event(input = "FieldIdentifierPayload")]
|
||||
DuplicateField = 15,
|
||||
|
||||
#[event(input = "GetEditFieldContextPayload", output = "EditFieldContext")]
|
||||
#[event(input = "EditFieldPayload", output = "EditFieldContext")]
|
||||
GetEditFieldContext = 16,
|
||||
|
||||
#[event(input = "MoveItemPayload")]
|
||||
MoveItem = 17,
|
||||
|
||||
#[event(input = "GetEditFieldContextPayload", output = "FieldTypeOptionData")]
|
||||
#[event(input = "EditFieldPayload", output = "FieldTypeOptionData")]
|
||||
GetFieldTypeOption = 18,
|
||||
|
||||
#[event(input = "CreateSelectOptionPayload", output = "SelectOption")]
|
||||
|
Reference in New Issue
Block a user