From 6275951f6680ffef481c3fc130e3ad46ab3afab2 Mon Sep 17 00:00:00 2001 From: Pavlo Aksonov Date: Thu, 1 Oct 2015 16:50:27 +0200 Subject: [PATCH] add 'footer' attribute to routes --- .idea/workspace.xml | 400 ++++++++++++++++++++++++++++++++++---------- Container.js | 16 ++ index.js | 16 ++ package.json | 8 +- 4 files changed, 344 insertions(+), 96 deletions(-) diff --git a/.idea/workspace.xml b/.idea/workspace.xml index e5acf5e61..ceb44ed6f 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,13 +2,7 @@ - - - - - - @@ -34,7 +28,27 @@ - + + + + + + + + + + + + + + + + + + + + + @@ -45,9 +59,7 @@ - - - + @@ -56,7 +68,7 @@ - + @@ -65,29 +77,36 @@ - - + + - - + + - + - + - + - + + + + + + + + @@ -95,7 +114,7 @@ - + @@ -112,16 +131,6 @@ - - - - - - - - - - @@ -146,9 +155,10 @@ @@ -160,10 +170,10 @@ - @@ -218,7 +228,7 @@ - + @@ -263,8 +277,9 @@ + - + - + + + + + + + + @@ -350,40 +372,175 @@ - + - + - - - - + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -391,23 +548,79 @@ - + - + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -415,7 +628,6 @@ - @@ -423,7 +635,6 @@ - @@ -431,7 +642,6 @@ - @@ -439,7 +649,6 @@ - @@ -447,7 +656,6 @@ - @@ -455,7 +663,6 @@ - @@ -463,15 +670,6 @@ - - - - - - - - - @@ -479,7 +677,6 @@ - @@ -487,7 +684,6 @@ - @@ -495,7 +691,6 @@ - @@ -503,9 +698,6 @@ - - - @@ -513,7 +705,6 @@ - @@ -521,9 +712,6 @@ - - - @@ -531,7 +719,6 @@ - @@ -561,34 +748,47 @@ - + - + - + - + + + + + + - + - + + + + + + + + + - - + + @@ -596,15 +796,31 @@ - + - + - - + + + + + + + + + + + + + + + + + + diff --git a/Container.js b/Container.js index 5ec959864..14e64f25e 100644 --- a/Container.js +++ b/Container.js @@ -71,6 +71,7 @@ class Container extends React.Component { renderScene(route, navigator) { var Component = route.component; var navBar = route.navigationBar; + var footer = route.footer; if (navBar) { navBar = React.addons.cloneWithProps(navBar, { @@ -78,6 +79,12 @@ class Container extends React.Component { route: route }); } + if (footer){ + footer = React.addons.cloneWithProps(footer, { + navigator: navigator, + route: route + }); + } var child = Component ? : React.Children.only(this.routes[route.name].children); @@ -92,6 +99,7 @@ class Container extends React.Component { {navBar} {child} + {footer} ) } @@ -104,10 +112,17 @@ class Container extends React.Component { var sceneConfig = Animations.None; // var sceneConfig = route.sceneConfig || schema.sceneConfig || Animations.None; var NavBar = route.navBar || schema.navBar; + var Footer = route.footer || schema.footer; + var navBar; if (NavBar){ navBar = } + + var footer; + if (Footer){ + footer =