mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2024-08-30 18:12:39 +00:00
chore: add board data controller
This commit is contained in:
@ -1,5 +1,5 @@
|
||||
pub use crate::entities::view::ViewDataTypePB;
|
||||
use crate::entities::{SubViewDataTypePB, ViewInfoPB};
|
||||
use crate::entities::ViewInfoPB;
|
||||
use crate::manager::{ViewDataProcessor, ViewDataProcessorMap};
|
||||
use crate::{
|
||||
dart_notification::{send_dart_notification, FolderNotification},
|
||||
|
@ -359,6 +359,7 @@ pub async fn create_view(
|
||||
desc: desc.to_string(),
|
||||
thumbnail: None,
|
||||
data_type,
|
||||
sub_data_type: None,
|
||||
plugin_type: 0,
|
||||
data: vec![],
|
||||
};
|
||||
|
@ -32,7 +32,7 @@ impl std::convert::From<&GridGroupRevision> for GridGroupConfigurationPB {
|
||||
#[derive(ProtoBuf, Debug, Default, Clone)]
|
||||
pub struct RepeatedGridGroupPB {
|
||||
#[pb(index = 1)]
|
||||
groups: Vec<GroupPB>,
|
||||
items: Vec<GroupPB>,
|
||||
}
|
||||
|
||||
#[derive(ProtoBuf, Debug, Default, Clone)]
|
||||
|
@ -6,7 +6,7 @@ use flowy_derive::{ProtoBuf, ProtoBuf_Enum};
|
||||
use flowy_error::ErrorCode;
|
||||
use flowy_grid_data_model::parser::NotEmptyStr;
|
||||
use flowy_grid_data_model::revision::GridLayoutRevision;
|
||||
use flowy_sync::entities::grid::{DeleteGroupParams, GridSettingChangesetParams};
|
||||
use flowy_sync::entities::grid::GridSettingChangesetParams;
|
||||
use std::collections::HashMap;
|
||||
use std::convert::TryInto;
|
||||
use strum::IntoEnumIterator;
|
||||
|
@ -35,6 +35,8 @@ pub struct GridRevisionEditor {
|
||||
block_manager: Arc<GridBlockManager>,
|
||||
#[allow(dead_code)]
|
||||
pub(crate) filter_service: Arc<GridFilterService>,
|
||||
|
||||
#[allow(dead_code)]
|
||||
pub(crate) group_service: Arc<GridGroupService>,
|
||||
}
|
||||
|
||||
|
@ -5,8 +5,11 @@ use std::sync::Arc;
|
||||
use tokio::sync::RwLock;
|
||||
|
||||
pub(crate) struct GridGroupService {
|
||||
#[allow(dead_code)]
|
||||
scheduler: Arc<dyn GridServiceTaskScheduler>,
|
||||
#[allow(dead_code)]
|
||||
grid_pad: Arc<RwLock<GridRevisionPad>>,
|
||||
#[allow(dead_code)]
|
||||
block_manager: Arc<GridBlockManager>,
|
||||
}
|
||||
|
||||
|
@ -1,3 +1,3 @@
|
||||
mod group_service;
|
||||
|
||||
pub use group_service::*;
|
||||
pub(crate) use group_service::*;
|
||||
|
@ -50,18 +50,16 @@ impl<'a> RowRevisionBuilder<'a> {
|
||||
}
|
||||
}
|
||||
|
||||
pub fn insert_select_option_cell(mut self, field_id: &str, data: String) -> Self {
|
||||
pub fn insert_select_option_cell(&mut self, field_id: &str, data: String) {
|
||||
match self.field_rev_map.get(&field_id.to_owned()) {
|
||||
None => {
|
||||
tracing::warn!("Invalid field_id: {}", field_id);
|
||||
self
|
||||
}
|
||||
Some(field_rev) => {
|
||||
let cell_data = SelectOptionCellChangeset::from_insert(&data).to_str();
|
||||
let data = apply_cell_data_changeset(cell_data, None, field_rev).unwrap();
|
||||
let cell = CellRevision::new(data);
|
||||
self.payload.cell_by_field_id.insert(field_id.to_owned(), cell);
|
||||
self
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -48,19 +48,18 @@ pub fn make_default_board() -> BuildGridContext {
|
||||
let done_option = SelectOptionPB::new("Done");
|
||||
let single_select = SingleSelectTypeOptionBuilder::default()
|
||||
.add_option(not_started_option.clone())
|
||||
.add_option(in_progress_option.clone())
|
||||
.add_option(done_option.clone());
|
||||
.add_option(in_progress_option)
|
||||
.add_option(done_option);
|
||||
let single_select_field = FieldBuilder::new(single_select).name("Status").visibility(true).build();
|
||||
let single_select_field_id = single_select_field.id.clone();
|
||||
grid_builder.add_field(single_select_field);
|
||||
|
||||
// rows
|
||||
// Insert rows
|
||||
for _ in 0..3 {
|
||||
grid_builder.add_row(
|
||||
RowRevisionBuilder::new(grid_builder.block_id(), grid_builder.field_revs())
|
||||
.insert_select_option_cell(&single_select_field_id, not_started_option.id.clone())
|
||||
.build(),
|
||||
);
|
||||
let mut row_builder = RowRevisionBuilder::new(grid_builder.block_id(), grid_builder.field_revs());
|
||||
row_builder.insert_select_option_cell(&single_select_field_id, not_started_option.id.clone());
|
||||
let row = row_builder.build();
|
||||
grid_builder.add_row(row);
|
||||
}
|
||||
|
||||
grid_builder.build()
|
||||
|
@ -10,7 +10,6 @@ use flowy_grid_data_model::revision::{FieldRevision, RowRevision};
|
||||
use strum::EnumCount;
|
||||
|
||||
pub struct GridRowTestBuilder<'a> {
|
||||
block_id: String,
|
||||
field_revs: &'a [Arc<FieldRevision>],
|
||||
inner_builder: RowRevisionBuilder<'a>,
|
||||
}
|
||||
@ -20,7 +19,6 @@ impl<'a> GridRowTestBuilder<'a> {
|
||||
assert_eq!(field_revs.len(), FieldType::COUNT);
|
||||
let inner_builder = RowRevisionBuilder::new(block_id, field_revs);
|
||||
Self {
|
||||
block_id: block_id.to_owned(),
|
||||
field_revs,
|
||||
inner_builder,
|
||||
}
|
||||
|
Reference in New Issue
Block a user