@@ -3,7 +3,6 @@ use crate::services::field::*;
33use crate :: services:: row:: RowRevisionBuilder ;
44use flowy_grid_data_model:: revision:: BuildGridContext ;
55use flowy_sync:: client_grid:: GridBuilder ;
6- use lib_infra:: util:: timestamp;
76
87pub 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