From e3d0e7c871698ade139a431b7e178e9998d7f00d Mon Sep 17 00:00:00 2001 From: annie Date: Mon, 5 Sep 2022 17:58:53 +0800 Subject: [PATCH] docs: readme for appflowy_board --- .../board/presentation/board_page.dart | 2 +- .../packages/appflowy_board/README.md | 132 ++++++++---------- .../example/gifs/appflowy_board_builders.jpg | Bin 0 -> 88814 bytes .../example/lib/multi_board_list_example.dart | 2 +- .../appflowy_board/lib/src/widgets/board.dart | 6 +- 5 files changed, 63 insertions(+), 79 deletions(-) create mode 100644 frontend/app_flowy/packages/appflowy_board/example/gifs/appflowy_board_builders.jpg diff --git a/frontend/app_flowy/lib/plugins/board/presentation/board_page.dart b/frontend/app_flowy/lib/plugins/board/presentation/board_page.dart index 0fd29867c6..233917ec8c 100644 --- a/frontend/app_flowy/lib/plugins/board/presentation/board_page.dart +++ b/frontend/app_flowy/lib/plugins/board/presentation/board_page.dart @@ -106,7 +106,7 @@ class _BoardContentState extends State { scrollController: scrollController, dataController: context.read().boardController, headerBuilder: _buildHeader, - footBuilder: _buildFooter, + footerBuilder: _buildFooter, cardBuilder: (_, column, columnItem) => _buildCard( context, column, diff --git a/frontend/app_flowy/packages/appflowy_board/README.md b/frontend/app_flowy/packages/appflowy_board/README.md index 38561d13e3..8da1064699 100644 --- a/frontend/app_flowy/packages/appflowy_board/README.md +++ b/frontend/app_flowy/packages/appflowy_board/README.md @@ -1,87 +1,71 @@ # appflowy_board -The **appflowy_board** is a package that is used in [AppFlowy](https://github.com/AppFlowy-IO/AppFlowy). For the moment, this package is iterated very fast. +

AppFlowy Board

+

A customizable and draggable Kanban Board widget for Flutter

-**appflowy_board** will be a standard git repository when it becomes stable. -## Getting Started +

+ Discord • + Twitter +

-

- +

+## Intro + +appflowy_board is a customizable and draggable Kanban Board widget for Flutter. +You can use it to create a Kanban Board tool like those in Trello. + +Check out [AppFlowy](https://github.com/AppFlowy-IO/AppFlowy) to see how appflowy_board is used to build a BoardView database. +

+ +

+ + +## Getting Started +Add the AppFlowy Board [Flutter package](https://docs.flutter.dev/development/packages-and-plugins/using-packages) to your environment. + +With Flutter: ```dart -@override - void initState() { - final column1 = BoardColumnData(id: "To Do", items: [ - TextItem("Card 1"), - TextItem("Card 2"), - TextItem("Card 3"), - TextItem("Card 4"), - ]); - final column2 = BoardColumnData(id: "In Progress", items: [ - TextItem("Card 5"), - TextItem("Card 6"), - ]); +flutter pub add appflowy_board +``` - final column3 = BoardColumnData(id: "Done", items: []); +This will add a line like this to your package's pubspec.yaml (and run an implicit flutter pub get): +```dart +dependencies: + appflowy_board: ^0.0.6 +``` + +Import the package in your Dart file: +```dart +import 'package:appflowy_board/appflowy_board.dart'; +``` + +## Usage Example +To quickly grasp how it can be used, look at the /example/lib folder. +First, run main.dart to play with the demo. + +Second, let's delve into multi_board_list_example.dart to understand a few key components: +* A Board widget is created via instantiating an AFBoard() object. +* In the AFBoard() object, you can find: + * AFBoardDataController, which is defined in board_data.dart, is feeded with prepopulated mock data. It also contains callback functions to materialize future user data. + * Three builders: AppFlowyColumnHeader, AppFlowyColumnFooter, AppFlowyColumnItemCard. See below image for what they are used for. +

+ +

+ +## Glossary +Please refer to the API documentation. + +## Contributing +Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated. + +Please look at [CONTRIBUTING.md](https://appflowy.gitbook.io/docs/essential-documentation/contribute-to-appflowy/contributing-to-appflowy) for details. + +## License +Distributed under the AGPLv3 License. See [LICENSE](https://github.com/AppFlowy-IO/AppFlowy-Docs/blob/main/LICENSE) for more information. - boardDataController.addColumn(column1); - boardDataController.addColumn(column2); - boardDataController.addColumn(column3); - super.initState(); - } - @override - Widget build(BuildContext context) { - final config = BoardConfig( - columnBackgroundColor: HexColor.fromHex('#F7F8FC'), - ); - return Container( - color: Colors.white, - child: Padding( - padding: const EdgeInsets.symmetric(vertical: 30, horizontal: 20), - child: Board( - dataController: boardDataController, - footBuilder: (context, columnData) { - return AppFlowyColumnFooter( - icon: const Icon(Icons.add, size: 20), - title: const Text('New'), - height: 50, - margin: config.columnItemPadding, - ); - }, - headerBuilder: (context, columnData) { - return AppFlowyColumnHeader( - icon: const Icon(Icons.lightbulb_circle), - title: Text(columnData.id), - addIcon: const Icon(Icons.add, size: 20), - moreIcon: const Icon(Icons.more_horiz, size: 20), - height: 50, - margin: config.columnItemPadding, - ); - }, - cardBuilder: (context, item) { - final textItem = item as TextItem; - return AppFlowyColumnItemCard( - key: ObjectKey(item), - child: Align( - alignment: Alignment.centerLeft, - child: Padding( - padding: const EdgeInsets.symmetric(horizontal: 20), - child: Text(textItem.s), - ), - ), - ); - }, - columnConstraints: const BoxConstraints.tightFor(width: 240), - config: BoardConfig( - columnBackgroundColor: HexColor.fromHex('#F7F8FC'), - ), - ), - ), - ); - } -``` \ No newline at end of file diff --git a/frontend/app_flowy/packages/appflowy_board/example/gifs/appflowy_board_builders.jpg b/frontend/app_flowy/packages/appflowy_board/example/gifs/appflowy_board_builders.jpg new file mode 100644 index 0000000000000000000000000000000000000000..76a9fb67f83d4d468841178c2a1bc0aca1f128b2 GIT binary patch literal 88814 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�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 literal 0 HcmV?d00001 diff --git a/frontend/app_flowy/packages/appflowy_board/example/lib/multi_board_list_example.dart b/frontend/app_flowy/packages/appflowy_board/example/lib/multi_board_list_example.dart index 1decf21063..c0fc62f8e2 100644 --- a/frontend/app_flowy/packages/appflowy_board/example/lib/multi_board_list_example.dart +++ b/frontend/app_flowy/packages/appflowy_board/example/lib/multi_board_list_example.dart @@ -66,7 +66,7 @@ class _MultiBoardListExampleState extends State { padding: const EdgeInsets.symmetric(vertical: 30, horizontal: 20), child: AFBoard( dataController: boardDataController, - footBuilder: (context, columnData) { + footerBuilder: (context, columnData) { return AppFlowyColumnFooter( icon: const Icon(Icons.add, size: 20), title: const Text('New'), diff --git a/frontend/app_flowy/packages/appflowy_board/lib/src/widgets/board.dart b/frontend/app_flowy/packages/appflowy_board/lib/src/widgets/board.dart index a565838da4..96874a1425 100644 --- a/frontend/app_flowy/packages/appflowy_board/lib/src/widgets/board.dart +++ b/frontend/app_flowy/packages/appflowy_board/lib/src/widgets/board.dart @@ -56,7 +56,7 @@ class AFBoard extends StatelessWidget { final AFBoardColumnHeaderBuilder? headerBuilder; /// - final AFBoardColumnFooterBuilder? footBuilder; + final AFBoardColumnFooterBuilder? footerBuilder; /// final AFBoardDataController dataController; @@ -78,7 +78,7 @@ class AFBoard extends StatelessWidget { required this.dataController, required this.cardBuilder, this.background, - this.footBuilder, + this.footerBuilder, this.headerBuilder, this.scrollController, this.scrollManager, @@ -112,7 +112,7 @@ class AFBoard extends StatelessWidget { delegate: phantomController, columnConstraints: columnConstraints, cardBuilder: cardBuilder, - footBuilder: footBuilder, + footBuilder: footerBuilder, headerBuilder: headerBuilder, phantomController: phantomController, onReorder: dataController.moveColumn,