Commit cc76b904 authored by Collin Jackson's avatar Collin Jackson

Add back/forward history to navigation

R=abarth@chromium.org, abarth, hixie

Review URL: https://codereview.chromium.org/1181773006.
parent db90d5f0
......@@ -4,28 +4,69 @@
import 'package:sky/widgets/basic.dart';
import 'package:sky/widgets/navigator.dart';
import 'package:sky/widgets/transition.dart';
import 'package:sky/widgets/raised_button.dart';
List<Route> routes = [
new Route(
name: 'safety',
builder: (navigator) => new RaisedButton(
child: new Text('PRESS FORWARD'),
onPressed: () => navigator.pushNamedRoute('adventure')
name: 'home',
builder: (navigator) => new Container(
padding: const EdgeDims.all(20.0),
decoration: new BoxDecoration(backgroundColor: const Color(0xFFCCCCCC)),
child: new Block([
new Text("You are at home"),
new RaisedButton(
key: 'b',
child: new Text('GO SHOPPING'),
onPressed: () => navigator.pushNamed('shopping')
),
new RaisedButton(
key: 'a',
child: new Text('START ADVENTURE'),
onPressed: () => navigator.pushNamed('adventure')
)
])
)
),
new Route(
name: 'shopping',
builder: (navigator) => new Container(
padding: const EdgeDims.all(20.0),
decoration: new BoxDecoration(backgroundColor: const Color(0xFFBF5FFF)),
child: new Block([
new Text("Village Shop"),
new RaisedButton(
key: 'a',
child: new Text('RETURN HOME'),
onPressed: () => navigator.back()
),
new RaisedButton(
key: 'b',
child: new Text('GO TO DUNGEON'),
onPressed: () => navigator.push(routes[2])
)
])
)
),
new Route(
name: 'adventure',
builder: (navigator) => new RaisedButton(
child: new Text('NO WAIT! GO BACK!'),
onPressed: () => navigator.pushRoute(routes[0])
builder: (navigator) => new Container(
padding: const EdgeDims.all(20.0),
decoration: new BoxDecoration(backgroundColor: const Color(0xFFDC143C)),
child: new Block([
new Text("Monster's Lair"),
new RaisedButton(
child: new Text('NO WAIT! GO BACK!'),
onPressed: () => navigator.pop()
)
])
)
)
];
class NavigationExampleApp extends App {
UINode build() {
return new Navigator(routes: routes);
Widget build() {
return new Flex([new Navigator(routes: routes)]);
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment