-
-
Notifications
You must be signed in to change notification settings - Fork 3.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
0112aa6
commit 8f12181
Showing
7 changed files
with
445 additions
and
368 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
93 changes: 93 additions & 0 deletions
93
frontend/appflowy_flutter/lib/plugins/database/board/application/board_actions_bloc.dart
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,93 @@ | ||
import 'package:appflowy/plugins/database/application/database_controller.dart'; | ||
import 'package:appflowy/plugins/database/board/application/board_bloc.dart'; | ||
import 'package:appflowy_backend/protobuf/flowy-database2/protobuf.dart'; | ||
import 'package:bloc/bloc.dart'; | ||
import 'package:freezed_annotation/freezed_annotation.dart'; | ||
|
||
part 'board_actions_bloc.freezed.dart'; | ||
|
||
class BoardActionsCubit extends Cubit<BoardActionsState> { | ||
BoardActionsCubit({ | ||
required this.databaseController, | ||
}) : super(const BoardActionsState.initial()); | ||
|
||
final DatabaseController databaseController; | ||
|
||
void startEditingRow(GroupedRowId groupedRowId) { | ||
emit(BoardActionsState.startEditingRow(groupedRowId: groupedRowId)); | ||
emit(const BoardActionsState.initial()); | ||
} | ||
|
||
void endEditing(GroupedRowId groupedRowId) { | ||
emit(const BoardActionsState.endEditingRow()); | ||
emit(BoardActionsState.setFocus(groupedRowIds: [groupedRowId])); | ||
emit(const BoardActionsState.initial()); | ||
} | ||
|
||
void openCard(RowMetaPB rowMeta) { | ||
emit(BoardActionsState.openCard(rowMeta: rowMeta)); | ||
emit(const BoardActionsState.initial()); | ||
} | ||
|
||
void openCardWithRowId(rowId) { | ||
final rowMeta = databaseController.rowCache.getRow(rowId)!.rowMeta; | ||
openCard(rowMeta); | ||
} | ||
|
||
void setFocus(List<GroupedRowId> groupedRowIds) { | ||
emit(BoardActionsState.setFocus(groupedRowIds: groupedRowIds)); | ||
emit(const BoardActionsState.initial()); | ||
} | ||
|
||
void startCreateBottomRow(String groupId) { | ||
emit(BoardActionsState.startCreateBottomRow(groupId: groupId)); | ||
emit(const BoardActionsState.initial()); | ||
} | ||
|
||
void createRow( | ||
GroupedRowId? groupedRowId, | ||
CreateBoardCardRelativePosition relativePosition, | ||
) { | ||
emit( | ||
BoardActionsState.createRow( | ||
groupedRowId: groupedRowId, | ||
position: relativePosition, | ||
), | ||
); | ||
emit(const BoardActionsState.initial()); | ||
} | ||
} | ||
|
||
@freezed | ||
class BoardActionsState with _$BoardActionsState { | ||
const factory BoardActionsState.initial() = _BoardActionsInitialState; | ||
|
||
const factory BoardActionsState.openCard({ | ||
required RowMetaPB rowMeta, | ||
}) = _BoardActionsOpenCardState; | ||
|
||
const factory BoardActionsState.startEditingRow({ | ||
required GroupedRowId groupedRowId, | ||
}) = _BoardActionsStartEditingRowState; | ||
|
||
const factory BoardActionsState.endEditingRow() = | ||
_BoardActionsEndEditingRowState; | ||
|
||
const factory BoardActionsState.setFocus({ | ||
required List<GroupedRowId> groupedRowIds, | ||
}) = _BoardActionsSetFocusState; | ||
|
||
const factory BoardActionsState.startCreateBottomRow({ | ||
required String groupId, | ||
}) = _BoardActionsStartCreateBottomRowState; | ||
|
||
const factory BoardActionsState.createRow({ | ||
required GroupedRowId? groupedRowId, | ||
required CreateBoardCardRelativePosition position, | ||
}) = _BoardActionCreateRowState; | ||
} | ||
|
||
enum CreateBoardCardRelativePosition { | ||
before, | ||
after, | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.