Skip to content

Commit a21050b

Browse files
committed
chore: update appflowy_baord documentation
1 parent b532131 commit a21050b

File tree

6 files changed

+34
-32
lines changed

6 files changed

+34
-32
lines changed

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

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -62,17 +62,15 @@ class BoardContent extends StatefulWidget {
6262
}
6363

6464
class _BoardContentState extends State<BoardContent> {
65-
late ScrollController scrollController;
66-
late AppFlowyBoardScrollManager scrollManager;
65+
late AppFlowyBoardScrollController scrollManager;
6766

6867
final config = AppFlowyBoardConfig(
6968
groupBackgroundColor: HexColor.fromHex('#F7F8FC'),
7069
);
7170

7271
@override
7372
void initState() {
74-
scrollController = ScrollController();
75-
scrollManager = AppFlowyBoardScrollManager();
73+
scrollManager = AppFlowyBoardScrollController();
7674
super.initState();
7775
}
7876

@@ -102,8 +100,8 @@ class _BoardContentState extends State<BoardContent> {
102100
Expanded _buildBoard(BuildContext context) {
103101
return Expanded(
104102
child: AppFlowyBoard(
105-
scrollManager: scrollManager,
106-
scrollController: scrollController,
103+
boardScrollController: scrollManager,
104+
scrollController: ScrollController(),
107105
controller: context.read<BoardBloc>().boardController,
108106
headerBuilder: _buildHeader,
109107
footerBuilder: _buildFooter,
@@ -143,7 +141,6 @@ class _BoardContentState extends State<BoardContent> {
143141

144142
@override
145143
void dispose() {
146-
scrollController.dispose();
147144
super.dispose();
148145
}
149146

frontend/app_flowy/packages/appflowy_board/CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# 0.0.7
2+
* Rename some classes
3+
* Add documentation
14
# 0.0.6
25
* Support scroll to bottom
36
* Fix some bugs

frontend/app_flowy/packages/appflowy_board/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ First, run main.dart to play with the demo.
120120

121121
Second, let's delve into multi_board_list_example.dart to understand a few key components:
122122
* A Board widget is created via instantiating an `AppFlowyBoard` object.
123-
* In the `AppFlowyBoard` object, you can find the `AppFlowyBoardController`, which is defined in board_data.dart, is feeded with prepopulated mock data. It also contains callback functions to materialize future user data.
123+
* In the `AppFlowyBoard` object, you can find the `AppFlowyBoardController`, which is defined in board_data.dart, is fed with pre-populated mock data. It also contains callback functions to materialize future user data.
124124
* Three builders: AppFlowyBoardHeaderBuilder, AppFlowyBoardFooterBuilder, AppFlowyBoardCardBuilder. See below image for what they are used for.
125125

126126

frontend/app_flowy/packages/appflowy_board/lib/src/widgets/board.dart

Lines changed: 24 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import 'reorder_flex/reorder_flex.dart';
1010
import 'reorder_phantom/phantom_controller.dart';
1111
import '../rendering/board_overlay.dart';
1212

13-
class AppFlowyBoardScrollManager {
13+
class AppFlowyBoardScrollController {
1414
AppFlowyBoardState? _groupState;
1515

1616
void scrollToBottom(String groupId, VoidCallback? completed) {
@@ -79,32 +79,40 @@ class AppFlowyBoard extends StatelessWidget {
7979
///
8080
final AppFlowyBoardController controller;
8181

82+
/// A constraints applied to [AppFlowyBoardGroup] widget.
8283
final BoxConstraints groupConstraints;
8384

85+
/// A controller is used by the [ReorderFlex].
8486
///
85-
late final BoardPhantomController phantomController;
86-
87+
/// The [ReorderFlex] will used the primary scrollController of the current
88+
/// [BuildContext] by using PrimaryScrollController.of(context).
89+
/// If the primary scrollController is null, we will assign a new [ScrollController].
8790
final ScrollController? scrollController;
8891

92+
///
8993
final AppFlowyBoardConfig config;
9094

91-
final AppFlowyBoardScrollManager? scrollManager;
95+
/// A controller is used to control each group scroll actions.
96+
///
97+
final AppFlowyBoardScrollController? boardScrollController;
9298

9399
final AppFlowyBoardState _groupState = AppFlowyBoardState();
94100

101+
late final BoardPhantomController _phantomController;
102+
95103
AppFlowyBoard({
96104
required this.controller,
97105
required this.cardBuilder,
98106
this.background,
99107
this.footerBuilder,
100108
this.headerBuilder,
101109
this.scrollController,
102-
this.scrollManager,
110+
this.boardScrollController,
103111
this.groupConstraints = const BoxConstraints(maxWidth: 200),
104112
this.config = const AppFlowyBoardConfig(),
105113
Key? key,
106114
}) : super(key: key) {
107-
phantomController = BoardPhantomController(
115+
_phantomController = BoardPhantomController(
108116
delegate: controller,
109117
groupsState: _groupState,
110118
);
@@ -116,23 +124,23 @@ class AppFlowyBoard extends StatelessWidget {
116124
value: controller,
117125
child: Consumer<AppFlowyBoardController>(
118126
builder: (context, notifier, child) {
119-
if (scrollManager != null) {
120-
scrollManager!._groupState = _groupState;
127+
if (boardScrollController != null) {
128+
boardScrollController!._groupState = _groupState;
121129
}
122130

123131
return _AppFlowyBoardContent(
124132
config: config,
125133
dataController: controller,
126134
scrollController: scrollController,
127-
scrollManager: scrollManager,
135+
scrollManager: boardScrollController,
128136
columnsState: _groupState,
129137
background: background,
130-
delegate: phantomController,
131-
columnConstraints: groupConstraints,
138+
delegate: _phantomController,
139+
groupConstraints: groupConstraints,
132140
cardBuilder: cardBuilder,
133141
footerBuilder: footerBuilder,
134142
headerBuilder: headerBuilder,
135-
phantomController: phantomController,
143+
phantomController: _phantomController,
136144
onReorder: controller.moveGroup,
137145
);
138146
},
@@ -143,15 +151,13 @@ class AppFlowyBoard extends StatelessWidget {
143151

144152
class _AppFlowyBoardContent extends StatefulWidget {
145153
final ScrollController? scrollController;
146-
final OnDragStarted? onDragStarted;
147154
final OnReorder onReorder;
148-
final OnDragEnded? onDragEnded;
149155
final AppFlowyBoardController dataController;
150156
final Widget? background;
151157
final AppFlowyBoardConfig config;
152158
final ReorderFlexConfig reorderFlexConfig;
153-
final BoxConstraints columnConstraints;
154-
final AppFlowyBoardScrollManager? scrollManager;
159+
final BoxConstraints groupConstraints;
160+
final AppFlowyBoardScrollController? scrollManager;
155161
final AppFlowyBoardState columnsState;
156162
final AppFlowyBoardCardBuilder cardBuilder;
157163
final AppFlowyBoardHeaderBuilder? headerBuilder;
@@ -166,11 +172,9 @@ class _AppFlowyBoardContent extends StatefulWidget {
166172
required this.dataController,
167173
required this.scrollManager,
168174
required this.columnsState,
169-
this.onDragStarted,
170-
this.onDragEnded,
171175
this.scrollController,
172176
this.background,
173-
required this.columnConstraints,
177+
required this.groupConstraints,
174178
required this.cardBuilder,
175179
this.footerBuilder,
176180
this.headerBuilder,
@@ -204,9 +208,7 @@ class _AppFlowyBoardContentState extends State<_AppFlowyBoardContent> {
204208
final reorderFlex = ReorderFlex(
205209
config: widget.reorderFlexConfig,
206210
scrollController: widget.scrollController,
207-
onDragStarted: widget.onDragStarted,
208211
onReorder: widget.onReorder,
209-
onDragEnded: widget.onDragEnded,
210212
dataSource: widget.dataController,
211213
direction: Axis.horizontal,
212214
interceptor: interceptor,
@@ -285,7 +287,7 @@ class _AppFlowyBoardContentState extends State<_AppFlowyBoardContent> {
285287

286288
widget.columnsState.addGroup(columnData.id, boardColumn);
287289
return ConstrainedBox(
288-
constraints: widget.columnConstraints,
290+
constraints: widget.groupConstraints,
289291
child: boardColumn,
290292
);
291293
},

frontend/app_flowy/packages/appflowy_board/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: appflowy_board
22
description: AppFlowyBoard is a board-style widget that consists of multi-groups. It supports drag and drop between different groups.
3-
version: 0.0.6
3+
version: 0.0.7
44
homepage: https://github.com/AppFlowy-IO/AppFlowy
55
repository: https://github.com/AppFlowy-IO/AppFlowy/tree/main/frontend/app_flowy/packages/appflowy_board
66

frontend/app_flowy/pubspec.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ packages:
2828
path: "packages/appflowy_board"
2929
relative: true
3030
source: path
31-
version: "0.0.6"
31+
version: "0.0.7"
3232
appflowy_editor:
3333
dependency: "direct main"
3434
description:

0 commit comments

Comments
 (0)