Skip to content

Commit 4f8e012

Browse files
committed
chore: fix bugs when switch group field
1 parent 54d6f37 commit 4f8e012

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+297
-162
lines changed

frontend/app_flowy/lib/plugins/board/application/board_bloc.dart

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import 'dart:async';
22
import 'package:app_flowy/plugins/grid/application/block/block_cache.dart';
3-
import 'package:app_flowy/plugins/grid/application/field/field_cache.dart';
3+
import 'package:app_flowy/plugins/grid/application/field/field_controller.dart';
44
import 'package:app_flowy/plugins/grid/application/row/row_cache.dart';
55
import 'package:app_flowy/plugins/grid/application/row/row_service.dart';
66
import 'package:appflowy_board/appflowy_board.dart';
@@ -204,16 +204,20 @@ class BoardBloc extends Bloc<BoardEvent, BoardState> {
204204
}
205205
},
206206
didLoadGroups: (groups) {
207+
if (isClosed) return;
207208
initializeGroups(groups);
208209
add(BoardEvent.didReceiveGroups(groups));
209210
},
210211
onDeletedGroup: (groupIds) {
212+
if (isClosed) return;
211213
//
212214
},
213215
onInsertedGroup: (insertedGroups) {
216+
if (isClosed) return;
214217
//
215218
},
216219
onUpdatedGroup: (updatedGroups) {
220+
if (isClosed) return;
217221
for (final group in updatedGroups) {
218222
final columnController =
219223
boardController.getColumnController(group.groupId);
@@ -224,6 +228,8 @@ class BoardBloc extends Bloc<BoardEvent, BoardState> {
224228
Log.error(err);
225229
},
226230
onResetGroups: (groups) {
231+
if (isClosed) return;
232+
227233
initializeGroups(groups);
228234
add(BoardEvent.didReceiveGroups(groups));
229235
},

frontend/app_flowy/lib/plugins/board/application/board_data_controller.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import 'dart:collection';
22

33
import 'package:app_flowy/plugins/grid/application/block/block_cache.dart';
4-
import 'package:app_flowy/plugins/grid/application/field/field_cache.dart';
4+
import 'package:app_flowy/plugins/grid/application/field/field_controller.dart';
55
import 'package:app_flowy/plugins/grid/application/grid_service.dart';
66
import 'package:app_flowy/plugins/grid/application/row/row_cache.dart';
77
import 'package:flowy_sdk/protobuf/flowy-error/errors.pb.dart';

frontend/app_flowy/lib/plugins/board/application/card/board_date_cell_bloc.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import 'package:app_flowy/plugins/grid/application/cell/cell_service/cell_service.dart';
2-
import 'package:app_flowy/plugins/grid/application/field/field_cache.dart';
2+
import 'package:app_flowy/plugins/grid/application/field/field_controller.dart';
33
import 'package:flowy_sdk/protobuf/flowy-grid/date_type_option_entities.pb.dart';
44
import 'package:flutter_bloc/flutter_bloc.dart';
55
import 'package:freezed_annotation/freezed_annotation.dart';

frontend/app_flowy/lib/plugins/board/application/card/card_data_controller.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import 'package:app_flowy/plugins/board/presentation/card/card_cell_builder.dart';
22
import 'package:app_flowy/plugins/grid/application/cell/cell_service/cell_service.dart';
33
import 'package:app_flowy/plugins/grid/application/cell/cell_service/cell_field_notifier.dart';
4-
import 'package:app_flowy/plugins/grid/application/field/field_cache.dart';
4+
import 'package:app_flowy/plugins/grid/application/field/field_controller.dart';
55
import 'package:app_flowy/plugins/grid/application/row/row_cache.dart';
66
import 'package:flowy_sdk/protobuf/flowy-grid/block_entities.pb.dart';
77
import 'package:flutter/foundation.dart';

frontend/app_flowy/lib/plugins/board/presentation/board_page.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import 'dart:collection';
55
import 'package:app_flowy/generated/locale_keys.g.dart';
66
import 'package:app_flowy/plugins/board/application/card/card_data_controller.dart';
77
import 'package:app_flowy/plugins/grid/application/row/row_cache.dart';
8-
import 'package:app_flowy/plugins/grid/application/field/field_cache.dart';
8+
import 'package:app_flowy/plugins/grid/application/field/field_controller.dart';
99
import 'package:app_flowy/plugins/grid/application/row/row_data_controller.dart';
1010
import 'package:app_flowy/plugins/grid/presentation/widgets/cell/cell_builder.dart';
1111
import 'package:app_flowy/plugins/grid/presentation/widgets/row/row_detail.dart';
@@ -82,8 +82,7 @@ class _BoardContentState extends State<BoardContent> {
8282
return BlocListener<BoardBloc, BoardState>(
8383
listener: (context, state) => _handleEditState(state, context),
8484
child: BlocBuilder<BoardBloc, BoardState>(
85-
buildWhen: (previous, current) =>
86-
previous.groupIds.length != current.groupIds.length,
85+
buildWhen: (previous, current) => previous.groupIds != current.groupIds,
8786
builder: (context, state) {
8887
final theme = context.read<AppTheme>();
8988
return Container(
@@ -95,6 +94,7 @@ class _BoardContentState extends State<BoardContent> {
9594
const _ToolbarBlocAdaptor(),
9695
Expanded(
9796
child: AFBoard(
97+
key: UniqueKey(),
9898
scrollManager: scrollManager,
9999
scrollController: scrollController,
100100
dataController: context.read<BoardBloc>().boardController,

frontend/app_flowy/lib/plugins/board/presentation/toolbar/board_setting.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import 'package:app_flowy/generated/locale_keys.g.dart';
22
import 'package:app_flowy/plugins/board/application/toolbar/board_setting_bloc.dart';
3-
import 'package:app_flowy/plugins/grid/application/field/field_cache.dart';
3+
import 'package:app_flowy/plugins/grid/application/field/field_controller.dart';
44
import 'package:app_flowy/plugins/grid/presentation/layout/sizes.dart';
55
import 'package:app_flowy/plugins/grid/presentation/widgets/toolbar/grid_group.dart';
66
import 'package:app_flowy/plugins/grid/presentation/widgets/toolbar/grid_property.dart';

frontend/app_flowy/lib/plugins/board/presentation/toolbar/board_toolbar.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import 'package:app_flowy/plugins/grid/application/field/field_cache.dart';
1+
import 'package:app_flowy/plugins/grid/application/field/field_controller.dart';
22
import 'package:flowy_infra/image.dart';
33
import 'package:flowy_infra/theme.dart';
44
import 'package:flowy_infra_ui/style_widget/icon_button.dart';

frontend/app_flowy/lib/plugins/grid/application/block/block_cache.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import 'dart:async';
22
import 'package:flowy_sdk/log.dart';
33
import 'package:flowy_sdk/protobuf/flowy-grid/block_entities.pb.dart';
44

5-
import '../field/field_cache.dart';
5+
import '../field/field_controller.dart';
66
import '../row/row_cache.dart';
77
import 'block_listener.dart';
88

frontend/app_flowy/lib/plugins/grid/application/cell/cell_service/cell_service.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import 'package:app_flowy/plugins/grid/application/cell/cell_listener.dart';
1616
import 'package:app_flowy/plugins/grid/application/field/field_service.dart';
1717
import 'dart:convert' show utf8;
1818

19-
import '../../field/field_cache.dart';
19+
import '../../field/field_controller.dart';
2020
import '../../field/type_option/type_option_context.dart';
2121
import 'cell_field_notifier.dart';
2222
part 'cell_service.freezed.dart';

frontend/app_flowy/lib/plugins/grid/application/cell/date_cell_bloc.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import 'package:app_flowy/plugins/grid/application/field/field_cache.dart';
1+
import 'package:app_flowy/plugins/grid/application/field/field_controller.dart';
22
import 'package:flowy_sdk/protobuf/flowy-grid/date_type_option_entities.pb.dart';
33
import 'package:flutter_bloc/flutter_bloc.dart';
44
import 'package:freezed_annotation/freezed_annotation.dart';

0 commit comments

Comments
 (0)