Giter Site home page Giter Site logo

codmajik / fluro Goto Github PK

View Code? Open in Web Editor NEW

This project forked from svenschoene/fluro

0.0 0.0 0.0 1.03 MB

Fluro is a Flutter routing library that adds flexible routing options like wildcards, named parameters and clear route definitions.

Home Page: https://theyakka.com

License: Other

Kotlin 2.41% Java 1.17% Ruby 3.73% Objective-C 6.20% Dart 85.16% Shell 1.33%

fluro's Introduction



The brightest, hippest, coolest router for Flutter.

Version Build Status Coverage

Version 1.6.0 (and higher) requires Flutter >= 1.12.0 and Dart >= 2.6.0. If you're running an older version of Flutter, use a version < 1.6.0.

Features

  • Simple route navigation
  • Function handlers (map to a function instead of a route)
  • Wildcard parameter matching
  • Querystring parameter parsing
  • Common transitions built-in
  • Simple custom transition creation

Version compatability

See CHANGELOG for all breaking (and non-breaking) changes.

Getting started

You should ensure that you add the router as a dependency in your flutter project.

dependencies:
 fluro: "^1.6.3"

You can also reference the git repo directly if you want:

dependencies:
 fluro:
   git: git://github.com/theyakka/fluro.git

You should then run flutter packages upgrade or update your packages in IntelliJ.

Example Project

There is a pretty sweet example project in the example folder. Check it out. Otherwise, keep reading to get up and running.

Setting up

First, you should define a new Router object by initializing it as such:

final router = Router();

It may be convenient for you to store the router globally/statically so that you can access the router in other areas in your application.

After instantiating the router, you will need to define your routes and your route handlers:

var usersHandler = Handler(handlerFunc: (BuildContext context, Map<String, dynamic> params) {
  return UsersScreen(params["id"][0]);
});

void defineRoutes(Router router) {
  router.define("/users/:id", handler: usersHandler);

  // it is also possible to define the route transition to use
  // router.define("users/:id", handler: usersHandler, transitionType: TransitionType.inFromLeft);
}

In the above example, the router will intercept a route such as /users/1234 and route the application to the UsersScreen passing the value 1234 as a parameter to that screen.

Navigating

You can use the Router with the MaterialApp.onGenerateRoute parameter via the Router.generator function. To do so, pass the function reference to the onGenerate parameter like: onGenerateRoute: router.generator.

You can then use Navigator.push and the flutter routing mechanism will match the routes for you.

You can also manually push to a route yourself. To do so:

router.navigateTo(context, "/users/1234", transition: TransitionType.fadeIn);

Fluro is a Yakka original.

fluro's People

Contributors

alardizabal avatar alexays avatar andryfailli avatar bbb avatar bcko avatar codmajik avatar collinjackson avatar falkorichter avatar idanaiziknissim avatar jalpedersen avatar jngbng avatar jonsamwell avatar kevinthegray avatar lucamtudor avatar lukef avatar lukepighetti avatar miolin avatar mit-mit avatar namiwang avatar sethladd avatar svenschoene avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.