chore: config row detail page

This commit is contained in:
appflowy
2022-04-20 16:32:12 +08:00
parent f40e0c18e6
commit eeba6884ce
20 changed files with 506 additions and 184 deletions

View File

@ -13,7 +13,7 @@ pub type BoxTypeOptionBuilder = Box<dyn TypeOptionBuilder + 'static>;
impl FieldBuilder {
pub fn new<T: Into<BoxTypeOptionBuilder>>(type_option_builder: T) -> Self {
let type_option_builder = type_option_builder.into();
let field_meta = FieldMeta::new("", "", type_option_builder.field_type());
let field_meta = FieldMeta::new("", "", type_option_builder.field_type(), false);
Self {
field_meta,
type_option_builder,
@ -35,6 +35,7 @@ impl FieldBuilder {
visibility: field.visibility,
width: field.width,
type_options: IndexMap::default(),
is_primary: field.is_primary,
};
Self {
field_meta,
@ -52,6 +53,11 @@ impl FieldBuilder {
self
}
pub fn primary(mut self, is_primary: bool) -> Self {
self.field_meta.is_primary = is_primary;
self
}
pub fn visibility(mut self, visibility: bool) -> Self {
self.field_meta.visibility = visibility;
self

View File

@ -1,10 +1,9 @@
use crate::dart_notification::{send_dart_notification, GridNotification};
use crate::manager::GridUser;
use crate::services::block_meta_manager::GridBlockMetaEditorManager;
use crate::services::entities::{CellIdentifier, CreateSelectOptionParams};
use crate::services::entities::CellIdentifier;
use crate::services::field::{
default_type_option_builder_from_type, select_option_operation, type_option_builder_from_bytes, FieldBuilder,
SelectOption,
default_type_option_builder_from_type, type_option_builder_from_bytes, FieldBuilder, SelectOption,
};
use crate::services::persistence::block_index::BlockIndexPersistence;
use crate::services::row::*;

View File

@ -7,6 +7,7 @@ pub fn make_default_grid() -> BuildGridContext {
let text_field = FieldBuilder::new(RichTextTypeOptionBuilder::default())
.name("Name")
.visibility(true)
.primary(true)
.build();
// single select

View File

@ -271,6 +271,7 @@ pub fn create_text_field(grid_id: &str) -> (InsertFieldParams, FieldMeta) {
frozen: field_meta.frozen,
visibility: field_meta.visibility,
width: field_meta.width,
is_primary: false,
};
let params = InsertFieldParams {
@ -303,6 +304,7 @@ pub fn create_single_select_field(grid_id: &str) -> (InsertFieldParams, FieldMet
frozen: field_meta.frozen,
visibility: field_meta.visibility,
width: field_meta.width,
is_primary: false,
};
let params = InsertFieldParams {