diff --git a/frontend/app_flowy/lib/startup/deps_resolver.dart b/frontend/app_flowy/lib/startup/deps_resolver.dart index 47267cc2c9..7e26566367 100644 --- a/frontend/app_flowy/lib/startup/deps_resolver.dart +++ b/frontend/app_flowy/lib/startup/deps_resolver.dart @@ -171,32 +171,32 @@ void _resolveGridDeps(GetIt getIt) { ), ); - getIt.registerFactoryParam( + getIt.registerFactoryParam( (cellData, _) => TextCellBloc( service: CellService(), cellData: cellData, ), ); - getIt.registerFactoryParam( + getIt.registerFactoryParam( (cellData, _) => SelectionCellBloc( cellData: cellData, ), ); - getIt.registerFactoryParam( + getIt.registerFactoryParam( (cellData, _) => NumberCellBloc( cellData: cellData, ), ); - getIt.registerFactoryParam( + getIt.registerFactoryParam( (cellData, _) => DateCellBloc( - cellData: cellData, + cellIdentifier: cellData, ), ); - getIt.registerFactoryParam( + getIt.registerFactoryParam( (cellData, _) => CheckboxCellBloc( service: CellService(), cellData: cellData, diff --git a/frontend/app_flowy/lib/workspace/application/grid/cell_bloc/cell_listener.dart b/frontend/app_flowy/lib/workspace/application/grid/cell/cell_listener.dart similarity index 100% rename from frontend/app_flowy/lib/workspace/application/grid/cell_bloc/cell_listener.dart rename to frontend/app_flowy/lib/workspace/application/grid/cell/cell_listener.dart diff --git a/frontend/app_flowy/lib/workspace/application/grid/cell/cell_service.dart b/frontend/app_flowy/lib/workspace/application/grid/cell/cell_service.dart new file mode 100644 index 0000000000..a4a3cf2d60 --- /dev/null +++ b/frontend/app_flowy/lib/workspace/application/grid/cell/cell_service.dart @@ -0,0 +1,75 @@ +import 'dart:collection'; + +import 'package:app_flowy/workspace/application/grid/row/row_service.dart'; +import 'package:flowy_sdk/log.dart'; +import 'package:flowy_sdk/protobuf/flowy-error/errors.pb.dart'; +import 'package:dartz/dartz.dart'; +import 'package:flowy_sdk/dispatch/dispatch.dart'; +import 'package:flowy_sdk/protobuf/flowy-grid-data-model/grid.pb.dart'; +import 'package:flowy_sdk/protobuf/flowy-grid/cell_entities.pb.dart'; + +class CellService { + CellService(); + + Future> updateCell({ + required String gridId, + required String fieldId, + required String rowId, + required String data, + }) { + final payload = CellChangeset.create() + ..gridId = gridId + ..fieldId = fieldId + ..rowId = rowId + ..data = data; + return GridEventUpdateCell(payload).send(); + } + + Future> getCell({ + required String gridId, + required String fieldId, + required String rowId, + }) { + final payload = CellIdentifierPayload.create() + ..gridId = gridId + ..fieldId = fieldId + ..rowId = rowId; + return GridEventGetCell(payload).send(); + } +} + +class CellCache { + final CellService _cellService; + final HashMap _cellDataMap = HashMap(); + + CellCache() : _cellService = CellService(); + + Future> getCellData(GridCellIdentifier identifier) async { + final cellId = _cellId(identifier); + final Cell? data = _cellDataMap[cellId]; + if (data != null) { + return Future(() => Some(data)); + } + + final result = await _cellService.getCell( + gridId: identifier.gridId, + fieldId: identifier.field.id, + rowId: identifier.rowId, + ); + + return result.fold( + (cell) { + _cellDataMap[_cellId(identifier)] = cell; + return Some(cell); + }, + (err) { + Log.error(err); + return none(); + }, + ); + } + + String _cellId(GridCellIdentifier identifier) { + return "${identifier.rowId}/${identifier.field.id}"; + } +} diff --git a/frontend/app_flowy/lib/workspace/application/grid/cell_bloc/checkbox_cell_bloc.dart b/frontend/app_flowy/lib/workspace/application/grid/cell/checkbox_cell_bloc.dart similarity index 92% rename from frontend/app_flowy/lib/workspace/application/grid/cell_bloc/checkbox_cell_bloc.dart rename to frontend/app_flowy/lib/workspace/application/grid/cell/checkbox_cell_bloc.dart index 3a4500eb45..2fae2464be 100644 --- a/frontend/app_flowy/lib/workspace/application/grid/cell_bloc/checkbox_cell_bloc.dart +++ b/frontend/app_flowy/lib/workspace/application/grid/cell/checkbox_cell_bloc.dart @@ -1,4 +1,4 @@ -import 'package:app_flowy/workspace/application/grid/cell_bloc/cell_listener.dart'; +import 'package:app_flowy/workspace/application/grid/cell/cell_listener.dart'; import 'package:app_flowy/workspace/application/grid/row/row_service.dart'; import 'package:flowy_sdk/log.dart'; import 'package:flowy_sdk/protobuf/flowy-grid-data-model/grid.pb.dart' show Cell; @@ -15,7 +15,7 @@ class CheckboxCellBloc extends Bloc { CheckboxCellBloc({ required CellService service, - required CellData cellData, + required GridCellIdentifier cellData, }) : _service = service, _listener = CellListener(rowId: cellData.rowId, fieldId: cellData.field.id), super(CheckboxCellState.initial(cellData)) { @@ -87,11 +87,11 @@ class CheckboxCellEvent with _$CheckboxCellEvent { @freezed class CheckboxCellState with _$CheckboxCellState { const factory CheckboxCellState({ - required CellData cellData, + required GridCellIdentifier cellData, required bool isSelected, }) = _CheckboxCellState; - factory CheckboxCellState.initial(CellData cellData) { + factory CheckboxCellState.initial(GridCellIdentifier cellData) { return CheckboxCellState(cellData: cellData, isSelected: _isSelected(cellData.cell)); } } diff --git a/frontend/app_flowy/lib/workspace/application/grid/cell_bloc/date_cell_bloc.dart b/frontend/app_flowy/lib/workspace/application/grid/cell/date_cell_bloc.dart similarity index 87% rename from frontend/app_flowy/lib/workspace/application/grid/cell_bloc/date_cell_bloc.dart rename to frontend/app_flowy/lib/workspace/application/grid/cell/date_cell_bloc.dart index d7e0c078aa..e4c94230a9 100644 --- a/frontend/app_flowy/lib/workspace/application/grid/cell_bloc/date_cell_bloc.dart +++ b/frontend/app_flowy/lib/workspace/application/grid/cell/date_cell_bloc.dart @@ -1,4 +1,4 @@ -import 'package:app_flowy/workspace/application/grid/cell_bloc/cell_listener.dart'; +import 'package:app_flowy/workspace/application/grid/cell/cell_listener.dart'; import 'package:app_flowy/workspace/application/grid/field/field_listener.dart'; import 'package:app_flowy/workspace/application/grid/row/row_service.dart'; import 'package:flowy_sdk/log.dart'; @@ -15,11 +15,11 @@ class DateCellBloc extends Bloc { final CellListener _cellListener; final SingleFieldListener _fieldListener; - DateCellBloc({required CellData cellData}) + DateCellBloc({required GridCellIdentifier cellIdentifier}) : _service = CellService(), - _cellListener = CellListener(rowId: cellData.rowId, fieldId: cellData.field.id), - _fieldListener = SingleFieldListener(fieldId: cellData.field.id), - super(DateCellState.initial(cellData)) { + _cellListener = CellListener(rowId: cellIdentifier.rowId, fieldId: cellIdentifier.field.id), + _fieldListener = SingleFieldListener(fieldId: cellIdentifier.field.id), + super(DateCellState.initial(cellIdentifier)) { on( (event, emit) async { event.map( @@ -106,13 +106,13 @@ class DateCellEvent with _$DateCellEvent { @freezed class DateCellState with _$DateCellState { const factory DateCellState({ - required CellData cellData, + required GridCellIdentifier cellData, required String content, required Field field, DateTime? selectedDay, }) = _DateCellState; - factory DateCellState.initial(CellData cellData) => DateCellState( + factory DateCellState.initial(GridCellIdentifier cellData) => DateCellState( cellData: cellData, field: cellData.field, content: cellData.cell?.content ?? "", diff --git a/frontend/app_flowy/lib/workspace/application/grid/cell_bloc/number_cell_bloc.dart b/frontend/app_flowy/lib/workspace/application/grid/cell/number_cell_bloc.dart similarity index 93% rename from frontend/app_flowy/lib/workspace/application/grid/cell_bloc/number_cell_bloc.dart rename to frontend/app_flowy/lib/workspace/application/grid/cell/number_cell_bloc.dart index fbc432c557..531e06062a 100644 --- a/frontend/app_flowy/lib/workspace/application/grid/cell_bloc/number_cell_bloc.dart +++ b/frontend/app_flowy/lib/workspace/application/grid/cell/number_cell_bloc.dart @@ -1,4 +1,4 @@ -import 'package:app_flowy/workspace/application/grid/cell_bloc/cell_listener.dart'; +import 'package:app_flowy/workspace/application/grid/cell/cell_listener.dart'; import 'package:app_flowy/workspace/application/grid/field/field_listener.dart'; import 'package:app_flowy/workspace/application/grid/row/row_service.dart'; import 'package:flowy_sdk/log.dart'; @@ -16,7 +16,7 @@ class NumberCellBloc extends Bloc { final SingleFieldListener _fieldListener; NumberCellBloc({ - required CellData cellData, + required GridCellIdentifier cellData, }) : _service = CellService(), _cellListener = CellListener(rowId: cellData.rowId, fieldId: cellData.field.id), _fieldListener = SingleFieldListener(fieldId: cellData.field.id), @@ -105,11 +105,11 @@ class NumberCellEvent with _$NumberCellEvent { @freezed class NumberCellState with _$NumberCellState { const factory NumberCellState({ - required CellData cellData, + required GridCellIdentifier cellData, required String content, }) = _NumberCellState; - factory NumberCellState.initial(CellData cellData) { + factory NumberCellState.initial(GridCellIdentifier cellData) { return NumberCellState(cellData: cellData, content: cellData.cell?.content ?? ""); } } diff --git a/frontend/app_flowy/lib/workspace/application/grid/cell_bloc/select_option_service.dart b/frontend/app_flowy/lib/workspace/application/grid/cell/select_option_service.dart similarity index 100% rename from frontend/app_flowy/lib/workspace/application/grid/cell_bloc/select_option_service.dart rename to frontend/app_flowy/lib/workspace/application/grid/cell/select_option_service.dart diff --git a/frontend/app_flowy/lib/workspace/application/grid/cell_bloc/selection_cell_bloc.dart b/frontend/app_flowy/lib/workspace/application/grid/cell/selection_cell_bloc.dart similarity index 89% rename from frontend/app_flowy/lib/workspace/application/grid/cell_bloc/selection_cell_bloc.dart rename to frontend/app_flowy/lib/workspace/application/grid/cell/selection_cell_bloc.dart index ae7c48d81f..95ccedd086 100644 --- a/frontend/app_flowy/lib/workspace/application/grid/cell_bloc/selection_cell_bloc.dart +++ b/frontend/app_flowy/lib/workspace/application/grid/cell/selection_cell_bloc.dart @@ -1,5 +1,5 @@ -import 'package:app_flowy/workspace/application/grid/cell_bloc/cell_listener.dart'; -import 'package:app_flowy/workspace/application/grid/cell_bloc/select_option_service.dart'; +import 'package:app_flowy/workspace/application/grid/cell/cell_listener.dart'; +import 'package:app_flowy/workspace/application/grid/cell/select_option_service.dart'; import 'package:app_flowy/workspace/application/grid/field/field_listener.dart'; import 'package:app_flowy/workspace/application/grid/row/row_service.dart'; import 'package:flowy_sdk/log.dart'; @@ -16,7 +16,7 @@ class SelectionCellBloc extends Bloc { final SingleFieldListener _fieldListener; SelectionCellBloc({ - required CellData cellData, + required GridCellIdentifier cellData, }) : _service = SelectOptionService(), _cellListener = CellListener(rowId: cellData.rowId, fieldId: cellData.field.id), _fieldListener = SingleFieldListener(fieldId: cellData.field.id), @@ -93,12 +93,12 @@ class SelectionCellEvent with _$SelectionCellEvent { @freezed class SelectionCellState with _$SelectionCellState { const factory SelectionCellState({ - required CellData cellData, + required GridCellIdentifier cellData, required List options, required List selectedOptions, }) = _SelectionCellState; - factory SelectionCellState.initial(CellData cellData) => SelectionCellState( + factory SelectionCellState.initial(GridCellIdentifier cellData) => SelectionCellState( cellData: cellData, options: [], selectedOptions: [], diff --git a/frontend/app_flowy/lib/workspace/application/grid/cell_bloc/selection_editor_bloc.dart b/frontend/app_flowy/lib/workspace/application/grid/cell/selection_editor_bloc.dart similarity index 97% rename from frontend/app_flowy/lib/workspace/application/grid/cell_bloc/selection_editor_bloc.dart rename to frontend/app_flowy/lib/workspace/application/grid/cell/selection_editor_bloc.dart index 0d1b2705e3..1636c293ed 100644 --- a/frontend/app_flowy/lib/workspace/application/grid/cell_bloc/selection_editor_bloc.dart +++ b/frontend/app_flowy/lib/workspace/application/grid/cell/selection_editor_bloc.dart @@ -1,4 +1,4 @@ -import 'package:app_flowy/workspace/application/grid/cell_bloc/cell_listener.dart'; +import 'package:app_flowy/workspace/application/grid/cell/cell_listener.dart'; import 'package:app_flowy/workspace/application/grid/field/field_listener.dart'; import 'package:app_flowy/workspace/application/grid/row/row_service.dart'; import 'package:flowy_sdk/log.dart'; @@ -18,7 +18,7 @@ class SelectOptionEditorBloc extends Bloc options, required List selectedOptions, }) : _selectOptionService = SelectOptionService(), @@ -174,7 +174,7 @@ class SelectOptionEditorState with _$SelectOptionEditorState { }) = _SelectOptionEditorState; factory SelectOptionEditorState.initial( - CellData cellData, + GridCellIdentifier cellData, List options, List selectedOptions, ) { diff --git a/frontend/app_flowy/lib/workspace/application/grid/cell_bloc/text_cell_bloc.dart b/frontend/app_flowy/lib/workspace/application/grid/cell/text_cell_bloc.dart similarity index 86% rename from frontend/app_flowy/lib/workspace/application/grid/cell_bloc/text_cell_bloc.dart rename to frontend/app_flowy/lib/workspace/application/grid/cell/text_cell_bloc.dart index 5af39bbd9f..e45cb7c1f1 100644 --- a/frontend/app_flowy/lib/workspace/application/grid/cell_bloc/text_cell_bloc.dart +++ b/frontend/app_flowy/lib/workspace/application/grid/cell/text_cell_bloc.dart @@ -11,7 +11,7 @@ class TextCellBloc extends Bloc { TextCellBloc({ required this.service, - required CellData cellData, + required GridCellIdentifier cellData, }) : super(TextCellState.initial(cellData)) { on( (event, emit) async { @@ -53,7 +53,7 @@ class TextCellBloc extends Bloc { @freezed class TextCellEvent with _$TextCellEvent { const factory TextCellEvent.initial() = _InitialCell; - const factory TextCellEvent.didReceiveCellData(CellData cellData) = _DidReceiveCellData; + const factory TextCellEvent.didReceiveCellData(GridCellIdentifier cellData) = _DidReceiveCellData; const factory TextCellEvent.updateText(String text) = _UpdateText; } @@ -61,10 +61,10 @@ class TextCellEvent with _$TextCellEvent { class TextCellState with _$TextCellState { const factory TextCellState({ required String content, - required CellData cellData, + required GridCellIdentifier cellData, }) = _TextCellState; - factory TextCellState.initial(CellData cellData) => TextCellState( + factory TextCellState.initial(GridCellIdentifier cellData) => TextCellState( content: cellData.cell?.content ?? "", cellData: cellData, ); diff --git a/frontend/app_flowy/lib/workspace/application/grid/cell_bloc/cell_service.dart b/frontend/app_flowy/lib/workspace/application/grid/cell_bloc/cell_service.dart deleted file mode 100644 index dfce5d3993..0000000000 --- a/frontend/app_flowy/lib/workspace/application/grid/cell_bloc/cell_service.dart +++ /dev/null @@ -1,35 +0,0 @@ -import 'package:flowy_sdk/protobuf/flowy-error/errors.pb.dart'; -import 'package:dartz/dartz.dart'; -import 'package:flowy_sdk/dispatch/dispatch.dart'; -import 'package:flowy_sdk/protobuf/flowy-grid-data-model/grid.pb.dart'; -import 'package:flowy_sdk/protobuf/flowy-grid/cell_entities.pb.dart'; - -class CellService { - CellService(); - - Future> updateCell({ - required String gridId, - required String fieldId, - required String rowId, - required String data, - }) { - final payload = CellChangeset.create() - ..gridId = gridId - ..fieldId = fieldId - ..rowId = rowId - ..data = data; - return GridEventUpdateCell(payload).send(); - } - - Future> getCell({ - required String gridId, - required String fieldId, - required String rowId, - }) { - final payload = CellIdentifierPayload.create() - ..gridId = gridId - ..fieldId = fieldId - ..rowId = rowId; - return GridEventGetCell(payload).send(); - } -} diff --git a/frontend/app_flowy/lib/workspace/application/grid/prelude.dart b/frontend/app_flowy/lib/workspace/application/grid/prelude.dart index 1308e1a67e..16287db6bf 100644 --- a/frontend/app_flowy/lib/workspace/application/grid/prelude.dart +++ b/frontend/app_flowy/lib/workspace/application/grid/prelude.dart @@ -16,12 +16,12 @@ export 'field/type_option/number_bloc.dart'; export 'field/type_option/single_select_bloc.dart'; // Cell -export 'cell_bloc/text_cell_bloc.dart'; -export 'cell_bloc/number_cell_bloc.dart'; -export 'cell_bloc/selection_cell_bloc.dart'; -export 'cell_bloc/date_cell_bloc.dart'; -export 'cell_bloc/checkbox_cell_bloc.dart'; -export 'cell_bloc/cell_service.dart'; +export 'cell/text_cell_bloc.dart'; +export 'cell/number_cell_bloc.dart'; +export 'cell/selection_cell_bloc.dart'; +export 'cell/date_cell_bloc.dart'; +export 'cell/checkbox_cell_bloc.dart'; +export 'cell/cell_service.dart'; // Setting export 'setting/setting_bloc.dart'; diff --git a/frontend/app_flowy/lib/workspace/application/grid/row/row_bloc.dart b/frontend/app_flowy/lib/workspace/application/grid/row/row_bloc.dart index 4ec7ce3a17..69731a0329 100644 --- a/frontend/app_flowy/lib/workspace/application/grid/row/row_bloc.dart +++ b/frontend/app_flowy/lib/workspace/application/grid/row/row_bloc.dart @@ -12,7 +12,7 @@ import 'package:dartz/dartz.dart'; part 'row_bloc.freezed.dart'; -typedef CellDataMap = LinkedHashMap; +typedef CellDataMap = LinkedHashMap; class RowBloc extends Bloc { final RowService _rowService; @@ -111,7 +111,7 @@ class RowBloc extends Bloc { var map = CellDataMap.new(); for (final field in fields) { if (field.visibility) { - map[field.id] = CellData( + map[field.id] = GridCellIdentifier( rowId: row.id, gridId: _rowService.gridId, cell: row.cellByFieldId[field.id], diff --git a/frontend/app_flowy/lib/workspace/application/grid/row/row_service.dart b/frontend/app_flowy/lib/workspace/application/grid/row/row_service.dart index 23cecb1489..c35466f5c3 100644 --- a/frontend/app_flowy/lib/workspace/application/grid/row/row_service.dart +++ b/frontend/app_flowy/lib/workspace/application/grid/row/row_service.dart @@ -84,10 +84,10 @@ class RowsNotifier extends ChangeNotifier { class GridRowCache { final String gridId; late GridRowListener _rowsListener; + final RowsNotifier _rowNotifier = RowsNotifier(); final HashMap _rowDataMap = HashMap(); UnmodifiableListView _fields = UnmodifiableListView([]); - final RowsNotifier _rowNotifier = RowsNotifier(); GridRowCache({required this.gridId}) { _rowsListener = GridRowListener(gridId: gridId); @@ -216,8 +216,8 @@ class GridRowCache { } @freezed -class CellData with _$CellData { - const factory CellData({ +class GridCellIdentifier with _$GridCellIdentifier { + const factory GridCellIdentifier({ required String gridId, required String rowId, required Field field, diff --git a/frontend/app_flowy/lib/workspace/presentation/plugins/grid/src/widgets/cell/cell_builder.dart b/frontend/app_flowy/lib/workspace/presentation/plugins/grid/src/widgets/cell/cell_builder.dart index 2b00a13a10..7af09ca6b5 100755 --- a/frontend/app_flowy/lib/workspace/presentation/plugins/grid/src/widgets/cell/cell_builder.dart +++ b/frontend/app_flowy/lib/workspace/presentation/plugins/grid/src/widgets/cell/cell_builder.dart @@ -7,7 +7,7 @@ import 'number_cell.dart'; import 'selection_cell/selection_cell.dart'; import 'text_cell.dart'; -Widget buildGridCell(CellData cellData) { +Widget buildGridCell(GridCellIdentifier cellData) { final key = ValueKey(cellData.field.id + cellData.rowId); switch (cellData.field.fieldType) { case FieldType.Checkbox: diff --git a/frontend/app_flowy/lib/workspace/presentation/plugins/grid/src/widgets/cell/checkbox_cell.dart b/frontend/app_flowy/lib/workspace/presentation/plugins/grid/src/widgets/cell/checkbox_cell.dart index b4095c71d9..312c8ef71c 100644 --- a/frontend/app_flowy/lib/workspace/presentation/plugins/grid/src/widgets/cell/checkbox_cell.dart +++ b/frontend/app_flowy/lib/workspace/presentation/plugins/grid/src/widgets/cell/checkbox_cell.dart @@ -6,7 +6,7 @@ import 'package:flutter/widgets.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; class CheckboxCell extends StatefulWidget { - final CellData cellData; + final GridCellIdentifier cellData; const CheckboxCell({ required this.cellData, diff --git a/frontend/app_flowy/lib/workspace/presentation/plugins/grid/src/widgets/cell/date_cell.dart b/frontend/app_flowy/lib/workspace/presentation/plugins/grid/src/widgets/cell/date_cell.dart index b913a09e4e..33f99c2386 100644 --- a/frontend/app_flowy/lib/workspace/presentation/plugins/grid/src/widgets/cell/date_cell.dart +++ b/frontend/app_flowy/lib/workspace/presentation/plugins/grid/src/widgets/cell/date_cell.dart @@ -9,7 +9,7 @@ import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:table_calendar/table_calendar.dart'; class DateCell extends GridCell { - final CellData cellData; + final GridCellIdentifier cellData; const DateCell({ required this.cellData, diff --git a/frontend/app_flowy/lib/workspace/presentation/plugins/grid/src/widgets/cell/number_cell.dart b/frontend/app_flowy/lib/workspace/presentation/plugins/grid/src/widgets/cell/number_cell.dart index cd4db24c7a..56946945ae 100644 --- a/frontend/app_flowy/lib/workspace/presentation/plugins/grid/src/widgets/cell/number_cell.dart +++ b/frontend/app_flowy/lib/workspace/presentation/plugins/grid/src/widgets/cell/number_cell.dart @@ -7,7 +7,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; class NumberCell extends GridCell { - final CellData cellData; + final GridCellIdentifier cellData; const NumberCell({ required this.cellData, diff --git a/frontend/app_flowy/lib/workspace/presentation/plugins/grid/src/widgets/cell/selection_cell/selection_cell.dart b/frontend/app_flowy/lib/workspace/presentation/plugins/grid/src/widgets/cell/selection_cell/selection_cell.dart index a7cf70a64e..4e0cba65bb 100644 --- a/frontend/app_flowy/lib/workspace/presentation/plugins/grid/src/widgets/cell/selection_cell/selection_cell.dart +++ b/frontend/app_flowy/lib/workspace/presentation/plugins/grid/src/widgets/cell/selection_cell/selection_cell.dart @@ -8,7 +8,7 @@ import 'extension.dart'; import 'selection_editor.dart'; class SingleSelectCell extends GridCell { - final CellData cellData; + final GridCellIdentifier cellData; const SingleSelectCell({ required this.cellData, @@ -64,7 +64,7 @@ class _SingleSelectCellState extends State { //---------------------------------------------------------------- class MultiSelectCell extends GridCell { - final CellData cellData; + final GridCellIdentifier cellData; const MultiSelectCell({ required this.cellData, diff --git a/frontend/app_flowy/lib/workspace/presentation/plugins/grid/src/widgets/cell/selection_cell/selection_editor.dart b/frontend/app_flowy/lib/workspace/presentation/plugins/grid/src/widgets/cell/selection_cell/selection_editor.dart index 4ebd4407b0..e3e0b39f0a 100644 --- a/frontend/app_flowy/lib/workspace/presentation/plugins/grid/src/widgets/cell/selection_cell/selection_editor.dart +++ b/frontend/app_flowy/lib/workspace/presentation/plugins/grid/src/widgets/cell/selection_cell/selection_editor.dart @@ -1,5 +1,5 @@ import 'dart:collection'; -import 'package:app_flowy/workspace/application/grid/cell_bloc/selection_editor_bloc.dart'; +import 'package:app_flowy/workspace/application/grid/cell/selection_editor_bloc.dart'; import 'package:app_flowy/workspace/application/grid/row/row_service.dart'; import 'package:app_flowy/workspace/presentation/plugins/grid/src/layout/sizes.dart'; import 'package:app_flowy/workspace/presentation/plugins/grid/src/widgets/header/type_option/edit_option_pannel.dart'; @@ -25,7 +25,7 @@ import 'text_field.dart'; const double _editorPannelWidth = 300; class SelectOptionCellEditor extends StatelessWidget with FlowyOverlayDelegate { - final CellData cellData; + final GridCellIdentifier cellData; final List options; final List selectedOptions; final VoidCallback onDismissed; @@ -66,7 +66,7 @@ class SelectOptionCellEditor extends StatelessWidget with FlowyOverlayDelegate { static void show( BuildContext context, - CellData cellData, + GridCellIdentifier cellData, List options, List selectedOptions, VoidCallback onDismissed, diff --git a/frontend/app_flowy/lib/workspace/presentation/plugins/grid/src/widgets/cell/text_cell.dart b/frontend/app_flowy/lib/workspace/presentation/plugins/grid/src/widgets/cell/text_cell.dart index 543a337b9b..e6649853a5 100644 --- a/frontend/app_flowy/lib/workspace/presentation/plugins/grid/src/widgets/cell/text_cell.dart +++ b/frontend/app_flowy/lib/workspace/presentation/plugins/grid/src/widgets/cell/text_cell.dart @@ -6,7 +6,7 @@ import 'package:flutter_bloc/flutter_bloc.dart'; import 'cell_container.dart'; class GridTextCell extends GridCell { - final CellData cellData; + final GridCellIdentifier cellData; const GridTextCell({ required this.cellData, Key? key, diff --git a/frontend/app_flowy/lib/workspace/presentation/plugins/grid/src/widgets/row/cell/number_cell.dart b/frontend/app_flowy/lib/workspace/presentation/plugins/grid/src/widgets/row/cell/number_cell.dart index 41b8cf6ee5..6e4c430986 100644 --- a/frontend/app_flowy/lib/workspace/presentation/plugins/grid/src/widgets/row/cell/number_cell.dart +++ b/frontend/app_flowy/lib/workspace/presentation/plugins/grid/src/widgets/row/cell/number_cell.dart @@ -4,7 +4,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; class NumberCell extends StatefulWidget { - final CellData cellData; + final GridCellIdentifier cellData; const NumberCell({ required this.cellData, diff --git a/frontend/app_flowy/lib/workspace/presentation/plugins/grid/src/widgets/row/number_cell.dart b/frontend/app_flowy/lib/workspace/presentation/plugins/grid/src/widgets/row/number_cell.dart index 41b8cf6ee5..6e4c430986 100644 --- a/frontend/app_flowy/lib/workspace/presentation/plugins/grid/src/widgets/row/number_cell.dart +++ b/frontend/app_flowy/lib/workspace/presentation/plugins/grid/src/widgets/row/number_cell.dart @@ -4,7 +4,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; class NumberCell extends StatefulWidget { - final CellData cellData; + final GridCellIdentifier cellData; const NumberCell({ required this.cellData,