Browse Source

chore: update create board template

appflowy 2 years ago
parent
commit
8894e9c784

+ 1 - 1
frontend/app_flowy/packages/appflowy_board/lib/src/widgets/styled_widgets/footer.dart

@@ -25,7 +25,7 @@ class AppFlowyGroupFooter extends StatefulWidget {
 class _AppFlowyGroupFooterState extends State<AppFlowyGroupFooter> {
   @override
   Widget build(BuildContext context) {
-    return GestureDetector(
+    return InkWell(
       onTap: widget.onAddButtonClick,
       child: SizedBox(
         height: widget.height,

+ 39 - 100
frontend/rust-lib/flowy-grid/src/util.rs

@@ -3,7 +3,6 @@ use crate::services::field::*;
 use crate::services::row::RowRevisionBuilder;
 use flowy_grid_data_model::revision::BuildGridContext;
 use flowy_sync::client_grid::GridBuilder;
-use lib_infra::util::timestamp;
 
 pub fn make_default_grid() -> BuildGridContext {
     let mut grid_builder = GridBuilder::new();
@@ -59,6 +58,45 @@ pub fn make_default_board() -> BuildGridContext {
     let single_select_field_id = single_select_field.id.clone();
     grid_builder.add_field(single_select_field);
 
+    for i in 0..3 {
+        let mut row_builder = RowRevisionBuilder::new(grid_builder.block_id(), grid_builder.field_revs());
+        row_builder.insert_select_option_cell(&single_select_field_id, to_do_option.id.clone());
+        let data = format!("Card {}", i + 1);
+        row_builder.insert_text_cell(&text_field_id, data);
+        let row = row_builder.build();
+        grid_builder.add_row(row);
+    }
+
+    grid_builder.build()
+}
+
+#[allow(dead_code)]
+pub fn make_default_board_2() -> BuildGridContext {
+    let mut grid_builder = GridBuilder::new();
+    // text
+    let text_field = FieldBuilder::new(RichTextTypeOptionBuilder::default())
+        .name("Description")
+        .visibility(true)
+        .primary(true)
+        .build();
+    let text_field_id = text_field.id.clone();
+    grid_builder.add_field(text_field);
+
+    // single select
+    let to_do_option = SelectOptionPB::with_color("To Do", SelectOptionColorPB::Purple);
+    let doing_option = SelectOptionPB::with_color("Doing", SelectOptionColorPB::Orange);
+    let done_option = SelectOptionPB::with_color("Done", SelectOptionColorPB::Yellow);
+    let single_select_type_option = SingleSelectTypeOptionBuilder::default()
+        .add_option(to_do_option.clone())
+        .add_option(doing_option.clone())
+        .add_option(done_option.clone());
+    let single_select_field = FieldBuilder::new(single_select_type_option)
+        .name("Status")
+        .visibility(true)
+        .build();
+    let single_select_field_id = single_select_field.id.clone();
+    grid_builder.add_field(single_select_field);
+
     // MultiSelect
     let work_option = SelectOptionPB::with_color("Work", SelectOptionColorPB::Aqua);
     let travel_option = SelectOptionPB::with_color("Travel", SelectOptionColorPB::Green);
@@ -152,102 +190,3 @@ pub fn make_default_board() -> BuildGridContext {
 
     grid_builder.build()
 }
-
-#[allow(dead_code)]
-pub fn make_default_board2() -> BuildGridContext {
-    let mut grid_builder = GridBuilder::new();
-    // text
-    let text_field = FieldBuilder::new(RichTextTypeOptionBuilder::default())
-        .name("Name")
-        .visibility(true)
-        .primary(true)
-        .build();
-    let text_field_id = text_field.id.clone();
-    grid_builder.add_field(text_field);
-
-    // date
-    let date_type_option = DateTypeOptionBuilder::default();
-    let date_field = FieldBuilder::new(date_type_option)
-        .name("Date")
-        .visibility(true)
-        .build();
-    let date_field_id = date_field.id.clone();
-    let timestamp = timestamp();
-    grid_builder.add_field(date_field);
-
-    // single select
-    let in_progress_option = SelectOptionPB::new("In progress");
-    let not_started_option = SelectOptionPB::new("Not started");
-    let done_option = SelectOptionPB::new("Done");
-    let single_select_type_option = SingleSelectTypeOptionBuilder::default()
-        .add_option(not_started_option.clone())
-        .add_option(in_progress_option)
-        .add_option(done_option);
-    let single_select_field = FieldBuilder::new(single_select_type_option)
-        .name("Status")
-        .visibility(true)
-        .build();
-    let single_select_field_id = single_select_field.id.clone();
-    grid_builder.add_field(single_select_field);
-
-    // MultiSelect
-    let apple_option = SelectOptionPB::new("Apple");
-    let banana_option = SelectOptionPB::new("Banana");
-    let pear_option = SelectOptionPB::new("Pear");
-    let multi_select_type_option = MultiSelectTypeOptionBuilder::default()
-        .add_option(banana_option.clone())
-        .add_option(apple_option.clone())
-        .add_option(pear_option);
-    let multi_select_field = FieldBuilder::new(multi_select_type_option)
-        .name("Fruit")
-        .visibility(true)
-        .build();
-    let multi_select_field_id = multi_select_field.id.clone();
-    grid_builder.add_field(multi_select_field);
-
-    // Number
-    let number_type_option = NumberTypeOptionBuilder::default().set_format(NumberFormat::USD);
-    let number_field = FieldBuilder::new(number_type_option)
-        .name("Price")
-        .visibility(true)
-        .build();
-    let number_field_id = number_field.id.clone();
-    grid_builder.add_field(number_field);
-
-    // Checkbox
-    let checkbox_type_option = CheckboxTypeOptionBuilder::default();
-    let checkbox_field = FieldBuilder::new(checkbox_type_option).name("Reimbursement").build();
-    let checkbox_field_id = checkbox_field.id.clone();
-    grid_builder.add_field(checkbox_field);
-
-    // Url
-    let url_type_option = URLTypeOptionBuilder::default();
-    let url_field = FieldBuilder::new(url_type_option).name("Shop Link").build();
-    let url_field_id = url_field.id.clone();
-    grid_builder.add_field(url_field);
-
-    // Insert rows
-    for i in 0..10 {
-        // insert single select
-        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());
-        // insert multi select
-        row_builder.insert_select_option_cell(&multi_select_field_id, apple_option.id.clone());
-        row_builder.insert_select_option_cell(&multi_select_field_id, banana_option.id.clone());
-        // insert text
-        row_builder.insert_text_cell(&text_field_id, format!("Card {}", i));
-        // insert date
-        row_builder.insert_date_cell(&date_field_id, timestamp);
-        // number
-        row_builder.insert_number_cell(&number_field_id, i);
-        // checkbox
-        row_builder.insert_checkbox_cell(&checkbox_field_id, i % 2 == 0);
-        // url
-        row_builder.insert_url_cell(&url_field_id, "https://appflowy.io".to_string());
-
-        let row = row_builder.build();
-        grid_builder.add_row(row);
-    }
-
-    grid_builder.build()
-}