Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposal document for v1.0 #5

Open
10 of 12 tasks
daadu opened this issue Apr 21, 2020 · 7 comments
Open
10 of 12 tasks

Proposal document for v1.0 #5

daadu opened this issue Apr 21, 2020 · 7 comments
Labels
epic Epic issue that tracks other issues
Milestone

Comments

@daadu
Copy link
Member

daadu commented Apr 21, 2020

This is the proposal document for 1.0 version of the package intended to discuss and finalise the APIs of the package.

List of Objectives

  1. provide easy and quick way to implement all the use cases of backdrop component as defined in Material Design Guideline
  2. implementations should assume defaults but be configurable and extendable by the user for any custom behaviour
  3. code examples of various use-cases should be provided
  4. proper API documentation should be added

APIs

To achieve the above-mentioned objectives following are the public classes that need to be implemented:

  • 1. Backdrop extends InheritedWidget : This class exposes BackdropScaffoldState for any widget down the tree using the convenient Backdrop.of(context). The BackdropScaffoldState in itself exposes some helper methods like fling, showBackLayer, showFrontLayer, underlying Scaffold widget, AnimationController etc.

  • 2. BackdropScaffold extends StatefulWidget : It is the backdrop equivalent to Scaffold widget. This is the main layout widget that implements the core behaviour of the backdrop. It should act as the entry point to implementing backdrop with the most basic use cases as default. Additional behaviours could be added to it using other widgets just like how appBar, drawer, bottomNavigationBar are added with Scaffold.

  • BackdropAppBar #6 3. BackdropAppBar extends StatefulWidget: It is the backdrop equivalent to AppBar widget. This widget should provide APIs to define the behaviour of the app bar of the backdrop - icon, title, actions, etc. Various app bar uses cases mentioned in the guideline should be configured using this widget.

  • 4. BackdropToggleButtonextends StatelessWidget : A convenient widget to drop in to fling the backdrop back and forth. This could be used in actions in BackdropAppBar to fling backdrop from the right side of the app bar.

  • 5. BackdropNavigationBackLayer extends StatefulWidget : It is the backdrop equivalent of BottomNavigationBar. A convenient widget to implement navigation pattern with the backdrop - using backLayer to display a list of items, tapping on which would display the corresponding widget in frontLayer. BackdropNavigationItem could be used to encapsulate the widget that needs to be displayed, just like how BottomNavigationBarItem is used. However, unlike BottomNavigationBar the UI of a list of items should be configurable by the user.

Other Tasks

Quick Links

@daadu daadu added the epic Epic issue that tracks other issues label Apr 21, 2020
@daadu daadu added this to the 1.0.0 milestone Apr 21, 2020
@daadu
Copy link
Member Author

daadu commented Apr 21, 2020

@daadu
Copy link
Member Author

daadu commented Apr 21, 2020

@all-contributors please add @daadu for Code, Ideas & Planning

@allcontributors
Copy link
Contributor

@daadu

I've put up a pull request to add @daadu! 🎉

@daadu
Copy link
Member Author

daadu commented Apr 21, 2020

@all-contributors please add @WieFel for Code, Documentation

@allcontributors
Copy link
Contributor

@daadu

I've put up a pull request to add @WieFel! 🎉

@WieFel
Copy link
Collaborator

WieFel commented May 24, 2020

@all-contributors please add @danielborges93 for bug,code

@daadu
Copy link
Member Author

daadu commented May 27, 2020

Congrats @WieFel - We have implemented all widgets planned. Give yourself a pat on your back!!

@daadu daadu changed the title Proposal document for 1.0 Proposal document for v1.0 Jun 4, 2020
@daadu daadu pinned this issue Jun 8, 2020
@fluttercommunity fluttercommunity locked as too heated and limited conversation to collaborators Jun 8, 2020
@fluttercommunity fluttercommunity unlocked this conversation Jun 8, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
epic Epic issue that tracks other issues
Projects
None yet
Development

No branches or pull requests

2 participants