Skip to content

Commit 8894e9c

Browse files
committed
chore: update create board template
1 parent 0c45e3c commit 8894e9c

File tree

2 files changed

+40
-101
lines changed
  • frontend
    • app_flowy/packages/appflowy_board/lib/src/widgets/styled_widgets
    • rust-lib/flowy-grid/src

2 files changed

+40
-101
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ class AppFlowyGroupFooter extends StatefulWidget {
2525
class _AppFlowyGroupFooterState extends State<AppFlowyGroupFooter> {
2626
@override
2727
Widget build(BuildContext context) {
28-
return GestureDetector(
28+
return InkWell(
2929
onTap: widget.onAddButtonClick,
3030
child: SizedBox(
3131
height: widget.height,

frontend/rust-lib/flowy-grid/src/util.rs

Lines changed: 39 additions & 100 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ use crate::services::field::*;
33
use crate::services::row::RowRevisionBuilder;
44
use flowy_grid_data_model::revision::BuildGridContext;
55
use flowy_sync::client_grid::GridBuilder;
6-
use lib_infra::util::timestamp;
76

87
pub fn make_default_grid() -> BuildGridContext {
98
let mut grid_builder = GridBuilder::new();
@@ -59,6 +58,45 @@ pub fn make_default_board() -> BuildGridContext {
5958
let single_select_field_id = single_select_field.id.clone();
6059
grid_builder.add_field(single_select_field);
6160

61+
for i in 0..3 {
62+
let mut row_builder = RowRevisionBuilder::new(grid_builder.block_id(), grid_builder.field_revs());
63+
row_builder.insert_select_option_cell(&single_select_field_id, to_do_option.id.clone());
64+
let data = format!("Card {}", i + 1);
65+
row_builder.insert_text_cell(&text_field_id, data);
66+
let row = row_builder.build();
67+
grid_builder.add_row(row);
68+
}
69+
70+
grid_builder.build()
71+
}
72+
73+
#[allow(dead_code)]
74+
pub fn make_default_board_2() -> BuildGridContext {
75+
let mut grid_builder = GridBuilder::new();
76+
// text
77+
let text_field = FieldBuilder::new(RichTextTypeOptionBuilder::default())
78+
.name("Description")
79+
.visibility(true)
80+
.primary(true)
81+
.build();
82+
let text_field_id = text_field.id.clone();
83+
grid_builder.add_field(text_field);
84+
85+
// single select
86+
let to_do_option = SelectOptionPB::with_color("To Do", SelectOptionColorPB::Purple);
87+
let doing_option = SelectOptionPB::with_color("Doing", SelectOptionColorPB::Orange);
88+
let done_option = SelectOptionPB::with_color("Done", SelectOptionColorPB::Yellow);
89+
let single_select_type_option = SingleSelectTypeOptionBuilder::default()
90+
.add_option(to_do_option.clone())
91+
.add_option(doing_option.clone())
92+
.add_option(done_option.clone());
93+
let single_select_field = FieldBuilder::new(single_select_type_option)
94+
.name("Status")
95+
.visibility(true)
96+
.build();
97+
let single_select_field_id = single_select_field.id.clone();
98+
grid_builder.add_field(single_select_field);
99+
62100
// MultiSelect
63101
let work_option = SelectOptionPB::with_color("Work", SelectOptionColorPB::Aqua);
64102
let travel_option = SelectOptionPB::with_color("Travel", SelectOptionColorPB::Green);
@@ -152,102 +190,3 @@ pub fn make_default_board() -> BuildGridContext {
152190

153191
grid_builder.build()
154192
}
155-
156-
#[allow(dead_code)]
157-
pub fn make_default_board2() -> BuildGridContext {
158-
let mut grid_builder = GridBuilder::new();
159-
// text
160-
let text_field = FieldBuilder::new(RichTextTypeOptionBuilder::default())
161-
.name("Name")
162-
.visibility(true)
163-
.primary(true)
164-
.build();
165-
let text_field_id = text_field.id.clone();
166-
grid_builder.add_field(text_field);
167-
168-
// date
169-
let date_type_option = DateTypeOptionBuilder::default();
170-
let date_field = FieldBuilder::new(date_type_option)
171-
.name("Date")
172-
.visibility(true)
173-
.build();
174-
let date_field_id = date_field.id.clone();
175-
let timestamp = timestamp();
176-
grid_builder.add_field(date_field);
177-
178-
// single select
179-
let in_progress_option = SelectOptionPB::new("In progress");
180-
let not_started_option = SelectOptionPB::new("Not started");
181-
let done_option = SelectOptionPB::new("Done");
182-
let single_select_type_option = SingleSelectTypeOptionBuilder::default()
183-
.add_option(not_started_option.clone())
184-
.add_option(in_progress_option)
185-
.add_option(done_option);
186-
let single_select_field = FieldBuilder::new(single_select_type_option)
187-
.name("Status")
188-
.visibility(true)
189-
.build();
190-
let single_select_field_id = single_select_field.id.clone();
191-
grid_builder.add_field(single_select_field);
192-
193-
// MultiSelect
194-
let apple_option = SelectOptionPB::new("Apple");
195-
let banana_option = SelectOptionPB::new("Banana");
196-
let pear_option = SelectOptionPB::new("Pear");
197-
let multi_select_type_option = MultiSelectTypeOptionBuilder::default()
198-
.add_option(banana_option.clone())
199-
.add_option(apple_option.clone())
200-
.add_option(pear_option);
201-
let multi_select_field = FieldBuilder::new(multi_select_type_option)
202-
.name("Fruit")
203-
.visibility(true)
204-
.build();
205-
let multi_select_field_id = multi_select_field.id.clone();
206-
grid_builder.add_field(multi_select_field);
207-
208-
// Number
209-
let number_type_option = NumberTypeOptionBuilder::default().set_format(NumberFormat::USD);
210-
let number_field = FieldBuilder::new(number_type_option)
211-
.name("Price")
212-
.visibility(true)
213-
.build();
214-
let number_field_id = number_field.id.clone();
215-
grid_builder.add_field(number_field);
216-
217-
// Checkbox
218-
let checkbox_type_option = CheckboxTypeOptionBuilder::default();
219-
let checkbox_field = FieldBuilder::new(checkbox_type_option).name("Reimbursement").build();
220-
let checkbox_field_id = checkbox_field.id.clone();
221-
grid_builder.add_field(checkbox_field);
222-
223-
// Url
224-
let url_type_option = URLTypeOptionBuilder::default();
225-
let url_field = FieldBuilder::new(url_type_option).name("Shop Link").build();
226-
let url_field_id = url_field.id.clone();
227-
grid_builder.add_field(url_field);
228-
229-
// Insert rows
230-
for i in 0..10 {
231-
// insert single select
232-
let mut row_builder = RowRevisionBuilder::new(grid_builder.block_id(), grid_builder.field_revs());
233-
row_builder.insert_select_option_cell(&single_select_field_id, not_started_option.id.clone());
234-
// insert multi select
235-
row_builder.insert_select_option_cell(&multi_select_field_id, apple_option.id.clone());
236-
row_builder.insert_select_option_cell(&multi_select_field_id, banana_option.id.clone());
237-
// insert text
238-
row_builder.insert_text_cell(&text_field_id, format!("Card {}", i));
239-
// insert date
240-
row_builder.insert_date_cell(&date_field_id, timestamp);
241-
// number
242-
row_builder.insert_number_cell(&number_field_id, i);
243-
// checkbox
244-
row_builder.insert_checkbox_cell(&checkbox_field_id, i % 2 == 0);
245-
// url
246-
row_builder.insert_url_cell(&url_field_id, "https://appflowy.io".to_string());
247-
248-
let row = row_builder.build();
249-
grid_builder.add_row(row);
250-
}
251-
252-
grid_builder.build()
253-
}

0 commit comments

Comments
 (0)