Skip to content

Commit b532131

Browse files
committed
chore: fix dart doc warnings
1 parent 8f5569a commit b532131

File tree

16 files changed

+269
-200
lines changed

16 files changed

+269
-200
lines changed

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

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ part 'board_bloc.freezed.dart';
2222

2323
class BoardBloc extends Bloc<BoardEvent, BoardState> {
2424
final BoardDataController _gridDataController;
25-
late final AppFlowyBoardDataController boardController;
25+
late final AppFlowyBoardController boardController;
2626
final MoveRowFFIService _rowService;
2727
LinkedHashMap<String, GroupController> groupControllers = LinkedHashMap();
2828

@@ -34,7 +34,7 @@ class BoardBloc extends Bloc<BoardEvent, BoardState> {
3434
: _rowService = MoveRowFFIService(gridId: view.id),
3535
_gridDataController = BoardDataController(view: view),
3636
super(BoardState.initial(view.id)) {
37-
boardController = AppFlowyBoardDataController(
37+
boardController = AppFlowyBoardController(
3838
onMoveGroup: (
3939
fromColumnId,
4040
fromIndex,
@@ -165,10 +165,10 @@ class BoardBloc extends Bloc<BoardEvent, BoardState> {
165165
boardController.clear();
166166

167167
//
168-
List<AppFlowyBoardGroupData> columns = groups
168+
List<AppFlowyGroupData> columns = groups
169169
.where((group) => fieldController.getField(group.fieldId) != null)
170170
.map((group) {
171-
return AppFlowyBoardGroupData(
171+
return AppFlowyGroupData(
172172
id: group.groupId,
173173
name: group.desc,
174174
items: _buildRows(group),
@@ -350,7 +350,7 @@ class BoardColumnItem extends AppFlowyGroupItem {
350350

351351
class GroupControllerDelegateImpl extends GroupControllerDelegate {
352352
final GridFieldController fieldController;
353-
final AppFlowyBoardDataController controller;
353+
final AppFlowyBoardController controller;
354354
final void Function(String, RowPB, int?) onNewColumnItem;
355355

356356
GroupControllerDelegateImpl({

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

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ class BoardContent extends StatefulWidget {
6363

6464
class _BoardContentState extends State<BoardContent> {
6565
late ScrollController scrollController;
66-
late AFBoardScrollManager scrollManager;
66+
late AppFlowyBoardScrollManager scrollManager;
6767

6868
final config = AppFlowyBoardConfig(
6969
groupBackgroundColor: HexColor.fromHex('#F7F8FC'),
@@ -72,7 +72,7 @@ class _BoardContentState extends State<BoardContent> {
7272
@override
7373
void initState() {
7474
scrollController = ScrollController();
75-
scrollManager = AFBoardScrollManager();
75+
scrollManager = AppFlowyBoardScrollManager();
7676
super.initState();
7777
}
7878

@@ -104,7 +104,7 @@ class _BoardContentState extends State<BoardContent> {
104104
child: AppFlowyBoard(
105105
scrollManager: scrollManager,
106106
scrollController: scrollController,
107-
dataController: context.read<BoardBloc>().boardController,
107+
controller: context.read<BoardBloc>().boardController,
108108
headerBuilder: _buildHeader,
109109
footerBuilder: _buildFooter,
110110
cardBuilder: (_, column, columnItem) => _buildCard(
@@ -149,7 +149,7 @@ class _BoardContentState extends State<BoardContent> {
149149

150150
Widget _buildHeader(
151151
BuildContext context,
152-
AppFlowyBoardGroupData columnData,
152+
AppFlowyGroupData columnData,
153153
) {
154154
final boardCustomData = columnData.customData as BoardCustomData;
155155
return AppFlowyGroupHeader(
@@ -181,7 +181,7 @@ class _BoardContentState extends State<BoardContent> {
181181
);
182182
}
183183

184-
Widget _buildFooter(BuildContext context, AppFlowyBoardGroupData columnData) {
184+
Widget _buildFooter(BuildContext context, AppFlowyGroupData columnData) {
185185
final boardCustomData = columnData.customData as BoardCustomData;
186186
final group = boardCustomData.group;
187187

@@ -215,7 +215,7 @@ class _BoardContentState extends State<BoardContent> {
215215

216216
Widget _buildCard(
217217
BuildContext context,
218-
AppFlowyBoardGroupData column,
218+
AppFlowyGroupData column,
219219
AppFlowyGroupItem columnItem,
220220
) {
221221
final boardColumnItem = columnItem as BoardColumnItem;
@@ -242,7 +242,7 @@ class _BoardContentState extends State<BoardContent> {
242242
},
243243
);
244244

245-
return AppFlowyGroupItemCard(
245+
return AppFlowyGroupCard(
246246
key: ValueKey(columnItem.id),
247247
margin: config.cardPadding,
248248
decoration: _makeBoxDecoration(context),

frontend/app_flowy/packages/appflowy_board/README.md

Lines changed: 76 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -34,17 +34,83 @@ flutter pub add appflowy_board
3434
flutter pub get
3535
```
3636

37-
This will add a line like this to your package's pubspec.yaml (and run an implicit flutter pub get):
37+
This will add a line like this to your package's pubspec.yaml:
3838
```dart
3939
dependencies:
4040
appflowy_board: ^0.0.6
4141
```
4242

43-
## Create board
43+
## Create your first board
44+
45+
Initialize an `AppFlowyBoardController` for the board. It contains the data used by the board. You can
46+
register callbacks to receive the changes of the board.
47+
48+
```dart
49+
50+
final AppFlowyBoardController controller = AppFlowyBoardController(
51+
onMoveGroup: (fromGroupId, fromIndex, toGroupId, toIndex) {
52+
debugPrint('Move item from $fromIndex to $toIndex');
53+
},
54+
onMoveGroupItem: (groupId, fromIndex, toIndex) {
55+
debugPrint('Move $groupId:$fromIndex to $groupId:$toIndex');
56+
},
57+
onMoveGroupItemToGroup: (fromGroupId, fromIndex, toGroupId, toIndex) {
58+
debugPrint('Move $fromGroupId:$fromIndex to $toGroupId:$toIndex');
59+
},
60+
);
61+
```
62+
63+
Provide an initial value of the board by initializing the `AppFlowyGroupData`. It represents a group data and contains list of items. Each item displayed in the group requires to implement the `AppFlowyGroupItem` class.
64+
65+
```dart
66+
67+
void initState() {
68+
final group1 = AppFlowyGroupData(id: "To Do", items: [
69+
TextItem("Card 1"),
70+
TextItem("Card 2"),
71+
]);
72+
final group2 = AppFlowyGroupData(id: "In Progress", items: [
73+
TextItem("Card 3"),
74+
TextItem("Card 4"),
75+
]);
76+
77+
final group3 = AppFlowyGroupData(id: "Done", items: []);
78+
79+
controller.addGroup(group1);
80+
controller.addGroup(group2);
81+
controller.addGroup(group3);
82+
super.initState();
83+
}
84+
85+
class TextItem extends AppFlowyGroupItem {
86+
final String s;
87+
TextItem(this.s);
88+
89+
@override
90+
String get id => s;
91+
}
92+
93+
```
94+
95+
Finally, return a `AppFlowyBoard` widget in the build method.
4496

45-
Import the package in your Dart file:
4697
```dart
47-
import 'package:appflowy_board/appflowy_board.dart';
98+
99+
@override
100+
Widget build(BuildContext context) {
101+
return AppFlowyBoard(
102+
controller: controller,
103+
cardBuilder: (context, group, groupItem) {
104+
final textItem = groupItem as TextItem;
105+
return AppFlowyGroupCard(
106+
key: ObjectKey(textItem),
107+
child: Text(textItem.s),
108+
);
109+
},
110+
groupConstraints: const BoxConstraints.tightFor(width: 240),
111+
);
112+
}
113+
48114
```
49115

50116
## Usage Example
@@ -53,16 +119,14 @@ First, run main.dart to play with the demo.
53119

54120

55121
Second, let's delve into multi_board_list_example.dart to understand a few key components:
56-
* A Board widget is created via instantiating an AFBoard() object.
57-
* In the AFBoard() object, you can find:
58-
* AFBoardDataController, which is defined in board_data.dart, is feeded with prepopulated mock data. It also contains callback functions to materialize future user data.
59-
* Three builders: AppFlowyColumnHeader, AppFlowyColumnFooter, AppFlowyColumnItemCard. See below image for what they are used for.
60-
122+
* 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.
124+
* Three builders: AppFlowyBoardHeaderBuilder, AppFlowyBoardFooterBuilder, AppFlowyBoardCardBuilder. See below image for what they are used for.
61125

62126

63-
<!-- <p>
64-
<img src="https://github.com/AppFlowy-IO/AppFlowy/blob/main/frontend/app_flowy/packages/appflowy_board/example/gifs/appflowy_board_builders.jpg?raw=true" width="100%" title="AppFlowyBoard">
65-
</p> -->
127+
<p>
128+
<img src="https://github.com/AppFlowy-IO/AppFlowy/blob/main/frontend/app_flowy/packages/appflowy_board/example/gifs/appflowy_board_builders.jpg?raw=true" width="200" title="AppFlowyBoard">
129+
</p>
66130

67131
## Glossary
68132
Please refer to the API documentation.
@@ -74,6 +138,3 @@ Please look at [CONTRIBUTING.md](https://appflowy.gitbook.io/docs/essential-docu
74138

75139
## License
76140
Distributed under the AGPLv3 License. See [LICENSE](https://github.com/AppFlowy-IO/AppFlowy-Docs/blob/main/LICENSE) for more information.
77-
78-
79-
d

frontend/app_flowy/packages/appflowy_board/example/lib/multi_board_list_example.dart

Lines changed: 52 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -9,22 +9,21 @@ class MultiBoardListExample extends StatefulWidget {
99
}
1010

1111
class _MultiBoardListExampleState extends State<MultiBoardListExample> {
12-
final AppFlowyBoardDataController boardDataController =
13-
AppFlowyBoardDataController(
14-
onMoveGroup: (fromColumnId, fromIndex, toColumnId, toIndex) {
15-
// debugPrint('Move column from $fromIndex to $toIndex');
12+
final AppFlowyBoardController controller = AppFlowyBoardController(
13+
onMoveGroup: (fromGroupId, fromIndex, toGroupId, toIndex) {
14+
debugPrint('Move item from $fromIndex to $toIndex');
1615
},
17-
onMoveGroupItem: (columnId, fromIndex, toIndex) {
18-
// debugPrint('Move $columnId:$fromIndex to $columnId:$toIndex');
16+
onMoveGroupItem: (groupId, fromIndex, toIndex) {
17+
debugPrint('Move $groupId:$fromIndex to $groupId:$toIndex');
1918
},
20-
onMoveGroupItemToGroup: (fromColumnId, fromIndex, toColumnId, toIndex) {
21-
// debugPrint('Move $fromColumnId:$fromIndex to $toColumnId:$toIndex');
19+
onMoveGroupItemToGroup: (fromGroupId, fromIndex, toGroupId, toIndex) {
20+
debugPrint('Move $fromGroupId:$fromIndex to $toGroupId:$toIndex');
2221
},
2322
);
2423

2524
@override
2625
void initState() {
27-
List<AppFlowyGroupItem> a = [
26+
final group1 = AppFlowyGroupData(id: "To Do", name: "To Do", items: [
2827
TextItem("Card 1"),
2928
TextItem("Card 2"),
3029
RichTextItem(title: "Card 3", subtitle: 'Aug 1, 2020 4:05 PM'),
@@ -34,11 +33,9 @@ class _MultiBoardListExampleState extends State<MultiBoardListExample> {
3433
RichTextItem(title: "Card 7", subtitle: 'Aug 1, 2020 4:05 PM'),
3534
RichTextItem(title: "Card 8", subtitle: 'Aug 1, 2020 4:05 PM'),
3635
TextItem("Card 9"),
37-
];
36+
]);
3837

39-
final column1 =
40-
AppFlowyBoardGroupData(id: "To Do", name: "To Do", items: a);
41-
final column2 = AppFlowyBoardGroupData(
38+
final group2 = AppFlowyGroupData(
4239
id: "In Progress",
4340
name: "In Progress",
4441
items: <AppFlowyGroupItem>[
@@ -47,12 +44,12 @@ class _MultiBoardListExampleState extends State<MultiBoardListExample> {
4744
],
4845
);
4946

50-
final column3 = AppFlowyBoardGroupData(
47+
final group3 = AppFlowyGroupData(
5148
id: "Done", name: "Done", items: <AppFlowyGroupItem>[]);
5249

53-
boardDataController.addGroup(column1);
54-
boardDataController.addGroup(column2);
55-
boardDataController.addGroup(column3);
50+
controller.addGroup(group1);
51+
controller.addGroup(group2);
52+
controller.addGroup(group3);
5653

5754
super.initState();
5855
}
@@ -62,54 +59,45 @@ class _MultiBoardListExampleState extends State<MultiBoardListExample> {
6259
final config = AppFlowyBoardConfig(
6360
groupBackgroundColor: HexColor.fromHex('#F7F8FC'),
6461
);
65-
return Container(
66-
color: Colors.white,
67-
child: Padding(
68-
padding: const EdgeInsets.symmetric(vertical: 30, horizontal: 20),
69-
child: AppFlowyBoard(
70-
dataController: boardDataController,
71-
footerBuilder: (context, columnData) {
72-
return AppFlowyGroupFooter(
73-
icon: const Icon(Icons.add, size: 20),
74-
title: const Text('New'),
75-
height: 50,
76-
margin: config.groupItemPadding,
77-
);
78-
},
79-
headerBuilder: (context, columnData) {
80-
return AppFlowyGroupHeader(
81-
icon: const Icon(Icons.lightbulb_circle),
82-
title: SizedBox(
83-
width: 60,
84-
child: TextField(
85-
controller: TextEditingController()
86-
..text = columnData.headerData.groupName,
87-
onSubmitted: (val) {
88-
boardDataController
89-
.getGroupController(columnData.headerData.groupId)!
90-
.updateGroupName(val);
91-
},
92-
),
62+
return AppFlowyBoard(
63+
controller: controller,
64+
cardBuilder: (context, group, groupItem) {
65+
return AppFlowyGroupCard(
66+
key: ValueKey(groupItem.id),
67+
child: _buildCard(groupItem),
68+
);
69+
},
70+
footerBuilder: (context, columnData) {
71+
return AppFlowyGroupFooter(
72+
icon: const Icon(Icons.add, size: 20),
73+
title: const Text('New'),
74+
height: 50,
75+
margin: config.groupItemPadding,
76+
);
77+
},
78+
headerBuilder: (context, columnData) {
79+
return AppFlowyGroupHeader(
80+
icon: const Icon(Icons.lightbulb_circle),
81+
title: SizedBox(
82+
width: 60,
83+
child: TextField(
84+
controller: TextEditingController()
85+
..text = columnData.headerData.groupName,
86+
onSubmitted: (val) {
87+
controller
88+
.getGroupController(columnData.headerData.groupId)!
89+
.updateGroupName(val);
90+
},
9391
),
94-
addIcon: const Icon(Icons.add, size: 20),
95-
moreIcon: const Icon(Icons.more_horiz, size: 20),
96-
height: 50,
97-
margin: config.groupItemPadding,
98-
);
99-
},
100-
cardBuilder: (context, column, columnItem) {
101-
return AppFlowyGroupItemCard(
102-
key: ValueKey(columnItem.id),
103-
child: _buildCard(columnItem),
104-
);
105-
},
106-
groupConstraints: const BoxConstraints.tightFor(width: 240),
107-
config: AppFlowyBoardConfig(
108-
groupBackgroundColor: HexColor.fromHex('#F7F8FC'),
109-
),
110-
),
111-
),
112-
);
92+
),
93+
addIcon: const Icon(Icons.add, size: 20),
94+
moreIcon: const Icon(Icons.more_horiz, size: 20),
95+
height: 50,
96+
margin: config.groupItemPadding,
97+
);
98+
},
99+
groupConstraints: const BoxConstraints.tightFor(width: 240),
100+
config: config);
113101
}
114102

115103
Widget _buildCard(AppFlowyGroupItem item) {

frontend/app_flowy/packages/appflowy_board/example/lib/single_board_list_example.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@ class SingleBoardListExample extends StatefulWidget {
99
}
1010

1111
class _SingleBoardListExampleState extends State<SingleBoardListExample> {
12-
final AppFlowyBoardDataController boardData = AppFlowyBoardDataController();
12+
final AppFlowyBoardController boardData = AppFlowyBoardController();
1313

1414
@override
1515
void initState() {
16-
final column = AppFlowyBoardGroupData(
16+
final column = AppFlowyGroupData(
1717
id: "1",
1818
name: "1",
1919
items: [
@@ -31,7 +31,7 @@ class _SingleBoardListExampleState extends State<SingleBoardListExample> {
3131
@override
3232
Widget build(BuildContext context) {
3333
return AppFlowyBoard(
34-
dataController: boardData,
34+
controller: boardData,
3535
cardBuilder: (context, column, columnItem) {
3636
return _RowWidget(
3737
item: columnItem as TextItem, key: ObjectKey(columnItem));

0 commit comments

Comments
 (0)