From d3823eb076aed099116eef0ad105e41dfde69ea9 Mon Sep 17 00:00:00 2001 From: "Nathan.fooo" <86001920+appflowy@users.noreply.github.com> Date: Thu, 9 Mar 2023 09:51:04 +0800 Subject: [PATCH] refactor: moving grid widgets used by other database view to upper level folder * refactor: export UIs in flowy_infra_ui * refactor: move cells to upper level folder * refactor: move cell blocs --- .../application/row/row_data_controller.dart | 4 +- .../board/presentation/board_page.dart | 6 +- .../presentation/toolbar/board_toolbar.dart | 1 - .../calendar/presentation/calendar_page.dart | 8 +- .../grid/application/row/row_bloc.dart | 4 +- .../grid/application/row/row_detail_bloc.dart | 2 +- .../grid/presentation/grid_page.dart | 12 +-- .../presentation/widgets/cell/prelude.dart | 7 -- .../widgets/filter/choicechip/checkbox.dart | 1 - .../choicechip/checklist/checklist.dart | 1 - .../choicechip/select_option/option_list.dart | 2 +- .../select_option/select_option.dart | 2 - .../widgets/filter/choicechip/text.dart | 1 - .../widgets/filter/filter_menu.dart | 1 - .../widgets/header/field_cell.dart | 1 - .../widgets/header/field_type_list.dart | 3 - .../header/field_type_option_editor.dart | 1 - .../widgets/header/grid_header.dart | 1 - .../widgets/header/type_option/date.dart | 2 - .../widgets/header/type_option/number.dart | 2 - .../header/type_option/select_option.dart | 4 +- .../type_option/select_option_editor.dart | 2 +- .../{row_action_sheet.dart => action.dart} | 12 ++- .../widgets/row/{grid_row.dart => row.dart} | 22 +++-- .../widgets/sort/sort_editor.dart | 3 - .../widgets/toolbar/filter_button.dart | 1 - .../widgets/toolbar/grid_property.dart | 3 - .../widgets/toolbar/setting_button.dart | 1 - .../widgets/toolbar/sort_button.dart | 1 - .../database_view/widgets/card/card.dart | 4 +- .../card/cells/checklist_card_cell.dart | 4 +- .../card/cells/select_option_card_cell.dart | 4 +- .../widgets/card/cells/text_card_cell.dart | 2 +- .../row/accessory}/cell_accessory.dart | 2 +- .../row/accessory}/cell_decoration.dart | 0 .../row/accessory}/cell_shortcuts.dart | 0 .../cell => widgets/row}/cell_builder.dart | 20 ++--- .../row/cells}/cell_container.dart | 10 +-- .../cells/checkbox_cell}/checkbox_cell.dart | 11 +-- .../checkbox_cell}/checkbox_cell_bloc.dart | 0 .../cells}/checklist_cell/checklist_cell.dart | 4 +- .../checklist_cell}/checklist_cell_bloc.dart | 2 +- .../checklist_cell/checklist_cell_editor.dart | 10 +-- .../checklist_cell_editor_bloc.dart | 2 +- .../checklist_progress_bar.dart | 2 +- .../row/cells/date_cell}/date_cal_bloc.dart | 56 ++++++------ .../row/cells}/date_cell/date_cell.dart | 9 +- .../row/cells/date_cell}/date_cell_bloc.dart | 0 .../row/cells}/date_cell/date_editor.dart | 57 ++++++------ .../row/cells/number_cell}/number_cell.dart | 12 +-- .../cells/number_cell}/number_cell_bloc.dart | 0 .../cells}/select_option_cell/extension.dart | 0 .../select_option_cell.dart | 8 +- .../select_option_cell_bloc.dart | 0 .../select_option_editor.dart | 11 +-- .../select_option_editor_bloc.dart | 0 .../select_option_service.dart | 0 .../cells}/select_option_cell/text_field.dart | 0 .../row/cells/text_cell}/text_cell.dart | 12 +-- .../row/cells/text_cell}/text_cell_bloc.dart | 0 .../row/cells}/url_cell/cell_editor.dart | 2 +- .../row/cells}/url_cell/url_cell.dart | 8 +- .../row/cells/url_cell}/url_cell_bloc.dart | 0 .../cells/url_cell}/url_cell_editor_bloc.dart | 0 .../widgets/row/row_detail.dart | 87 +++++++++++-------- .../plugins/cover/cover_node_widget.dart | 2 - .../lib/startup/deps_resolver.dart | 39 --------- .../menu/app/header/import/import_panel.dart | 1 - .../widgets/settings_appearance_view.dart | 1 - ...settings_file_customize_location_view.dart | 2 - .../settings_file_exporter_widget.dart | 3 - .../presentation/widgets/pop_up_action.dart | 1 - .../lib/src/callout/callout_node_widget.dart | 2 - .../flowy_infra_ui/lib/flowy_infra_ui.dart | 8 ++ .../lib/style_widget/color_picker.dart | 3 - .../group_by_multi_select_field_test.dart | 2 +- .../test/bloc_test/board_test/util.dart | 2 +- .../cell/select_option_cell_test.dart | 2 +- .../test/bloc_test/grid_test/util.dart | 2 +- .../select_option_split_text_input.dart | 2 +- .../select_option_text_field_test.dart | 2 +- 81 files changed, 224 insertions(+), 300 deletions(-) delete mode 100644 frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/prelude.dart rename frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/row/{row_action_sheet.dart => action.dart} (90%) rename frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/row/{grid_row.dart => row.dart} (93%) rename frontend/appflowy_flutter/lib/plugins/database_view/{grid/presentation/widgets/cell => widgets/row/accessory}/cell_accessory.dart (99%) rename frontend/appflowy_flutter/lib/plugins/database_view/{grid/presentation/widgets/cell => widgets/row/accessory}/cell_decoration.dart (100%) rename frontend/appflowy_flutter/lib/plugins/database_view/{grid/presentation/widgets/cell => widgets/row/accessory}/cell_shortcuts.dart (100%) rename frontend/appflowy_flutter/lib/plugins/database_view/{grid/presentation/widgets/cell => widgets/row}/cell_builder.dart (93%) rename frontend/appflowy_flutter/lib/plugins/database_view/{grid/presentation/widgets/cell => widgets/row/cells}/cell_container.dart (95%) rename frontend/appflowy_flutter/lib/plugins/database_view/{grid/presentation/widgets/cell => widgets/row/cells/checkbox_cell}/checkbox_cell.dart (87%) rename frontend/appflowy_flutter/lib/plugins/database_view/{grid/application/cell => widgets/row/cells/checkbox_cell}/checkbox_cell_bloc.dart (100%) rename frontend/appflowy_flutter/lib/plugins/database_view/{grid/presentation/widgets/cell => widgets/row/cells}/checklist_cell/checklist_cell.dart (94%) rename frontend/appflowy_flutter/lib/plugins/database_view/{grid/application/cell => widgets/row/cells/checklist_cell}/checklist_cell_bloc.dart (96%) rename frontend/appflowy_flutter/lib/plugins/database_view/{grid/presentation/widgets/cell => widgets/row/cells}/checklist_cell/checklist_cell_editor.dart (92%) rename frontend/appflowy_flutter/lib/plugins/database_view/{grid/application/cell => widgets/row/cells/checklist_cell}/checklist_cell_editor_bloc.dart (98%) rename frontend/appflowy_flutter/lib/plugins/database_view/{grid/presentation/widgets/cell => widgets/row/cells}/checklist_cell/checklist_progress_bar.dart (96%) rename frontend/appflowy_flutter/lib/plugins/database_view/{grid/application/cell => widgets/row/cells/date_cell}/date_cal_bloc.dart (82%) rename frontend/appflowy_flutter/lib/plugins/database_view/{grid/presentation/widgets/cell => widgets/row/cells}/date_cell/date_cell.dart (91%) rename frontend/appflowy_flutter/lib/plugins/database_view/{grid/application/cell => widgets/row/cells/date_cell}/date_cell_bloc.dart (100%) rename frontend/appflowy_flutter/lib/plugins/database_view/{grid/presentation/widgets/cell => widgets/row/cells}/date_cell/date_editor.dart (89%) rename frontend/appflowy_flutter/lib/plugins/database_view/{grid/presentation/widgets/cell => widgets/row/cells/number_cell}/number_cell.dart (89%) rename frontend/appflowy_flutter/lib/plugins/database_view/{grid/application/cell => widgets/row/cells/number_cell}/number_cell_bloc.dart (100%) rename frontend/appflowy_flutter/lib/plugins/database_view/{grid/presentation/widgets/cell => widgets/row/cells}/select_option_cell/extension.dart (100%) rename frontend/appflowy_flutter/lib/plugins/database_view/{grid/presentation/widgets/cell => widgets/row/cells}/select_option_cell/select_option_cell.dart (96%) rename frontend/appflowy_flutter/lib/plugins/database_view/{grid/application/cell => widgets/row/cells/select_option_cell}/select_option_cell_bloc.dart (100%) rename frontend/appflowy_flutter/lib/plugins/database_view/{grid/presentation/widgets/cell => widgets/row/cells}/select_option_cell/select_option_editor.dart (95%) rename frontend/appflowy_flutter/lib/plugins/database_view/{grid/application/cell => widgets/row/cells/select_option_cell}/select_option_editor_bloc.dart (100%) rename frontend/appflowy_flutter/lib/plugins/database_view/{grid/application/cell => widgets/row/cells/select_option_cell}/select_option_service.dart (100%) rename frontend/appflowy_flutter/lib/plugins/database_view/{grid/presentation/widgets/cell => widgets/row/cells}/select_option_cell/text_field.dart (100%) rename frontend/appflowy_flutter/lib/plugins/database_view/{grid/presentation/widgets/cell => widgets/row/cells/text_cell}/text_cell.dart (88%) rename frontend/appflowy_flutter/lib/plugins/database_view/{grid/application/cell => widgets/row/cells/text_cell}/text_cell_bloc.dart (100%) rename frontend/appflowy_flutter/lib/plugins/database_view/{grid/presentation/widgets/cell => widgets/row/cells}/url_cell/cell_editor.dart (97%) rename frontend/appflowy_flutter/lib/plugins/database_view/{grid/presentation/widgets/cell => widgets/row/cells}/url_cell/url_cell.dart (97%) rename frontend/appflowy_flutter/lib/plugins/database_view/{grid/application/cell => widgets/row/cells/url_cell}/url_cell_bloc.dart (100%) rename frontend/appflowy_flutter/lib/plugins/database_view/{grid/application/cell => widgets/row/cells/url_cell}/url_cell_editor_bloc.dart (100%) rename frontend/appflowy_flutter/lib/plugins/database_view/{grid/presentation => }/widgets/row/row_detail.dart (84%) diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/application/row/row_data_controller.dart b/frontend/appflowy_flutter/lib/plugins/database_view/application/row/row_data_controller.dart index f0e8fc1f37..c810ea7c8e 100644 --- a/frontend/appflowy_flutter/lib/plugins/database_view/application/row/row_data_controller.dart +++ b/frontend/appflowy_flutter/lib/plugins/database_view/application/row/row_data_controller.dart @@ -4,7 +4,7 @@ import 'row_cache.dart'; typedef OnRowChanged = void Function(CellByFieldId, RowsChangedReason); -class RowDataController { +class RowController { final String rowId; final String viewId; final List _onRowChangedListeners = []; @@ -12,7 +12,7 @@ class RowDataController { get cellCache => _rowCache.cellCache; - RowDataController({ + RowController({ required this.rowId, required this.viewId, required RowCache rowCache, diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/board/presentation/board_page.dart b/frontend/appflowy_flutter/lib/plugins/database_view/board/presentation/board_page.dart index d4e25689a7..cbd85594a0 100644 --- a/frontend/appflowy_flutter/lib/plugins/database_view/board/presentation/board_page.dart +++ b/frontend/appflowy_flutter/lib/plugins/database_view/board/presentation/board_page.dart @@ -6,8 +6,7 @@ import 'package:appflowy/generated/locale_keys.g.dart'; import 'package:appflowy/plugins/database_view/application/field/field_controller.dart'; import 'package:appflowy/plugins/database_view/application/row/row_cache.dart'; import 'package:appflowy/plugins/database_view/application/row/row_data_controller.dart'; -import 'package:appflowy/plugins/database_view/grid/presentation/widgets/cell/cell_builder.dart'; -import 'package:appflowy/plugins/database_view/grid/presentation/widgets/row/row_detail.dart'; +import 'package:appflowy/plugins/database_view/widgets/row/row_detail.dart'; import 'package:appflowy_backend/protobuf/flowy-folder/view.pb.dart'; import 'package:appflowy_backend/protobuf/flowy-database/field_entities.pb.dart'; import 'package:appflowy_backend/protobuf/flowy-database/row_entities.pb.dart'; @@ -22,6 +21,7 @@ import 'package:flutter_bloc/flutter_bloc.dart'; import '../../widgets/card/cells/card_cell.dart'; import '../../widgets/card/card_cell_builder.dart'; +import '../../widgets/row/cell_builder.dart'; import '../application/board_bloc.dart'; import '../../widgets/card/card.dart'; import 'toolbar/board_toolbar.dart'; @@ -312,7 +312,7 @@ class _BoardContentState extends State { rowPB: rowPB, ); - final dataController = RowDataController( + final dataController = RowController( rowId: rowInfo.rowPB.id, viewId: rowInfo.viewId, rowCache: rowCache, diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/board/presentation/toolbar/board_toolbar.dart b/frontend/appflowy_flutter/lib/plugins/database_view/board/presentation/toolbar/board_toolbar.dart index 89434f0b1e..57f12e218f 100644 --- a/frontend/appflowy_flutter/lib/plugins/database_view/board/presentation/toolbar/board_toolbar.dart +++ b/frontend/appflowy_flutter/lib/plugins/database_view/board/presentation/toolbar/board_toolbar.dart @@ -5,7 +5,6 @@ import 'package:appflowy_popover/appflowy_popover.dart'; import 'package:easy_localization/easy_localization.dart'; import 'package:flowy_infra/theme_extension.dart'; import 'package:flowy_infra_ui/flowy_infra_ui.dart'; -import 'package:flowy_infra_ui/style_widget/button.dart'; import 'package:flutter/material.dart'; import 'board_setting.dart'; diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/calendar/presentation/calendar_page.dart b/frontend/appflowy_flutter/lib/plugins/database_view/calendar/presentation/calendar_page.dart index 085696b9c0..0eac7870a3 100644 --- a/frontend/appflowy_flutter/lib/plugins/database_view/calendar/presentation/calendar_page.dart +++ b/frontend/appflowy_flutter/lib/plugins/database_view/calendar/presentation/calendar_page.dart @@ -1,7 +1,6 @@ import 'package:appflowy/generated/locale_keys.g.dart'; import 'package:appflowy/plugins/database_view/application/row/row_data_controller.dart'; import 'package:appflowy/plugins/database_view/calendar/application/calendar_bloc.dart'; -import 'package:appflowy/plugins/database_view/grid/presentation/widgets/cell/cell_builder.dart'; import 'package:appflowy/plugins/database_view/widgets/card/card_cell_builder.dart'; import 'package:appflowy_backend/protobuf/flowy-folder/view.pb.dart'; import 'package:calendar_view/calendar_view.dart'; @@ -10,15 +9,14 @@ import 'package:flowy_infra/image.dart'; import 'package:flowy_infra/size.dart'; import 'package:flowy_infra/theme_extension.dart'; import 'package:flowy_infra_ui/flowy_infra_ui.dart'; -import 'package:flowy_infra_ui/style_widget/button.dart'; import 'package:flowy_infra_ui/style_widget/hover.dart'; -import 'package:flowy_infra_ui/style_widget/icon_button.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:provider/provider.dart'; import '../../grid/presentation/layout/sizes.dart'; -import '../../grid/presentation/widgets/row/row_detail.dart'; +import '../../widgets/row/cell_builder.dart'; +import '../../widgets/row/row_detail.dart'; import 'layout/sizes.dart'; import 'toolbar/calendar_toolbar.dart'; @@ -167,7 +165,7 @@ class _CalendarPageState extends State { return FlowyHover( child: GestureDetector( onTap: () { - final dataController = RowDataController( + final dataController = RowController( rowId: event.cellId.rowId, viewId: widget.view.id, rowCache: _calendarBloc.rowCache, diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/application/row/row_bloc.dart b/frontend/appflowy_flutter/lib/plugins/database_view/grid/application/row/row_bloc.dart index 7a5d413880..aa1071f01c 100644 --- a/frontend/appflowy_flutter/lib/plugins/database_view/grid/application/row/row_bloc.dart +++ b/frontend/appflowy_flutter/lib/plugins/database_view/grid/application/row/row_bloc.dart @@ -14,11 +14,11 @@ part 'row_bloc.freezed.dart'; class RowBloc extends Bloc { final RowBackendService _rowBackendSvc; - final RowDataController _dataController; + final RowController _dataController; RowBloc({ required RowInfo rowInfo, - required RowDataController dataController, + required RowController dataController, }) : _rowBackendSvc = RowBackendService(viewId: rowInfo.viewId), _dataController = dataController, super(RowState.initial(rowInfo, dataController.loadData())) { diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/application/row/row_detail_bloc.dart b/frontend/appflowy_flutter/lib/plugins/database_view/grid/application/row/row_detail_bloc.dart index a111022569..9a53a04a77 100644 --- a/frontend/appflowy_flutter/lib/plugins/database_view/grid/application/row/row_detail_bloc.dart +++ b/frontend/appflowy_flutter/lib/plugins/database_view/grid/application/row/row_detail_bloc.dart @@ -7,7 +7,7 @@ import '../../../application/row/row_data_controller.dart'; part 'row_detail_bloc.freezed.dart'; class RowDetailBloc extends Bloc { - final RowDataController dataController; + final RowController dataController; RowDetailBloc({ required this.dataController, diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/grid_page.dart b/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/grid_page.dart index 1abc425904..2b8f9a060c 100755 --- a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/grid_page.dart +++ b/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/grid_page.dart @@ -1,4 +1,5 @@ import 'package:appflowy/generated/locale_keys.g.dart'; +import 'package:appflowy/plugins/database_view/widgets/row/cell_builder.dart'; import 'package:appflowy_backend/protobuf/flowy-database/setting_entities.pbenum.dart'; import 'package:easy_localization/easy_localization.dart'; import 'package:flowy_infra_ui/flowy_infra_ui_web.dart'; @@ -23,11 +24,10 @@ import 'grid_scroll.dart'; import 'layout/layout.dart'; import 'layout/sizes.dart'; import 'widgets/accessory_menu.dart'; -import 'widgets/cell/cell_builder.dart'; -import 'widgets/row/grid_row.dart'; +import 'widgets/row/row.dart'; import 'widgets/footer/grid_footer.dart'; import 'widgets/header/grid_header.dart'; -import 'widgets/row/row_detail.dart'; +import '../../widgets/row/row_detail.dart'; import 'widgets/shortcuts.dart'; import 'widgets/toolbar/grid_toolbar.dart'; @@ -279,7 +279,7 @@ class _GridRowsState extends State<_GridRows> { final fieldController = context.read().databaseController.fieldController; - final dataController = RowDataController( + final dataController = RowController( rowId: rowInfo.rowPB.id, viewId: rowInfo.viewId, rowCache: rowCache, @@ -287,7 +287,7 @@ class _GridRowsState extends State<_GridRows> { return SizeTransition( sizeFactor: animation, - child: GridRowWidget( + child: GridRow( rowInfo: rowInfo, dataController: dataController, cellBuilder: GridCellBuilder(cellCache: dataController.cellCache), @@ -312,7 +312,7 @@ class _GridRowsState extends State<_GridRows> { RowCache rowCache, GridCellBuilder cellBuilder, ) { - final dataController = RowDataController( + final dataController = RowController( viewId: rowInfo.viewId, rowId: rowInfo.rowPB.id, rowCache: rowCache, diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/prelude.dart b/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/prelude.dart deleted file mode 100644 index 7b34d8fcdf..0000000000 --- a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/prelude.dart +++ /dev/null @@ -1,7 +0,0 @@ -export 'cell_builder.dart'; -export 'text_cell.dart'; -export 'number_cell.dart'; -export 'date_cell/date_cell.dart'; -export 'checkbox_cell.dart'; -export 'select_option_cell/select_option_cell.dart'; -export 'url_cell/url_cell.dart'; diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/filter/choicechip/checkbox.dart b/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/filter/choicechip/checkbox.dart index b3e71db5fd..f9cd9d104d 100644 --- a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/filter/choicechip/checkbox.dart +++ b/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/filter/choicechip/checkbox.dart @@ -5,7 +5,6 @@ import 'package:appflowy_popover/appflowy_popover.dart'; import 'package:easy_localization/easy_localization.dart'; import 'package:flowy_infra/image.dart'; import 'package:flowy_infra_ui/flowy_infra_ui.dart'; -import 'package:flowy_infra_ui/widget/spacing.dart'; import 'package:appflowy_backend/protobuf/flowy-database/checkbox_filter.pbenum.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/filter/choicechip/checklist/checklist.dart b/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/filter/choicechip/checklist/checklist.dart index 85a0ec45f7..2178d255f9 100644 --- a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/filter/choicechip/checklist/checklist.dart +++ b/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/filter/choicechip/checklist/checklist.dart @@ -4,7 +4,6 @@ import 'package:appflowy/workspace/presentation/widgets/pop_up_action.dart'; import 'package:appflowy_popover/appflowy_popover.dart'; import 'package:easy_localization/easy_localization.dart'; import 'package:flowy_infra_ui/flowy_infra_ui.dart'; -import 'package:flowy_infra_ui/widget/spacing.dart'; import 'package:appflowy_backend/protobuf/flowy-database/checklist_filter.pbenum.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/filter/choicechip/select_option/option_list.dart b/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/filter/choicechip/select_option/option_list.dart index 1120a178f7..c644454d3a 100644 --- a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/filter/choicechip/select_option/option_list.dart +++ b/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/filter/choicechip/select_option/option_list.dart @@ -8,7 +8,7 @@ import 'package:appflowy_backend/protobuf/flowy-database/select_type_option.pb.d import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; -import '../../../cell/select_option_cell/extension.dart'; +import '../../../../../../widgets/row/cells/select_option_cell/extension.dart'; import '../../filter_info.dart'; import 'select_option_loader.dart'; diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/filter/choicechip/select_option/select_option.dart b/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/filter/choicechip/select_option/select_option.dart index f1aa4591d0..b05dfdaf63 100644 --- a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/filter/choicechip/select_option/select_option.dart +++ b/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/filter/choicechip/select_option/select_option.dart @@ -1,8 +1,6 @@ import 'package:appflowy/plugins/database_view/grid/application/filter/select_option_filter_bloc.dart'; import 'package:appflowy_popover/appflowy_popover.dart'; import 'package:flowy_infra_ui/flowy_infra_ui.dart'; -import 'package:flowy_infra_ui/style_widget/scrolling/styled_list.dart'; -import 'package:flowy_infra_ui/widget/spacing.dart'; import 'package:appflowy_backend/protobuf/flowy-database/field_entities.pb.dart'; import 'package:appflowy_backend/protobuf/flowy-database/select_option_filter.pb.dart'; import 'package:flutter/material.dart'; diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/filter/choicechip/text.dart b/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/filter/choicechip/text.dart index c3f84eb0ce..94ccd5164e 100644 --- a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/filter/choicechip/text.dart +++ b/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/filter/choicechip/text.dart @@ -4,7 +4,6 @@ import 'package:appflowy_popover/appflowy_popover.dart'; import 'package:easy_localization/easy_localization.dart'; import 'package:flowy_infra/image.dart'; import 'package:flowy_infra_ui/flowy_infra_ui.dart'; -import 'package:flowy_infra_ui/widget/spacing.dart'; import 'package:appflowy_backend/protobuf/flowy-database/text_filter.pb.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/filter/filter_menu.dart b/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/filter/filter_menu.dart index 4d6214710a..a7f17b1e8a 100644 --- a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/filter/filter_menu.dart +++ b/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/filter/filter_menu.dart @@ -5,7 +5,6 @@ import 'package:easy_localization/easy_localization.dart'; import 'package:flowy_infra/theme_extension.dart'; import 'package:flowy_infra/image.dart'; import 'package:flowy_infra_ui/flowy_infra_ui.dart'; -import 'package:flowy_infra_ui/style_widget/button.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/field_cell.dart b/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/field_cell.dart index 58c44099c8..91d5368286 100755 --- a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/field_cell.dart +++ b/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/field_cell.dart @@ -4,7 +4,6 @@ import 'package:appflowy_popover/appflowy_popover.dart'; import 'package:flowy_infra/image.dart'; import 'package:flowy_infra/theme_extension.dart'; import 'package:flowy_infra_ui/flowy_infra_ui.dart'; -import 'package:flowy_infra_ui/style_widget/button.dart'; import 'package:flowy_infra_ui/style_widget/hover.dart'; import 'package:appflowy_backend/protobuf/flowy-database/field_entities.pb.dart'; import 'package:flutter/material.dart'; diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/field_type_list.dart b/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/field_type_list.dart index 197b15a60e..da6c28d606 100644 --- a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/field_type_list.dart +++ b/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/field_type_list.dart @@ -1,9 +1,6 @@ import 'package:appflowy_popover/appflowy_popover.dart'; import 'package:flowy_infra/image.dart'; import 'package:flowy_infra_ui/flowy_infra_ui.dart'; -import 'package:flowy_infra_ui/style_widget/button.dart'; -import 'package:flowy_infra_ui/style_widget/scrolling/styled_list.dart'; -import 'package:flowy_infra_ui/widget/spacing.dart'; import 'package:appflowy_backend/protobuf/flowy-database/field_entities.pb.dart'; import 'package:flutter/material.dart'; import '../../layout/sizes.dart'; diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/field_type_option_editor.dart b/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/field_type_option_editor.dart index 68c24d291b..29e6203dc3 100644 --- a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/field_type_option_editor.dart +++ b/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/field_type_option_editor.dart @@ -5,7 +5,6 @@ import 'package:appflowy_popover/appflowy_popover.dart'; import 'package:dartz/dartz.dart' show Either; import 'package:flowy_infra/image.dart'; import 'package:flowy_infra_ui/flowy_infra_ui.dart'; -import 'package:flowy_infra_ui/style_widget/button.dart'; import 'package:appflowy_backend/protobuf/flowy-error/errors.pb.dart'; import 'package:appflowy_backend/protobuf/flowy-database/field_entities.pb.dart'; import 'package:flutter/material.dart'; diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/grid_header.dart b/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/grid_header.dart index 7a1ececb57..0e4c6e28f5 100644 --- a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/grid_header.dart +++ b/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/grid_header.dart @@ -9,7 +9,6 @@ import 'package:appflowy_popover/appflowy_popover.dart'; import 'package:flowy_infra/theme_extension.dart'; import 'package:flowy_infra/image.dart'; import 'package:flowy_infra_ui/flowy_infra_ui.dart'; -import 'package:flowy_infra_ui/style_widget/button.dart'; import 'package:appflowy_backend/protobuf/flowy-database/field_entities.pb.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/type_option/date.dart b/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/type_option/date.dart index 6027492815..8e29b785e7 100644 --- a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/type_option/date.dart +++ b/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/type_option/date.dart @@ -6,8 +6,6 @@ import 'package:easy_localization/easy_localization.dart' hide DateFormat; import 'package:appflowy/generated/locale_keys.g.dart'; import 'package:flowy_infra/image.dart'; import 'package:flowy_infra_ui/flowy_infra_ui.dart'; -import 'package:flowy_infra_ui/style_widget/button.dart'; -import 'package:flowy_infra_ui/widget/spacing.dart'; import 'package:appflowy_backend/protobuf/flowy-database/date_type_option_entities.pb.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/type_option/number.dart b/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/type_option/number.dart index 067bb2d4c8..92018009af 100644 --- a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/type_option/number.dart +++ b/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/type_option/number.dart @@ -4,8 +4,6 @@ import 'package:appflowy/plugins/database_view/application/field/type_option/typ import 'package:appflowy_popover/appflowy_popover.dart'; import 'package:flowy_infra/image.dart'; import 'package:flowy_infra_ui/flowy_infra_ui.dart'; -import 'package:flowy_infra_ui/style_widget/button.dart'; -import 'package:flowy_infra_ui/widget/spacing.dart'; import 'package:appflowy_backend/protobuf/flowy-database/format.pbenum.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/type_option/select_option.dart b/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/type_option/select_option.dart index 91a646574f..27965ca186 100644 --- a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/type_option/select_option.dart +++ b/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/type_option/select_option.dart @@ -2,8 +2,6 @@ import 'package:appflowy/plugins/database_view/application/field/type_option/sel import 'package:appflowy_popover/appflowy_popover.dart'; import 'package:flowy_infra/image.dart'; import 'package:flowy_infra_ui/flowy_infra_ui.dart'; -import 'package:flowy_infra_ui/style_widget/button.dart'; -import 'package:flowy_infra_ui/widget/spacing.dart'; import 'package:appflowy_backend/protobuf/flowy-database/select_type_option.pb.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; @@ -11,7 +9,7 @@ import 'package:easy_localization/easy_localization.dart'; import 'package:appflowy/generated/locale_keys.g.dart'; import '../../../layout/sizes.dart'; -import '../../cell/select_option_cell/extension.dart'; +import '../../../../../widgets/row/cells/select_option_cell/extension.dart'; import '../../common/type_option_separator.dart'; import 'select_option_editor.dart'; diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/type_option/select_option_editor.dart b/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/type_option/select_option_editor.dart index f4c931d0d3..c248ec01df 100644 --- a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/type_option/select_option_editor.dart +++ b/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/type_option/select_option_editor.dart @@ -1,5 +1,5 @@ import 'package:appflowy/plugins/database_view/application/field/type_option/edit_select_option_bloc.dart'; -import 'package:appflowy/plugins/database_view/grid/presentation/widgets/cell/select_option_cell/extension.dart'; +import 'package:appflowy/plugins/database_view/widgets/row/cells/select_option_cell/extension.dart'; import 'package:flowy_infra/image.dart'; import 'package:flowy_infra_ui/style_widget/button.dart'; import 'package:flowy_infra_ui/style_widget/scrolling/styled_list.dart'; diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/row/row_action_sheet.dart b/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/row/action.dart similarity index 90% rename from frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/row/row_action_sheet.dart rename to frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/row/action.dart index d270b3a084..2aecd5f868 100644 --- a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/row/row_action_sheet.dart +++ b/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/row/action.dart @@ -12,9 +12,9 @@ import 'package:flutter_bloc/flutter_bloc.dart'; import '../../layout/sizes.dart'; -class GridRowActionSheet extends StatelessWidget { +class RowActions extends StatelessWidget { final RowInfo rowData; - const GridRowActionSheet({required this.rowData, Key? key}) : super(key: key); + const RowActions({required this.rowData, Key? key}) : super(key: key); @override Widget build(BuildContext context) { @@ -24,9 +24,7 @@ class GridRowActionSheet extends StatelessWidget { builder: (context, state) { final cells = _RowAction.values .where((value) => value.enable()) - .map( - (action) => _RowActionCell(action: action), - ) + .map((action) => _ActionCell(action: action)) .toList(); // @@ -49,9 +47,9 @@ class GridRowActionSheet extends StatelessWidget { } } -class _RowActionCell extends StatelessWidget { +class _ActionCell extends StatelessWidget { final _RowAction action; - const _RowActionCell({required this.action, Key? key}) : super(key: key); + const _ActionCell({required this.action, Key? key}) : super(key: key); @override Widget build(BuildContext context) { diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/row/grid_row.dart b/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/row/row.dart similarity index 93% rename from frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/row/grid_row.dart rename to frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/row/row.dart index c18038f253..09aff68112 100755 --- a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/row/grid_row.dart +++ b/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/row/row.dart @@ -2,30 +2,29 @@ import 'package:appflowy/plugins/database_view/application/cell/cell_service.dar import 'package:appflowy/plugins/database_view/application/row/row_cache.dart'; import 'package:appflowy/plugins/database_view/application/row/row_data_controller.dart'; import 'package:appflowy/plugins/database_view/grid/application/row/row_bloc.dart'; +import 'package:appflowy/plugins/database_view/widgets/row/cell_builder.dart'; import 'package:appflowy_popover/appflowy_popover.dart'; import 'package:flowy_infra/image.dart'; import 'package:flowy_infra_ui/flowy_infra_ui.dart'; -import 'package:flowy_infra_ui/style_widget/icon_button.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:provider/provider.dart'; +import '../../../../widgets/row/accessory/cell_accessory.dart'; import '../../layout/sizes.dart'; -import '../cell/cell_accessory.dart'; -import '../cell/cell_container.dart'; -import '../cell/prelude.dart'; -import 'row_action_sheet.dart'; +import '../../../../widgets/row/cells/cell_container.dart'; +import 'action.dart'; import "package:appflowy/generated/locale_keys.g.dart"; import 'package:easy_localization/easy_localization.dart'; -class GridRowWidget extends StatefulWidget { +class GridRow extends StatefulWidget { final RowInfo rowInfo; - final RowDataController dataController; + final RowController dataController; final GridCellBuilder cellBuilder; final void Function(BuildContext, GridCellBuilder) openDetailPage; - const GridRowWidget({ + const GridRow({ required this.rowInfo, required this.dataController, required this.cellBuilder, @@ -34,10 +33,10 @@ class GridRowWidget extends StatefulWidget { }) : super(key: key); @override - State createState() => _GridRowWidgetState(); + State createState() => _GridRowState(); } -class _GridRowWidgetState extends State { +class _GridRowState extends State { late RowBloc _rowBloc; @override @@ -111,8 +110,7 @@ class _RowLeadingState extends State<_RowLeading> { direction: PopoverDirection.rightWithCenterAligned, margin: const EdgeInsets.all(6), popupBuilder: (BuildContext popoverContext) { - return GridRowActionSheet( - rowData: context.read().state.rowInfo); + return RowActions(rowData: context.read().state.rowInfo); }, child: Consumer( builder: (context, state, _) { diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/sort/sort_editor.dart b/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/sort/sort_editor.dart index a0c175659e..0bcaee5175 100644 --- a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/sort/sort_editor.dart +++ b/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/sort/sort_editor.dart @@ -9,9 +9,6 @@ import 'package:easy_localization/easy_localization.dart'; import 'package:flowy_infra/image.dart'; import 'package:flowy_infra/theme_extension.dart'; import 'package:flowy_infra_ui/flowy_infra_ui.dart'; -import 'package:flowy_infra_ui/style_widget/button.dart'; -import 'package:flowy_infra_ui/style_widget/icon_button.dart'; -import 'package:flowy_infra_ui/widget/spacing.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'dart:math' as math; diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/toolbar/filter_button.dart b/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/toolbar/filter_button.dart index 19935e5471..453e277b1d 100644 --- a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/toolbar/filter_button.dart +++ b/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/toolbar/filter_button.dart @@ -4,7 +4,6 @@ import 'package:appflowy_popover/appflowy_popover.dart'; import 'package:easy_localization/easy_localization.dart'; import 'package:flowy_infra/theme_extension.dart'; import 'package:flowy_infra_ui/flowy_infra_ui.dart'; -import 'package:flowy_infra_ui/style_widget/button.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/toolbar/grid_property.dart b/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/toolbar/grid_property.dart index f5406997f4..59cd2cb99b 100644 --- a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/toolbar/grid_property.dart +++ b/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/toolbar/grid_property.dart @@ -6,9 +6,6 @@ import 'package:appflowy/startup/startup.dart'; import 'package:appflowy_popover/appflowy_popover.dart'; import 'package:flowy_infra/image.dart'; import 'package:flowy_infra_ui/flowy_infra_ui.dart'; -import 'package:flowy_infra_ui/style_widget/button.dart'; -import 'package:flowy_infra_ui/style_widget/icon_button.dart'; -import 'package:flowy_infra_ui/widget/spacing.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:styled_widget/styled_widget.dart'; diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/toolbar/setting_button.dart b/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/toolbar/setting_button.dart index 9de1d2091a..62a9bea883 100644 --- a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/toolbar/setting_button.dart +++ b/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/toolbar/setting_button.dart @@ -5,7 +5,6 @@ import 'package:appflowy_popover/appflowy_popover.dart'; import 'package:easy_localization/easy_localization.dart'; import 'package:flowy_infra/theme_extension.dart'; import 'package:flowy_infra_ui/flowy_infra_ui.dart'; -import 'package:flowy_infra_ui/style_widget/button.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:styled_widget/styled_widget.dart'; diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/toolbar/sort_button.dart b/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/toolbar/sort_button.dart index 5910bc7cc4..8469383cf1 100644 --- a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/toolbar/sort_button.dart +++ b/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/toolbar/sort_button.dart @@ -4,7 +4,6 @@ import 'package:appflowy_popover/appflowy_popover.dart'; import 'package:easy_localization/easy_localization.dart'; import 'package:flowy_infra/theme_extension.dart'; import 'package:flowy_infra_ui/flowy_infra_ui.dart'; -import 'package:flowy_infra_ui/style_widget/button.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/widgets/card/card.dart b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/card/card.dart index 59f4481339..196b4b40ec 100644 --- a/frontend/appflowy_flutter/lib/plugins/database_view/widgets/card/card.dart +++ b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/card/card.dart @@ -1,5 +1,5 @@ import 'package:appflowy/plugins/database_view/application/row/row_cache.dart'; -import 'package:appflowy/plugins/database_view/grid/presentation/widgets/row/row_action_sheet.dart'; +import 'package:appflowy/plugins/database_view/grid/presentation/widgets/row/action.dart'; import 'package:appflowy_backend/protobuf/flowy-database/row_entities.pb.dart'; import 'package:appflowy_popover/appflowy_popover.dart'; import 'package:flowy_infra/image.dart'; @@ -149,7 +149,7 @@ class _CardState extends State> { case AccessoryType.edit: throw UnimplementedError(); case AccessoryType.more: - return GridRowActionSheet( + return RowActions( rowData: context.read().rowInfo(), ); } diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/widgets/card/cells/checklist_card_cell.dart b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/card/cells/checklist_card_cell.dart index 73cccb6084..639fa50913 100644 --- a/frontend/appflowy_flutter/lib/plugins/database_view/widgets/card/cells/checklist_card_cell.dart +++ b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/card/cells/checklist_card_cell.dart @@ -1,9 +1,9 @@ import 'package:appflowy/plugins/database_view/application/cell/cell_controller_builder.dart'; -import 'package:appflowy/plugins/database_view/grid/presentation/widgets/cell/checklist_cell/checklist_progress_bar.dart'; +import 'package:appflowy/plugins/database_view/widgets/row/cells/checklist_cell/checklist_progress_bar.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; -import '../../../grid/application/cell/checklist_cell_bloc.dart'; +import '../../row/cells/checklist_cell/checklist_cell_bloc.dart'; import 'card_cell.dart'; class ChecklistCardCell extends CardCell { diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/widgets/card/cells/select_option_card_cell.dart b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/card/cells/select_option_card_cell.dart index 83dc70cbae..6eba4acef9 100644 --- a/frontend/appflowy_flutter/lib/plugins/database_view/widgets/card/cells/select_option_card_cell.dart +++ b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/card/cells/select_option_card_cell.dart @@ -1,6 +1,6 @@ import 'package:appflowy/plugins/database_view/application/cell/cell_controller_builder.dart'; -import 'package:appflowy/plugins/database_view/grid/presentation/widgets/cell/select_option_cell/extension.dart'; -import 'package:appflowy/plugins/database_view/grid/presentation/widgets/cell/select_option_cell/select_option_editor.dart'; +import 'package:appflowy/plugins/database_view/widgets/row/cells/select_option_cell/extension.dart'; +import 'package:appflowy/plugins/database_view/widgets/row/cells/select_option_cell/select_option_editor.dart'; import 'package:appflowy_backend/protobuf/flowy-database/select_type_option.pb.dart'; import 'package:appflowy_popover/appflowy_popover.dart'; import 'package:flowy_infra_ui/flowy_infra_ui.dart'; diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/widgets/card/cells/text_card_cell.dart b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/card/cells/text_card_cell.dart index 5255a8bb1d..8ffc834247 100644 --- a/frontend/appflowy_flutter/lib/plugins/database_view/widgets/card/cells/text_card_cell.dart +++ b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/card/cells/text_card_cell.dart @@ -1,10 +1,10 @@ import 'package:appflowy/plugins/database_view/application/cell/cell_controller_builder.dart'; -import 'package:appflowy/plugins/database_view/grid/presentation/widgets/cell/cell_builder.dart'; import 'package:flowy_infra/size.dart'; import 'package:flowy_infra_ui/style_widget/text.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:textstyle_extensions/textstyle_extensions.dart'; +import '../../row/cell_builder.dart'; import '../bloc/text_card_cell_bloc.dart'; import '../define.dart'; import 'card_cell.dart'; diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/cell_accessory.dart b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/accessory/cell_accessory.dart similarity index 99% rename from frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/cell_accessory.dart rename to frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/accessory/cell_accessory.dart index 142dc81448..39a8bd41f6 100644 --- a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/cell_accessory.dart +++ b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/accessory/cell_accessory.dart @@ -9,7 +9,7 @@ import 'package:appflowy/generated/locale_keys.g.dart'; import 'package:easy_localization/easy_localization.dart'; import 'package:textstyle_extensions/textstyle_extensions.dart'; -import 'cell_builder.dart'; +import '../cell_builder.dart'; class GridCellAccessoryBuildContext { final BuildContext anchorContext; diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/cell_decoration.dart b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/accessory/cell_decoration.dart similarity index 100% rename from frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/cell_decoration.dart rename to frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/accessory/cell_decoration.dart diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/cell_shortcuts.dart b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/accessory/cell_shortcuts.dart similarity index 100% rename from frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/cell_shortcuts.dart rename to frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/accessory/cell_shortcuts.dart diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/cell_builder.dart b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cell_builder.dart similarity index 93% rename from frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/cell_builder.dart rename to frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cell_builder.dart index 4d0d36a9c9..fb7d605d2d 100755 --- a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/cell_builder.dart +++ b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cell_builder.dart @@ -3,16 +3,16 @@ import 'package:appflowy_backend/protobuf/flowy-database/field_entities.pb.dart' import 'package:flutter/services.dart'; import 'package:flutter/widgets.dart'; import 'package:flutter/material.dart'; -import '../../../../application/cell/cell_service.dart'; -import 'cell_accessory.dart'; -import 'cell_shortcuts.dart'; -import 'checkbox_cell.dart'; -import 'checklist_cell/checklist_cell.dart'; -import 'date_cell/date_cell.dart'; -import 'number_cell.dart'; -import 'select_option_cell/select_option_cell.dart'; -import 'text_cell.dart'; -import 'url_cell/url_cell.dart'; +import '../../application/cell/cell_service.dart'; +import 'accessory/cell_accessory.dart'; +import 'accessory/cell_shortcuts.dart'; +import 'cells/checkbox_cell/checkbox_cell.dart'; +import 'cells/checklist_cell/checklist_cell.dart'; +import 'cells/date_cell/date_cell.dart'; +import 'cells/number_cell/number_cell.dart'; +import 'cells/select_option_cell/select_option_cell.dart'; +import 'cells/text_cell/text_cell.dart'; +import 'cells/url_cell/url_cell.dart'; class GridCellBuilder { final CellCache cellCache; diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/cell_container.dart b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/cell_container.dart similarity index 95% rename from frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/cell_container.dart rename to frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/cell_container.dart index d3fdb1aec6..d17301d0c6 100644 --- a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/cell_container.dart +++ b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/cell_container.dart @@ -2,11 +2,11 @@ import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:styled_widget/styled_widget.dart'; -import '../../layout/sizes.dart'; -import '../row/grid_row.dart'; -import 'cell_accessory.dart'; -import 'cell_builder.dart'; -import 'cell_shortcuts.dart'; +import '../../../grid/presentation/layout/sizes.dart'; +import '../../../grid/presentation/widgets/row/row.dart'; +import '../accessory/cell_accessory.dart'; +import '../accessory/cell_shortcuts.dart'; +import '../cell_builder.dart'; class CellContainer extends StatelessWidget { final GridCellWidget child; diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/checkbox_cell.dart b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/checkbox_cell/checkbox_cell.dart similarity index 87% rename from frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/checkbox_cell.dart rename to frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/checkbox_cell/checkbox_cell.dart index 4dcf818e59..1a3382e2a6 100644 --- a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/checkbox_cell.dart +++ b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/checkbox_cell/checkbox_cell.dart @@ -1,12 +1,12 @@ import 'package:appflowy/plugins/database_view/application/cell/cell_controller_builder.dart'; -import 'package:appflowy/startup/startup.dart'; +import 'package:appflowy/plugins/database_view/application/cell/cell_service.dart'; import 'package:flowy_infra/image.dart'; import 'package:flowy_infra_ui/style_widget/icon_button.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; -import '../../../application/cell/checkbox_cell_bloc.dart'; -import '../../layout/sizes.dart'; -import 'cell_builder.dart'; +import 'checkbox_cell_bloc.dart'; +import '../../../../grid/presentation/layout/sizes.dart'; +import '../../cell_builder.dart'; class GridCheckboxCell extends GridCellWidget { final CellControllerBuilder cellControllerBuilder; @@ -26,7 +26,8 @@ class _CheckboxCellState extends GridCellState { void initState() { final cellController = widget.cellControllerBuilder.build() as CheckboxCellController; - _cellBloc = getIt(param1: cellController) + _cellBloc = CheckboxCellBloc( + service: CellBackendService(), cellController: cellController) ..add(const CheckboxCellEvent.initial()); super.initState(); } diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/application/cell/checkbox_cell_bloc.dart b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/checkbox_cell/checkbox_cell_bloc.dart similarity index 100% rename from frontend/appflowy_flutter/lib/plugins/database_view/grid/application/cell/checkbox_cell_bloc.dart rename to frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/checkbox_cell/checkbox_cell_bloc.dart diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/checklist_cell/checklist_cell.dart b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/checklist_cell/checklist_cell.dart similarity index 94% rename from frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/checklist_cell/checklist_cell.dart rename to frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/checklist_cell/checklist_cell.dart index c8385574a9..7d096d9883 100644 --- a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/checklist_cell/checklist_cell.dart +++ b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/checklist_cell/checklist_cell.dart @@ -1,12 +1,12 @@ import 'package:appflowy/plugins/database_view/application/cell/cell_controller_builder.dart'; -import 'package:appflowy/plugins/database_view/grid/application/cell/checklist_cell_bloc.dart'; import 'package:appflowy/plugins/database_view/grid/presentation/layout/sizes.dart'; import 'package:appflowy_popover/appflowy_popover.dart'; import 'package:flowy_infra_ui/flowy_infra_ui.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; -import '../cell_builder.dart'; +import '../../cell_builder.dart'; +import 'checklist_cell_bloc.dart'; import 'checklist_cell_editor.dart'; import 'checklist_progress_bar.dart'; diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/application/cell/checklist_cell_bloc.dart b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/checklist_cell/checklist_cell_bloc.dart similarity index 96% rename from frontend/appflowy_flutter/lib/plugins/database_view/grid/application/cell/checklist_cell_bloc.dart rename to frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/checklist_cell/checklist_cell_bloc.dart index 8efbdd2706..ebf16a1e8c 100644 --- a/frontend/appflowy_flutter/lib/plugins/database_view/grid/application/cell/checklist_cell_bloc.dart +++ b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/checklist_cell/checklist_cell_bloc.dart @@ -1,11 +1,11 @@ import 'package:appflowy/plugins/database_view/application/cell/cell_controller_builder.dart'; +import 'package:appflowy/plugins/database_view/widgets/row/cells/select_option_cell/select_option_service.dart'; import 'package:appflowy_backend/log.dart'; import 'package:appflowy_backend/protobuf/flowy-database/select_type_option.pb.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:freezed_annotation/freezed_annotation.dart'; import 'dart:async'; import 'checklist_cell_editor_bloc.dart'; -import 'select_option_service.dart'; part 'checklist_cell_bloc.freezed.dart'; class ChecklistCardCellBloc diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/checklist_cell/checklist_cell_editor.dart b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/checklist_cell/checklist_cell_editor.dart similarity index 92% rename from frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/checklist_cell/checklist_cell_editor.dart rename to frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/checklist_cell/checklist_cell_editor.dart index c98d9f3c35..9d30b122a3 100644 --- a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/checklist_cell/checklist_cell_editor.dart +++ b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/checklist_cell/checklist_cell_editor.dart @@ -2,16 +2,12 @@ import 'package:appflowy/plugins/database_view/application/cell/cell_controller_ import 'package:appflowy_popover/appflowy_popover.dart'; import 'package:flowy_infra/image.dart'; import 'package:flowy_infra_ui/flowy_infra_ui.dart'; -import 'package:flowy_infra_ui/style_widget/button.dart'; -import 'package:flowy_infra_ui/style_widget/icon_button.dart'; -import 'package:flowy_infra_ui/style_widget/scrolling/styled_list.dart'; -import 'package:flowy_infra_ui/widget/spacing.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; -import '../../../../application/cell/checklist_cell_editor_bloc.dart'; -import '../../../layout/sizes.dart'; -import '../../header/type_option/select_option_editor.dart'; +import '../../../../grid/presentation/layout/sizes.dart'; +import '../../../../grid/presentation/widgets/header/type_option/select_option_editor.dart'; +import 'checklist_cell_editor_bloc.dart'; import 'checklist_progress_bar.dart'; class GridChecklistCellEditor extends StatefulWidget { diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/application/cell/checklist_cell_editor_bloc.dart b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/checklist_cell/checklist_cell_editor_bloc.dart similarity index 98% rename from frontend/appflowy_flutter/lib/plugins/database_view/grid/application/cell/checklist_cell_editor_bloc.dart rename to frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/checklist_cell/checklist_cell_editor_bloc.dart index d0b70ffe8d..fa81a062db 100644 --- a/frontend/appflowy_flutter/lib/plugins/database_view/grid/application/cell/checklist_cell_editor_bloc.dart +++ b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/checklist_cell/checklist_cell_editor_bloc.dart @@ -1,12 +1,12 @@ import 'dart:async'; import 'package:appflowy/plugins/database_view/application/cell/cell_controller_builder.dart'; +import 'package:appflowy/plugins/database_view/widgets/row/cells/select_option_cell/select_option_service.dart'; import 'package:dartz/dartz.dart'; import 'package:appflowy_backend/log.dart'; import 'package:appflowy_backend/protobuf/flowy-database/select_type_option.pb.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:freezed_annotation/freezed_annotation.dart'; -import 'select_option_service.dart'; part 'checklist_cell_editor_bloc.freezed.dart'; diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/checklist_cell/checklist_progress_bar.dart b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/checklist_cell/checklist_progress_bar.dart similarity index 96% rename from frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/checklist_cell/checklist_progress_bar.dart rename to frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/checklist_cell/checklist_progress_bar.dart index 5a3517e6a8..b8599f60c4 100644 --- a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/checklist_cell/checklist_progress_bar.dart +++ b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/checklist_cell/checklist_progress_bar.dart @@ -1,6 +1,6 @@ import 'package:appflowy/generated/locale_keys.g.dart'; -import 'package:appflowy/plugins/database_view/grid/application/cell/checklist_cell_editor_bloc.dart'; import 'package:appflowy/plugins/database_view/grid/presentation/layout/sizes.dart'; +import 'package:appflowy/plugins/database_view/widgets/row/cells/checklist_cell/checklist_cell_editor_bloc.dart'; import 'package:easy_localization/easy_localization.dart'; import 'package:flowy_infra/theme_extension.dart'; import 'package:flowy_infra_ui/flowy_infra_ui.dart'; diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/application/cell/date_cal_bloc.dart b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/date_cell/date_cal_bloc.dart similarity index 82% rename from frontend/appflowy_flutter/lib/plugins/database_view/grid/application/cell/date_cal_bloc.dart rename to frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/date_cell/date_cal_bloc.dart index f0a83077d3..486ce5b397 100644 --- a/frontend/appflowy_flutter/lib/plugins/database_view/grid/application/cell/date_cal_bloc.dart +++ b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/date_cell/date_cal_bloc.dart @@ -18,16 +18,17 @@ import 'package:protobuf/protobuf.dart'; import 'package:fixnum/fixnum.dart' as $fixnum; part 'date_cal_bloc.freezed.dart'; -class DateCalBloc extends Bloc { +class DateCellCalendarBloc + extends Bloc { final DateCellController cellController; void Function()? _onCellChangedFn; - DateCalBloc({ + DateCellCalendarBloc({ required DateTypeOptionPB dateTypeOptionPB, required DateCellDataPB? cellData, required this.cellController, - }) : super(DateCalState.initial(dateTypeOptionPB, cellData)) { - on( + }) : super(DateCellCalendarState.initial(dateTypeOptionPB, cellData)) { + on( (event, emit) async { await event.when( initial: () async => _startListening(), @@ -70,7 +71,7 @@ class DateCalBloc extends Bloc { ); } - Future _updateDateData(Emitter emit, + Future _updateDateData(Emitter emit, {DateTime? date, String? time}) { final CalendarData newDateData = state.calData.fold( () => CalendarData(date: date ?? DateTime.now(), time: time), @@ -91,7 +92,7 @@ class DateCalBloc extends Bloc { } Future _saveDateData( - Emitter emit, CalendarData newCalData) async { + Emitter emit, CalendarData newCalData) async { if (state.calData == Some(newCalData)) { return; } @@ -99,7 +100,7 @@ class DateCalBloc extends Bloc { updateCalData( Option calData, Option timeFormatError) { if (!isClosed) { - add(DateCalEvent.didUpdateCalData(calData, timeFormatError)); + add(DateCellCalendarEvent.didUpdateCalData(calData, timeFormatError)); } } @@ -148,14 +149,14 @@ class DateCalBloc extends Bloc { _onCellChangedFn = cellController.startListening( onCellChanged: ((cell) { if (!isClosed) { - add(DateCalEvent.didReceiveCellUpdate(cell)); + add(DateCellCalendarEvent.didReceiveCellUpdate(cell)); } }), ); } Future? _updateTypeOption( - Emitter emit, { + Emitter emit, { DateFormat? dateFormat, TimeFormat? timeFormat, bool? includeTime, @@ -191,26 +192,29 @@ class DateCalBloc extends Bloc { } @freezed -class DateCalEvent with _$DateCalEvent { - const factory DateCalEvent.initial() = _Initial; - const factory DateCalEvent.selectDay(DateTime day) = _SelectDay; - const factory DateCalEvent.setCalFormat(CalendarFormat format) = +class DateCellCalendarEvent with _$DateCellCalendarEvent { + const factory DateCellCalendarEvent.initial() = _Initial; + const factory DateCellCalendarEvent.selectDay(DateTime day) = _SelectDay; + const factory DateCellCalendarEvent.setCalFormat(CalendarFormat format) = _CalendarFormat; - const factory DateCalEvent.setFocusedDay(DateTime day) = _FocusedDay; - const factory DateCalEvent.setTimeFormat(TimeFormat timeFormat) = _TimeFormat; - const factory DateCalEvent.setDateFormat(DateFormat dateFormat) = _DateFormat; - const factory DateCalEvent.setIncludeTime(bool includeTime) = _IncludeTime; - const factory DateCalEvent.setTime(String time) = _Time; - const factory DateCalEvent.didReceiveCellUpdate(DateCellDataPB? data) = - _DidReceiveCellUpdate; - const factory DateCalEvent.didUpdateCalData( + const factory DateCellCalendarEvent.setFocusedDay(DateTime day) = _FocusedDay; + const factory DateCellCalendarEvent.setTimeFormat(TimeFormat timeFormat) = + _TimeFormat; + const factory DateCellCalendarEvent.setDateFormat(DateFormat dateFormat) = + _DateFormat; + const factory DateCellCalendarEvent.setIncludeTime(bool includeTime) = + _IncludeTime; + const factory DateCellCalendarEvent.setTime(String time) = _Time; + const factory DateCellCalendarEvent.didReceiveCellUpdate( + DateCellDataPB? data) = _DidReceiveCellUpdate; + const factory DateCellCalendarEvent.didUpdateCalData( Option data, Option timeFormatError) = _DidUpdateCalData; } @freezed -class DateCalState with _$DateCalState { - const factory DateCalState({ +class DateCellCalendarState with _$DateCellCalendarState { + const factory DateCellCalendarState({ required DateTypeOptionPB dateTypeOptionPB, required CalendarFormat format, required DateTime focusedDay, @@ -218,16 +222,16 @@ class DateCalState with _$DateCalState { required Option calData, required String? time, required String timeHintText, - }) = _DateCalState; + }) = _DateCellCalendarState; - factory DateCalState.initial( + factory DateCellCalendarState.initial( DateTypeOptionPB dateTypeOptionPB, DateCellDataPB? cellData, ) { Option calData = calDataFromCellData(cellData); final time = calData.foldRight("", (dateData, previous) => dateData.time ?? ''); - return DateCalState( + return DateCellCalendarState( dateTypeOptionPB: dateTypeOptionPB, format: CalendarFormat.month, focusedDay: DateTime.now(), diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/date_cell/date_cell.dart b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/date_cell/date_cell.dart similarity index 91% rename from frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/date_cell/date_cell.dart rename to frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/date_cell/date_cell.dart index b90f01b2f4..b88110e6e0 100644 --- a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/date_cell/date_cell.dart +++ b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/date_cell/date_cell.dart @@ -1,13 +1,12 @@ import 'package:appflowy/plugins/database_view/application/cell/cell_controller_builder.dart'; -import 'package:appflowy/plugins/database_view/grid/application/cell/date_cell_bloc.dart'; import 'package:flowy_infra_ui/flowy_infra_ui.dart'; import 'package:flutter/widgets.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:appflowy/startup/startup.dart'; import 'package:appflowy_popover/appflowy_popover.dart'; -import '../../../layout/sizes.dart'; -import '../cell_builder.dart'; +import '../../../../grid/presentation/layout/sizes.dart'; +import '../../cell_builder.dart'; +import 'date_cell_bloc.dart'; import 'date_editor.dart'; class DateCellStyle extends GridCellStyle { @@ -50,7 +49,7 @@ class _DateCellState extends GridCellState { _popover = PopoverController(); final cellController = widget.cellControllerBuilder.build() as DateCellController; - _cellBloc = getIt(param1: cellController) + _cellBloc = DateCellBloc(cellController: cellController) ..add(const DateCellEvent.initial()); super.initState(); } diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/application/cell/date_cell_bloc.dart b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/date_cell/date_cell_bloc.dart similarity index 100% rename from frontend/appflowy_flutter/lib/plugins/database_view/grid/application/cell/date_cell_bloc.dart rename to frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/date_cell/date_cell_bloc.dart diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/date_cell/date_editor.dart b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/date_cell/date_editor.dart similarity index 89% rename from frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/date_cell/date_editor.dart rename to frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/date_cell/date_editor.dart index 49db79edad..33375f7778 100644 --- a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/date_cell/date_editor.dart +++ b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/date_cell/date_editor.dart @@ -1,7 +1,6 @@ import 'package:appflowy/generated/locale_keys.g.dart'; import 'package:appflowy/plugins/database_view/application/cell/cell_controller_builder.dart'; import 'package:appflowy/plugins/database_view/application/field/type_option/type_option_context.dart'; -import 'package:appflowy/plugins/database_view/grid/application/cell/date_cal_bloc.dart'; import 'package:appflowy/workspace/presentation/widgets/toggle/toggle.dart'; import 'package:appflowy/workspace/presentation/widgets/toggle/toggle_style.dart'; import 'package:appflowy_popover/appflowy_popover.dart'; @@ -11,9 +10,7 @@ import 'package:flowy_infra/theme_extension.dart'; import 'package:flowy_infra/image.dart'; import 'package:flowy_infra/size.dart'; import 'package:flowy_infra_ui/flowy_infra_ui.dart'; -import 'package:flowy_infra_ui/style_widget/button.dart'; import 'package:flowy_infra_ui/widget/rounded_input_field.dart'; -import 'package:flowy_infra_ui/widget/spacing.dart'; import 'package:appflowy_backend/log.dart'; import 'package:appflowy_backend/protobuf/flowy-error/errors.pbserver.dart'; import 'package:appflowy_backend/protobuf/flowy-database/date_type_option.pb.dart'; @@ -21,9 +18,10 @@ import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:table_calendar/table_calendar.dart'; import 'package:textstyle_extensions/textstyle_extensions.dart'; -import '../../../layout/sizes.dart'; -import '../../common/type_option_separator.dart'; -import '../../header/type_option/date.dart'; +import '../../../../grid/presentation/layout/sizes.dart'; +import '../../../../grid/presentation/widgets/common/type_option_separator.dart'; +import '../../../../grid/presentation/widgets/header/type_option/date.dart'; +import 'date_cal_bloc.dart'; final kToday = DateTime.now(); final kFirstDay = DateTime(kToday.year, kToday.month - 3, kToday.day); @@ -92,17 +90,17 @@ class _CellCalendarWidget extends StatefulWidget { class _CellCalendarWidgetState extends State<_CellCalendarWidget> { late PopoverMutex popoverMutex; - late DateCalBloc bloc; + late DateCellCalendarBloc bloc; @override void initState() { popoverMutex = PopoverMutex(); - bloc = DateCalBloc( + bloc = DateCellCalendarBloc( dateTypeOptionPB: widget.dateTypeOptionPB, cellData: widget.cellContext.getCellData(), cellController: widget.cellContext, - )..add(const DateCalEvent.initial()); + )..add(const DateCellCalendarEvent.initial()); super.initState(); } @@ -110,7 +108,7 @@ class _CellCalendarWidgetState extends State<_CellCalendarWidget> { Widget build(BuildContext context) { return BlocProvider.value( value: bloc, - child: BlocBuilder( + child: BlocBuilder( buildWhen: (p, c) => p != c, builder: (context, state) { List children = [ @@ -121,7 +119,7 @@ class _CellCalendarWidgetState extends State<_CellCalendarWidget> { if (state.dateTypeOptionPB.includeTime) ...[ const VSpace(12.0), _TimeTextField( - bloc: context.read(), + bloc: context.read(), popoverMutex: popoverMutex, ), ], @@ -151,7 +149,7 @@ class _CellCalendarWidgetState extends State<_CellCalendarWidget> { } Widget _buildCalendar(BuildContext context) { - return BlocBuilder( + return BlocBuilder( builder: (context, state) { final textStyle = Theme.of(context).textTheme.bodyMedium!; final boxDecoration = BoxDecoration( @@ -215,16 +213,18 @@ class _CellCalendarWidgetState extends State<_CellCalendarWidget> { }, onDaySelected: (selectedDay, focusedDay) { context - .read() - .add(DateCalEvent.selectDay(selectedDay)); + .read() + .add(DateCellCalendarEvent.selectDay(selectedDay)); }, onFormatChanged: (format) { - context.read().add(DateCalEvent.setCalFormat(format)); + context + .read() + .add(DateCellCalendarEvent.setCalFormat(format)); }, onPageChanged: (focusedDay) { context - .read() - .add(DateCalEvent.setFocusedDay(focusedDay)); + .read() + .add(DateCellCalendarEvent.setFocusedDay(focusedDay)); }, ); }, @@ -237,7 +237,7 @@ class _IncludeTimeButton extends StatelessWidget { @override Widget build(BuildContext context) { - return BlocSelector( + return BlocSelector( selector: (state) => state.dateTypeOptionPB.includeTime, builder: (context, includeTime) { return Padding( @@ -258,8 +258,8 @@ class _IncludeTimeButton extends StatelessWidget { Toggle( value: includeTime, onChanged: (value) => context - .read() - .add(DateCalEvent.setIncludeTime(!value)), + .read() + .add(DateCellCalendarEvent.setIncludeTime(!value)), style: ToggleStyle.big, padding: EdgeInsets.zero, ), @@ -274,7 +274,7 @@ class _IncludeTimeButton extends StatelessWidget { } class _TimeTextField extends StatefulWidget { - final DateCalBloc bloc; + final DateCellCalendarBloc bloc; final PopoverMutex popoverMutex; const _TimeTextField({ @@ -298,7 +298,7 @@ class _TimeTextFieldState extends State<_TimeTextField> { _focusNode.addListener(() { if (mounted) { - widget.bloc.add(DateCalEvent.setTime(_controller.text)); + widget.bloc.add(DateCellCalendarEvent.setTime(_controller.text)); } }); @@ -340,7 +340,7 @@ class _TimeTextFieldState extends State<_TimeTextField> { errorText: widget.bloc.state.timeFormatError .fold(() => "", (error) => error), onEditingComplete: (value) => - widget.bloc.add(DateCalEvent.setTime(value)), + widget.bloc.add(DateCellCalendarEvent.setTime(value)), ), ), ); @@ -364,7 +364,8 @@ class _DateTypeOptionButton extends StatelessWidget { Widget build(BuildContext context) { final title = "${LocaleKeys.grid_field_dateFormat.tr()} & ${LocaleKeys.grid_field_timeFormat.tr()}"; - return BlocSelector( + return BlocSelector( selector: (state) => state.dateTypeOptionPB, builder: (context, dateTypeOptionPB) { return AppFlowyPopover( @@ -391,7 +392,7 @@ class _DateTypeOptionButton extends StatelessWidget { return _CalDateTimeSetting( dateTypeOptionPB: dateTypeOptionPB, onEvent: (event) { - context.read().add(event); + context.read().add(event); popoverMutex.close(); }, ); @@ -404,7 +405,7 @@ class _DateTypeOptionButton extends StatelessWidget { class _CalDateTimeSetting extends StatefulWidget { final DateTypeOptionPB dateTypeOptionPB; - final Function(DateCalEvent) onEvent; + final Function(DateCellCalendarEvent) onEvent; const _CalDateTimeSetting({ required this.dateTypeOptionPB, required this.onEvent, @@ -430,7 +431,7 @@ class _CalDateTimeSettingState extends State<_CalDateTimeSetting> { return DateFormatList( selectedFormat: widget.dateTypeOptionPB.dateFormat, onSelected: (format) { - widget.onEvent(DateCalEvent.setDateFormat(format)); + widget.onEvent(DateCellCalendarEvent.setDateFormat(format)); timeSettingPopoverMutex.close(); }, ); @@ -448,7 +449,7 @@ class _CalDateTimeSettingState extends State<_CalDateTimeSetting> { return TimeFormatList( selectedFormat: widget.dateTypeOptionPB.timeFormat, onSelected: (format) { - widget.onEvent(DateCalEvent.setTimeFormat(format)); + widget.onEvent(DateCellCalendarEvent.setTimeFormat(format)); timeSettingPopoverMutex.close(); }); }, diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/number_cell.dart b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/number_cell/number_cell.dart similarity index 89% rename from frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/number_cell.dart rename to frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/number_cell/number_cell.dart index 88287aa361..6b85dc3f19 100644 --- a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/number_cell.dart +++ b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/number_cell/number_cell.dart @@ -1,12 +1,11 @@ import 'dart:async'; import 'package:appflowy/plugins/database_view/application/cell/cell_controller_builder.dart'; -import 'package:appflowy/startup/startup.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; -import '../../../application/cell/number_cell_bloc.dart'; -import '../../layout/sizes.dart'; -import 'cell_builder.dart'; +import 'number_cell_bloc.dart'; +import '../../../../grid/presentation/layout/sizes.dart'; +import '../../cell_builder.dart'; class GridNumberCell extends GridCellWidget { final CellControllerBuilder cellControllerBuilder; @@ -26,8 +25,9 @@ class _NumberCellState extends GridFocusNodeCellState { @override void initState() { - final cellController = widget.cellControllerBuilder.build(); - _cellBloc = getIt(param1: cellController) + final cellController = + widget.cellControllerBuilder.build() as NumberCellController; + _cellBloc = NumberCellBloc(cellController: cellController) ..add(const NumberCellEvent.initial()); _controller = TextEditingController(text: _cellBloc.state.cellContent); super.initState(); diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/application/cell/number_cell_bloc.dart b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/number_cell/number_cell_bloc.dart similarity index 100% rename from frontend/appflowy_flutter/lib/plugins/database_view/grid/application/cell/number_cell_bloc.dart rename to frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/number_cell/number_cell_bloc.dart diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/select_option_cell/extension.dart b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/select_option_cell/extension.dart similarity index 100% rename from frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/select_option_cell/extension.dart rename to frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/select_option_cell/extension.dart diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/select_option_cell/select_option_cell.dart b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/select_option_cell/select_option_cell.dart similarity index 96% rename from frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/select_option_cell/select_option_cell.dart rename to frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/select_option_cell/select_option_cell.dart index d01144edb0..15683a9835 100644 --- a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/select_option_cell/select_option_cell.dart +++ b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/select_option_cell/select_option_cell.dart @@ -6,10 +6,10 @@ import 'package:appflowy_backend/protobuf/flowy-database/select_type_option.pb.d import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; -import '../../../../application/cell/select_option_cell_bloc.dart'; -import '../../../layout/sizes.dart'; -import '../cell_builder.dart'; +import '../../../../grid/presentation/layout/sizes.dart'; +import '../../cell_builder.dart'; import 'extension.dart'; +import 'select_option_cell_bloc.dart'; import 'select_option_editor.dart'; class SelectOptionCellStyle extends GridCellStyle { @@ -48,7 +48,7 @@ class _SingleSelectCellState extends GridCellState { void initState() { final cellController = widget.cellControllerBuilder.build() as SelectOptionCellController; - _cellBloc = getIt(param1: cellController) + _cellBloc = SelectOptionCellBloc(cellController: cellController) ..add(const SelectOptionCellEvent.initial()); _popover = PopoverController(); super.initState(); diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/application/cell/select_option_cell_bloc.dart b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/select_option_cell/select_option_cell_bloc.dart similarity index 100% rename from frontend/appflowy_flutter/lib/plugins/database_view/grid/application/cell/select_option_cell_bloc.dart rename to frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/select_option_cell/select_option_cell_bloc.dart diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/select_option_cell/select_option_editor.dart b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/select_option_cell/select_option_editor.dart similarity index 95% rename from frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/select_option_cell/select_option_editor.dart rename to frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/select_option_cell/select_option_editor.dart index f269794a51..f65566320d 100644 --- a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/select_option_cell/select_option_editor.dart +++ b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/select_option_cell/select_option_editor.dart @@ -1,14 +1,10 @@ import 'dart:collection'; import 'package:appflowy/plugins/database_view/application/cell/cell_controller_builder.dart'; -import 'package:appflowy/plugins/database_view/grid/application/cell/select_option_editor_bloc.dart'; import 'package:appflowy_popover/appflowy_popover.dart'; import 'package:flowy_infra/theme_extension.dart'; import 'package:flowy_infra/image.dart'; import 'package:flowy_infra_ui/flowy_infra_ui.dart'; -import 'package:flowy_infra_ui/style_widget/icon_button.dart'; -import 'package:flowy_infra_ui/style_widget/scrolling/styled_list.dart'; -import 'package:flowy_infra_ui/widget/spacing.dart'; import 'package:appflowy_backend/protobuf/flowy-database/select_type_option.pb.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; @@ -16,10 +12,11 @@ import 'package:easy_localization/easy_localization.dart'; import 'package:appflowy/generated/locale_keys.g.dart'; import 'package:textfield_tags/textfield_tags.dart'; -import '../../../layout/sizes.dart'; -import '../../common/type_option_separator.dart'; -import '../../header/type_option/select_option_editor.dart'; +import '../../../../grid/presentation/layout/sizes.dart'; +import '../../../../grid/presentation/widgets/common/type_option_separator.dart'; +import '../../../../grid/presentation/widgets/header/type_option/select_option_editor.dart'; import 'extension.dart'; +import 'select_option_editor_bloc.dart'; import 'text_field.dart'; const double _editorPanelWidth = 300; diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/application/cell/select_option_editor_bloc.dart b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/select_option_cell/select_option_editor_bloc.dart similarity index 100% rename from frontend/appflowy_flutter/lib/plugins/database_view/grid/application/cell/select_option_editor_bloc.dart rename to frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/select_option_cell/select_option_editor_bloc.dart diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/application/cell/select_option_service.dart b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/select_option_cell/select_option_service.dart similarity index 100% rename from frontend/appflowy_flutter/lib/plugins/database_view/grid/application/cell/select_option_service.dart rename to frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/select_option_cell/select_option_service.dart diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/select_option_cell/text_field.dart b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/select_option_cell/text_field.dart similarity index 100% rename from frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/select_option_cell/text_field.dart rename to frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/select_option_cell/text_field.dart diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/text_cell.dart b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/text_cell/text_cell.dart similarity index 88% rename from frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/text_cell.dart rename to frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/text_cell/text_cell.dart index f29741c81f..8ca3b664f6 100644 --- a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/text_cell.dart +++ b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/text_cell/text_cell.dart @@ -1,11 +1,10 @@ import 'dart:async'; import 'package:appflowy/plugins/database_view/application/cell/cell_controller_builder.dart'; -import 'package:appflowy/plugins/database_view/grid/application/cell/text_cell_bloc.dart'; +import 'package:appflowy/plugins/database_view/widgets/row/cells/text_cell/text_cell_bloc.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:appflowy/startup/startup.dart'; -import '../../layout/sizes.dart'; -import 'cell_builder.dart'; +import '../../../../grid/presentation/layout/sizes.dart'; +import '../../cell_builder.dart'; class GridTextCellStyle extends GridCellStyle { String? placeholder; @@ -40,8 +39,9 @@ class _GridTextCellState extends GridFocusNodeCellState { @override void initState() { - final cellController = widget.cellControllerBuilder.build(); - _cellBloc = getIt(param1: cellController); + final cellController = + widget.cellControllerBuilder.build() as TextCellController; + _cellBloc = TextCellBloc(cellController: cellController); _cellBloc.add(const TextCellEvent.initial()); _controller = TextEditingController(text: _cellBloc.state.content); super.initState(); diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/application/cell/text_cell_bloc.dart b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/text_cell/text_cell_bloc.dart similarity index 100% rename from frontend/appflowy_flutter/lib/plugins/database_view/grid/application/cell/text_cell_bloc.dart rename to frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/text_cell/text_cell_bloc.dart diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/url_cell/cell_editor.dart b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/url_cell/cell_editor.dart similarity index 97% rename from frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/url_cell/cell_editor.dart rename to frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/url_cell/cell_editor.dart index ec97c7edf5..637b731847 100644 --- a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/url_cell/cell_editor.dart +++ b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/url_cell/cell_editor.dart @@ -3,7 +3,7 @@ import 'package:flutter/material.dart'; import 'dart:async'; import 'package:flutter_bloc/flutter_bloc.dart'; -import '../../../../application/cell/url_cell_editor_bloc.dart'; +import 'url_cell_editor_bloc.dart'; class URLCellEditor extends StatefulWidget { final VoidCallback onExit; diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/url_cell/url_cell.dart b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/url_cell/url_cell.dart similarity index 97% rename from frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/url_cell/url_cell.dart rename to frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/url_cell/url_cell.dart index b67fb94e01..b3c0553846 100644 --- a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/cell/url_cell/url_cell.dart +++ b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/url_cell/url_cell.dart @@ -10,11 +10,11 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:url_launcher/url_launcher.dart'; -import '../../../../application/cell/url_cell_bloc.dart'; -import '../../../layout/sizes.dart'; -import '../cell_accessory.dart'; -import '../cell_builder.dart'; +import '../../../../grid/presentation/layout/sizes.dart'; +import '../../accessory/cell_accessory.dart'; +import '../../cell_builder.dart'; import 'cell_editor.dart'; +import 'url_cell_bloc.dart'; class GridURLCellStyle extends GridCellStyle { String? placeholder; diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/application/cell/url_cell_bloc.dart b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/url_cell/url_cell_bloc.dart similarity index 100% rename from frontend/appflowy_flutter/lib/plugins/database_view/grid/application/cell/url_cell_bloc.dart rename to frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/url_cell/url_cell_bloc.dart diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/application/cell/url_cell_editor_bloc.dart b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/url_cell/url_cell_editor_bloc.dart similarity index 100% rename from frontend/appflowy_flutter/lib/plugins/database_view/grid/application/cell/url_cell_editor_bloc.dart rename to frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/url_cell/url_cell_editor_bloc.dart diff --git a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/row/row_detail.dart b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/row_detail.dart similarity index 84% rename from frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/row/row_detail.dart rename to frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/row_detail.dart index 1c1d072930..b92f993382 100644 --- a/frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/row/row_detail.dart +++ b/frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/row_detail.dart @@ -6,10 +6,7 @@ import 'package:appflowy/workspace/presentation/widgets/dialogs.dart'; import 'package:flowy_infra/theme_extension.dart'; import 'package:flowy_infra/image.dart'; import 'package:flowy_infra_ui/flowy_infra_ui.dart'; -import 'package:flowy_infra_ui/style_widget/button.dart'; -import 'package:flowy_infra_ui/style_widget/icon_button.dart'; -import 'package:flowy_infra_ui/style_widget/scrolling/styled_scroll_bar.dart'; -import 'package:flowy_infra_ui/widget/spacing.dart'; + import 'package:easy_localization/easy_localization.dart'; import 'package:appflowy/generated/locale_keys.g.dart'; import 'package:appflowy_backend/protobuf/flowy-database/field_entities.pb.dart'; @@ -17,14 +14,18 @@ import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:appflowy_popover/appflowy_popover.dart'; -import '../../layout/sizes.dart'; -import '../cell/cell_accessory.dart'; -import '../cell/prelude.dart'; -import '../header/field_cell.dart'; -import '../header/field_editor.dart'; +import '../../grid/presentation/layout/sizes.dart'; +import 'accessory/cell_accessory.dart'; +import 'cell_builder.dart'; +import 'cells/date_cell/date_cell.dart'; +import 'cells/select_option_cell/select_option_cell.dart'; +import 'cells/text_cell/text_cell.dart'; +import 'cells/url_cell/url_cell.dart'; +import '../../grid/presentation/widgets/header/field_cell.dart'; +import '../../grid/presentation/widgets/header/field_editor.dart'; class RowDetailPage extends StatefulWidget with FlowyOverlayDelegate { - final RowDataController dataController; + final RowController dataController; final GridCellBuilder cellBuilder; const RowDetailPage({ @@ -42,6 +43,11 @@ class RowDetailPage extends StatefulWidget with FlowyOverlayDelegate { } class _RowDetailPageState extends State { + final padding = const EdgeInsets.symmetric( + horizontal: 40, + vertical: 20, + ); + @override Widget build(BuildContext context) { return FlowyDialog( @@ -54,17 +60,12 @@ class _RowDetailPageState extends State { return bloc; }, child: Padding( - padding: const EdgeInsets.symmetric(horizontal: 40, vertical: 20), + padding: padding, child: Column( children: [ - SizedBox( - height: 30, - child: Row( - children: const [Spacer(), _CloseButton()], - ), - ), + const _Header(), Expanded( - child: _PropertyList( + child: _PropertyColumn( cellBuilder: widget.cellBuilder, viewId: widget.dataController.viewId, ), @@ -77,6 +78,20 @@ class _RowDetailPageState extends State { } } +class _Header extends StatelessWidget { + const _Header({Key? key}) : super(key: key); + + @override + Widget build(BuildContext context) { + return SizedBox( + height: 30, + child: Row( + children: const [Spacer(), _CloseButton()], + ), + ); + } +} + class _CloseButton extends StatelessWidget { const _CloseButton({Key? key}) : super(key: key); @@ -84,9 +99,7 @@ class _CloseButton extends StatelessWidget { Widget build(BuildContext context) { return FlowyIconButton( width: 24, - onPressed: () { - FlowyOverlay.pop(context); - }, + onPressed: () => FlowyOverlay.pop(context), iconPadding: const EdgeInsets.fromLTRB(2, 2, 2, 2), icon: svgWidget( "home/close", @@ -96,11 +109,11 @@ class _CloseButton extends StatelessWidget { } } -class _PropertyList extends StatelessWidget { +class _PropertyColumn extends StatelessWidget { final String viewId; final GridCellBuilder cellBuilder; final ScrollController _scrollController; - _PropertyList({ + _PropertyColumn({ required this.viewId, required this.cellBuilder, Key? key, @@ -114,11 +127,11 @@ class _PropertyList extends StatelessWidget { builder: (context, state) { return Column( children: [ - Expanded(child: _wrapScrollbar(buildRowCells(state))), + Expanded(child: _wrapScrollbar(buildPropertyCells(state))), const VSpace(10), - _CreateFieldButton( + _CreatePropertyButton( viewId: viewId, - onClosed: _handleDidCreateField, + onClosed: _scrollToNewProperty, ), ], ); @@ -126,12 +139,12 @@ class _PropertyList extends StatelessWidget { ); } - Widget buildRowCells(RowDetailState state) { + Widget buildPropertyCells(RowDetailState state) { return ListView.separated( controller: _scrollController, itemCount: state.gridCells.length, itemBuilder: (BuildContext context, int index) { - return _RowDetailCell( + return _PropertyCell( cellId: state.gridCells[index], cellBuilder: cellBuilder, ); @@ -152,7 +165,7 @@ class _PropertyList extends StatelessWidget { ); } - void _handleDidCreateField() { + void _scrollToNewProperty() { WidgetsBinding.instance.addPostFrameCallback((_) { _scrollController.animateTo( _scrollController.position.maxScrollExtent, @@ -163,21 +176,21 @@ class _PropertyList extends StatelessWidget { } } -class _CreateFieldButton extends StatefulWidget { +class _CreatePropertyButton extends StatefulWidget { final String viewId; final VoidCallback onClosed; - const _CreateFieldButton({ + const _CreatePropertyButton({ required this.viewId, required this.onClosed, Key? key, }) : super(key: key); @override - State<_CreateFieldButton> createState() => _CreateFieldButtonState(); + State<_CreatePropertyButton> createState() => _CreatePropertyButtonState(); } -class _CreateFieldButtonState extends State<_CreateFieldButton> { +class _CreatePropertyButtonState extends State<_CreatePropertyButton> { late PopoverController popoverController; @override @@ -234,20 +247,20 @@ class _CreateFieldButtonState extends State<_CreateFieldButton> { } } -class _RowDetailCell extends StatefulWidget { +class _PropertyCell extends StatefulWidget { final CellIdentifier cellId; final GridCellBuilder cellBuilder; - const _RowDetailCell({ + const _PropertyCell({ required this.cellId, required this.cellBuilder, Key? key, }) : super(key: key); @override - State createState() => _RowDetailCellState(); + State createState() => _PropertyCellState(); } -class _RowDetailCellState extends State<_RowDetailCell> { +class _PropertyCellState extends State<_PropertyCell> { final PopoverController popover = PopoverController(); @override diff --git a/frontend/appflowy_flutter/lib/plugins/document/presentation/plugins/cover/cover_node_widget.dart b/frontend/appflowy_flutter/lib/plugins/document/presentation/plugins/cover/cover_node_widget.dart index 11788cd1d9..5e95b0380c 100644 --- a/frontend/appflowy_flutter/lib/plugins/document/presentation/plugins/cover/cover_node_widget.dart +++ b/frontend/appflowy_flutter/lib/plugins/document/presentation/plugins/cover/cover_node_widget.dart @@ -8,8 +8,6 @@ import 'package:easy_localization/easy_localization.dart'; import 'package:flowy_infra/image.dart'; import 'package:flowy_infra/size.dart'; import 'package:flowy_infra_ui/flowy_infra_ui.dart'; -import 'package:flowy_infra_ui/style_widget/button.dart'; -import 'package:flowy_infra_ui/style_widget/icon_button.dart'; import 'package:flowy_infra_ui/widget/rounded_button.dart'; import 'package:flutter/material.dart'; diff --git a/frontend/appflowy_flutter/lib/startup/deps_resolver.dart b/frontend/appflowy_flutter/lib/startup/deps_resolver.dart index f0a34ff713..b8e219125e 100644 --- a/frontend/appflowy_flutter/lib/startup/deps_resolver.dart +++ b/frontend/appflowy_flutter/lib/startup/deps_resolver.dart @@ -1,15 +1,8 @@ import 'package:appflowy/core/network_monitor.dart'; -import 'package:appflowy/plugins/database_view/application/cell/cell_controller_builder.dart'; -import 'package:appflowy/plugins/database_view/application/cell/cell_service.dart'; import 'package:appflowy/plugins/database_view/application/field/field_action_sheet_bloc.dart'; import 'package:appflowy/plugins/database_view/application/field/field_controller.dart'; import 'package:appflowy/plugins/database_view/application/field/field_service.dart'; import 'package:appflowy/plugins/database_view/application/setting/property_bloc.dart'; -import 'package:appflowy/plugins/database_view/grid/application/cell/checkbox_cell_bloc.dart'; -import 'package:appflowy/plugins/database_view/grid/application/cell/date_cell_bloc.dart'; -import 'package:appflowy/plugins/database_view/grid/application/cell/number_cell_bloc.dart'; -import 'package:appflowy/plugins/database_view/grid/application/cell/select_option_cell_bloc.dart'; -import 'package:appflowy/plugins/database_view/grid/application/cell/text_cell_bloc.dart'; import 'package:appflowy/plugins/database_view/grid/application/grid_header_bloc.dart'; import 'package:appflowy/user/application/user_listener.dart'; import 'package:appflowy/user/application/user_service.dart'; @@ -161,38 +154,6 @@ void _resolveGridDeps(GetIt getIt) { (data, _) => FieldActionSheetBloc(fieldCellContext: data), ); - getIt.registerFactoryParam( - (context, _) => TextCellBloc( - cellController: context, - ), - ); - - getIt.registerFactoryParam( - (context, _) => SelectOptionCellBloc( - cellController: context, - ), - ); - - getIt.registerFactoryParam( - (context, _) => NumberCellBloc( - cellController: context, - ), - ); - - getIt.registerFactoryParam( - (context, _) => DateCellBloc( - cellController: context, - ), - ); - - getIt.registerFactoryParam( - (cellData, _) => CheckboxCellBloc( - service: CellBackendService(), - cellController: cellData, - ), - ); - getIt.registerFactoryParam( (viewId, cache) => DatabasePropertyBloc(viewId: viewId, fieldController: cache), diff --git a/frontend/appflowy_flutter/lib/workspace/presentation/home/menu/app/header/import/import_panel.dart b/frontend/appflowy_flutter/lib/workspace/presentation/home/menu/app/header/import/import_panel.dart index 7314a09749..0250f443d0 100644 --- a/frontend/appflowy_flutter/lib/workspace/presentation/home/menu/app/header/import/import_panel.dart +++ b/frontend/appflowy_flutter/lib/workspace/presentation/home/menu/app/header/import/import_panel.dart @@ -6,7 +6,6 @@ import 'package:appflowy_editor/appflowy_editor.dart'; import 'package:file_picker/file_picker.dart'; import 'package:flowy_infra/image.dart'; import 'package:flowy_infra_ui/flowy_infra_ui.dart'; -import 'package:flowy_infra_ui/style_widget/button.dart'; import 'package:flowy_infra_ui/style_widget/container.dart'; import 'package:flutter/material.dart'; import 'package:appflowy/generated/locale_keys.g.dart'; diff --git a/frontend/appflowy_flutter/lib/workspace/presentation/settings/widgets/settings_appearance_view.dart b/frontend/appflowy_flutter/lib/workspace/presentation/settings/widgets/settings_appearance_view.dart index edef7928ff..d4e93b3548 100644 --- a/frontend/appflowy_flutter/lib/workspace/presentation/settings/widgets/settings_appearance_view.dart +++ b/frontend/appflowy_flutter/lib/workspace/presentation/settings/widgets/settings_appearance_view.dart @@ -5,7 +5,6 @@ import 'package:easy_localization/easy_localization.dart'; import 'package:flowy_infra/image.dart'; import 'package:flowy_infra/theme.dart'; import 'package:flowy_infra_ui/flowy_infra_ui.dart'; -import 'package:flowy_infra_ui/style_widget/button.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; diff --git a/frontend/appflowy_flutter/lib/workspace/presentation/settings/widgets/settings_file_customize_location_view.dart b/frontend/appflowy_flutter/lib/workspace/presentation/settings/widgets/settings_file_customize_location_view.dart index 45cac7b6cb..713e120092 100644 --- a/frontend/appflowy_flutter/lib/workspace/presentation/settings/widgets/settings_file_customize_location_view.dart +++ b/frontend/appflowy_flutter/lib/workspace/presentation/settings/widgets/settings_file_customize_location_view.dart @@ -1,11 +1,9 @@ import 'package:appflowy/util/file_picker/file_picker_service.dart'; import 'package:appflowy/workspace/application/settings/settings_location_cubit.dart'; -import 'package:flowy_infra_ui/style_widget/text.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:easy_localization/easy_localization.dart'; import 'package:flowy_infra_ui/flowy_infra_ui.dart'; -import 'package:flowy_infra_ui/style_widget/icon_button.dart'; import 'package:flutter/services.dart'; import '../../../../generated/locale_keys.g.dart'; diff --git a/frontend/appflowy_flutter/lib/workspace/presentation/settings/widgets/settings_file_exporter_widget.dart b/frontend/appflowy_flutter/lib/workspace/presentation/settings/widgets/settings_file_exporter_widget.dart index f861b35a08..2b075d16fc 100644 --- a/frontend/appflowy_flutter/lib/workspace/presentation/settings/widgets/settings_file_exporter_widget.dart +++ b/frontend/appflowy_flutter/lib/workspace/presentation/settings/widgets/settings_file_exporter_widget.dart @@ -4,9 +4,6 @@ import 'package:appflowy/workspace/application/settings/settings_file_exporter_c import 'package:dartz/dartz.dart' as dartz; import 'package:easy_localization/easy_localization.dart'; import 'package:flowy_infra_ui/flowy_infra_ui.dart'; -import 'package:flowy_infra_ui/style_widget/button.dart'; -import 'package:flowy_infra_ui/style_widget/text.dart'; -import 'package:flowy_infra_ui/widget/spacing.dart'; import 'package:appflowy_backend/dispatch/dispatch.dart'; import 'package:appflowy_backend/protobuf/flowy-error/errors.pbserver.dart'; import 'package:appflowy_backend/protobuf/flowy-folder/workspace.pb.dart'; diff --git a/frontend/appflowy_flutter/lib/workspace/presentation/widgets/pop_up_action.dart b/frontend/appflowy_flutter/lib/workspace/presentation/widgets/pop_up_action.dart index f7c48fdaaa..df38504c4b 100644 --- a/frontend/appflowy_flutter/lib/workspace/presentation/widgets/pop_up_action.dart +++ b/frontend/appflowy_flutter/lib/workspace/presentation/widgets/pop_up_action.dart @@ -1,7 +1,6 @@ import 'package:appflowy_popover/appflowy_popover.dart'; import 'package:flowy_infra_ui/flowy_infra_ui.dart'; import 'package:flowy_infra_ui/style_widget/hover.dart'; -import 'package:flowy_infra_ui/widget/spacing.dart'; import 'package:flutter/material.dart'; import 'package:styled_widget/styled_widget.dart'; diff --git a/frontend/appflowy_flutter/packages/appflowy_editor_plugins/lib/src/callout/callout_node_widget.dart b/frontend/appflowy_flutter/packages/appflowy_editor_plugins/lib/src/callout/callout_node_widget.dart index 13335688dc..e3e75bed68 100644 --- a/frontend/appflowy_flutter/packages/appflowy_editor_plugins/lib/src/callout/callout_node_widget.dart +++ b/frontend/appflowy_flutter/packages/appflowy_editor_plugins/lib/src/callout/callout_node_widget.dart @@ -4,8 +4,6 @@ import 'package:appflowy_editor_plugins/src/extensions/theme_extension.dart'; import 'package:appflowy_popover/appflowy_popover.dart'; import 'package:flowy_infra/theme_extension.dart'; import 'package:flowy_infra_ui/flowy_infra_ui.dart'; -import 'package:flowy_infra_ui/style_widget/button.dart'; -import 'package:flowy_infra_ui/style_widget/color_picker.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; diff --git a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/flowy_infra_ui.dart b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/flowy_infra_ui.dart index 3cf675207b..adb43b4837 100644 --- a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/flowy_infra_ui.dart +++ b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/flowy_infra_ui.dart @@ -12,3 +12,11 @@ export 'src/flowy_overlay/flowy_dialog.dart'; export 'src/flowy_overlay/appflowy_popover.dart'; export 'style_widget/text.dart'; export 'style_widget/text_field.dart'; + +export 'style_widget/button.dart'; +export 'style_widget/icon_button.dart'; +export 'style_widget/scrolling/styled_scroll_bar.dart'; +export '/widget/spacing.dart'; +export 'style_widget/scrolling/styled_list.dart'; +export 'style_widget/button.dart'; +export 'style_widget/color_picker.dart'; diff --git a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/color_picker.dart b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/color_picker.dart index 5ad7b9632a..246c45c7ae 100644 --- a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/color_picker.dart +++ b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/color_picker.dart @@ -1,8 +1,5 @@ import 'package:flowy_infra/image.dart'; import 'package:flowy_infra_ui/flowy_infra_ui.dart'; -import 'package:flowy_infra_ui/style_widget/button.dart'; -import 'package:flowy_infra_ui/style_widget/scrolling/styled_list.dart'; -import 'package:flowy_infra_ui/widget/spacing.dart'; import 'package:flutter/material.dart'; class ColorOption { diff --git a/frontend/appflowy_flutter/test/bloc_test/board_test/group_by_multi_select_field_test.dart b/frontend/appflowy_flutter/test/bloc_test/board_test/group_by_multi_select_field_test.dart index af8a06d06d..0a97a1ec2b 100644 --- a/frontend/appflowy_flutter/test/bloc_test/board_test/group_by_multi_select_field_test.dart +++ b/frontend/appflowy_flutter/test/bloc_test/board_test/group_by_multi_select_field_test.dart @@ -1,7 +1,7 @@ import 'package:appflowy/plugins/database_view/application/cell/cell_controller_builder.dart'; import 'package:appflowy/plugins/database_view/application/setting/group_bloc.dart'; import 'package:appflowy/plugins/database_view/board/application/board_bloc.dart'; -import 'package:appflowy/plugins/database_view/grid/application/cell/select_option_editor_bloc.dart'; +import 'package:appflowy/plugins/database_view/widgets/row/cells/select_option_cell/select_option_editor_bloc.dart'; import 'package:appflowy_backend/protobuf/flowy-database/field_entities.pb.dart'; import 'package:flutter_test/flutter_test.dart'; diff --git a/frontend/appflowy_flutter/test/bloc_test/board_test/util.dart b/frontend/appflowy_flutter/test/bloc_test/board_test/util.dart index e14795178f..64d7fd785d 100644 --- a/frontend/appflowy_flutter/test/bloc_test/board_test/util.dart +++ b/frontend/appflowy_flutter/test/bloc_test/board_test/util.dart @@ -113,7 +113,7 @@ class BoardTestContext { final RowInfo rowInfo = rowInfos.last; final rowCache = _boardDataController.rowCache; - final rowDataController = RowDataController( + final rowDataController = RowController( viewId: rowInfo.viewId, rowId: rowInfo.rowPB.id, rowCache: rowCache, diff --git a/frontend/appflowy_flutter/test/bloc_test/grid_test/cell/select_option_cell_test.dart b/frontend/appflowy_flutter/test/bloc_test/grid_test/cell/select_option_cell_test.dart index 261734207d..d4ec928c70 100644 --- a/frontend/appflowy_flutter/test/bloc_test/grid_test/cell/select_option_cell_test.dart +++ b/frontend/appflowy_flutter/test/bloc_test/grid_test/cell/select_option_cell_test.dart @@ -1,4 +1,4 @@ -import 'package:appflowy/plugins/database_view/grid/application/cell/select_option_editor_bloc.dart'; +import 'package:appflowy/plugins/database_view/widgets/row/cells/select_option_cell/select_option_editor_bloc.dart'; import 'package:dartz/dartz.dart'; import 'package:appflowy_backend/protobuf/flowy-database/field_entities.pb.dart'; import 'package:appflowy_backend/protobuf/flowy-database/select_type_option.pb.dart'; diff --git a/frontend/appflowy_flutter/test/bloc_test/grid_test/util.dart b/frontend/appflowy_flutter/test/bloc_test/grid_test/util.dart index dd382b6551..fe1ec655a9 100644 --- a/frontend/appflowy_flutter/test/bloc_test/grid_test/util.dart +++ b/frontend/appflowy_flutter/test/bloc_test/grid_test/util.dart @@ -72,7 +72,7 @@ class GridTestContext { final RowInfo rowInfo = rowInfos[rowIndex]; final rowCache = gridController.rowCache; - final rowDataController = RowDataController( + final rowDataController = RowController( rowId: rowInfo.rowPB.id, viewId: rowInfo.viewId, rowCache: rowCache, diff --git a/frontend/appflowy_flutter/test/unit_test/select_option_split_text_input.dart b/frontend/appflowy_flutter/test/unit_test/select_option_split_text_input.dart index 75d5053112..9ddad505dc 100644 --- a/frontend/appflowy_flutter/test/unit_test/select_option_split_text_input.dart +++ b/frontend/appflowy_flutter/test/unit_test/select_option_split_text_input.dart @@ -1,4 +1,4 @@ -import 'package:appflowy/plugins/database_view/grid/presentation/widgets/cell/select_option_cell/text_field.dart'; +import 'package:appflowy/plugins/database_view/widgets/row/cells/select_option_cell/text_field.dart'; import 'package:flutter_test/flutter_test.dart'; void main() { diff --git a/frontend/appflowy_flutter/test/widget_test/select_option_text_field_test.dart b/frontend/appflowy_flutter/test/widget_test/select_option_text_field_test.dart index 76cae8d2d2..0ae2ac2f3f 100644 --- a/frontend/appflowy_flutter/test/widget_test/select_option_text_field_test.dart +++ b/frontend/appflowy_flutter/test/widget_test/select_option_text_field_test.dart @@ -1,6 +1,6 @@ import 'dart:collection'; -import 'package:appflowy/plugins/database_view/grid/presentation/widgets/cell/select_option_cell/text_field.dart'; +import 'package:appflowy/plugins/database_view/widgets/row/cells/select_option_cell/text_field.dart'; import 'package:appflowy_backend/protobuf/flowy-database/protobuf.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart';