mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2024-08-30 18:12:39 +00:00
fix: blockService exception
This commit is contained in:
parent
814fdfe8e9
commit
1f657f3bf8
@ -16,12 +16,12 @@ part 'grid_bloc.freezed.dart';
|
|||||||
class GridBloc extends Bloc<GridEvent, GridState> {
|
class GridBloc extends Bloc<GridEvent, GridState> {
|
||||||
final View view;
|
final View view;
|
||||||
final GridService service;
|
final GridService service;
|
||||||
late GridFieldsListener _fieldListener;
|
final GridFieldsListener _fieldListener;
|
||||||
late GridBlockService _blockService;
|
GridBlockService? _blockService;
|
||||||
|
|
||||||
GridBloc({required this.view, required this.service}) : super(GridState.initial()) {
|
|
||||||
_fieldListener = GridFieldsListener(gridId: view.id);
|
|
||||||
|
|
||||||
|
GridBloc({required this.view, required this.service})
|
||||||
|
: _fieldListener = GridFieldsListener(gridId: view.id),
|
||||||
|
super(GridState.initial()) {
|
||||||
on<GridEvent>(
|
on<GridEvent>(
|
||||||
(event, emit) async {
|
(event, emit) async {
|
||||||
await event.map(
|
await event.map(
|
||||||
@ -48,7 +48,7 @@ class GridBloc extends Bloc<GridEvent, GridState> {
|
|||||||
@override
|
@override
|
||||||
Future<void> close() async {
|
Future<void> close() async {
|
||||||
await _fieldListener.stop();
|
await _fieldListener.stop();
|
||||||
await _blockService.stop();
|
await _blockService?.stop();
|
||||||
return super.close();
|
return super.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -70,7 +70,7 @@ class GridBloc extends Bloc<GridEvent, GridState> {
|
|||||||
blockOrders: grid.blockOrders,
|
blockOrders: grid.blockOrders,
|
||||||
);
|
);
|
||||||
|
|
||||||
_blockService.blocksUpdateNotifier?.addPublishListener((result) {
|
_blockService?.blocksUpdateNotifier?.addPublishListener((result) {
|
||||||
result.fold(
|
result.fold(
|
||||||
(blockMap) => add(GridEvent.didReceiveRowUpdate(_buildRows(blockMap))),
|
(blockMap) => add(GridEvent.didReceiveRowUpdate(_buildRows(blockMap))),
|
||||||
(err) => Log.error('$err'),
|
(err) => Log.error('$err'),
|
||||||
|
@ -365,11 +365,8 @@ impl ClientGridEditor {
|
|||||||
F: for<'a> FnOnce(&'a mut GridMetaPad) -> FlowyResult<Option<GridChangeset>>,
|
F: for<'a> FnOnce(&'a mut GridMetaPad) -> FlowyResult<Option<GridChangeset>>,
|
||||||
{
|
{
|
||||||
let mut write_guard = self.pad.write().await;
|
let mut write_guard = self.pad.write().await;
|
||||||
match f(&mut *write_guard)? {
|
if let Some(changeset) = f(&mut *write_guard)? {
|
||||||
None => {}
|
let _ = self.apply_change(changeset).await?;
|
||||||
Some(change) => {
|
|
||||||
let _ = self.apply_change(change).await?;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user