/** * The examples provided by Facebook are for non-commercial testing and * evaluation purposes only. * * Facebook reserves all rights not expressly granted. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ 'use strict'; var React = require('react-native'); var { Navigator, StyleSheet, ScrollView, Text, TouchableHighlight, TouchableOpacity } = React; var _getRandomRoute = function() { return { title: '#' + Math.ceil(Math.random() * 1000), }; }; class NavButton extends React.Component { render() { return ( {this.props.text} ); } } var BreadcrumbNavSample = React.createClass({ componentWillMount: function() { this._navBarRouteMapper = { rightContentForRoute: function(route, navigator) { return null; }, titleContentForRoute: function(route, navigator) { return ( navigator.push(_getRandomRoute())}> {route.title} ); }, iconForRoute: function(route, navigator) { return ( { navigator.popToRoute(route); }} style={styles.crumbIconPlaceholder} /> ); }, separatorForRoute: function(route, navigator) { return ( ); } }; }, _renderScene: function(route, navigator) { return ( { navigator.push(_getRandomRoute()); }} text="Push" /> { navigator.immediatelyResetRouteStack([_getRandomRoute(), _getRandomRoute()]); }} text="Reset w/ 2 scenes" /> { navigator.popToTop(); }} text="Pop to top" /> { navigator.replace(_getRandomRoute()); }} text="Replace" /> { this.props.navigator.pop(); }} text="Close breadcrumb example" /> ); }, render: function() { return ( } /> ); }, }); var styles = StyleSheet.create({ scene: { paddingTop: 50, flex: 1, }, button: { backgroundColor: 'white', padding: 15, borderBottomWidth: StyleSheet.hairlineWidth, borderBottomColor: '#CDCDCD', }, buttonText: { fontSize: 17, fontWeight: '500', }, container: { overflow: 'hidden', backgroundColor: '#dddddd', flex: 1, }, titleText: { fontSize: 18, color: '#666666', textAlign: 'center', fontWeight: 'bold', lineHeight: 32, }, crumbIconPlaceholder: { flex: 1, backgroundColor: '#666666', }, crumbSeparatorPlaceholder: { flex: 1, backgroundColor: '#aaaaaa', }, }); module.exports = BreadcrumbNavSample;