react-native/Examples/UIExplorer/UIExplorerApp.ios.js

89 lines
2.4 KiB
JavaScript
Raw Normal View History

2015-01-29 17:10:49 -08:00
/**
2015-03-26 18:24:15 +00:00
* The examples provided by Facebook are for non-commercial testing and
* evaluation purposes only.
*
2015-03-26 18:24:15 +00:00
* 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.
2015-01-29 17:10:49 -08:00
*
* @providesModule UIExplorerApp
*/
'use strict';
const React = require('react-native');
const UIExplorerList = require('./UIExplorerList.ios');
const SetPropertiesExampleApp = require('./SetPropertiesExampleApp');
const RootViewSizeFlexibilityExampleApp = require('./RootViewSizeFlexibilityExampleApp');
const {
AppRegistry,
2015-01-29 17:10:49 -08:00
NavigatorIOS,
StyleSheet,
View,
StatusBar,
2015-01-29 17:10:49 -08:00
} = React;
class UIExplorerApp extends React.Component {
constructor(props) {
super(props);
this.state = {
2015-03-24 19:34:12 -07:00
openExternalExample: (null: ?React.Component),
};
}
2015-03-24 19:34:12 -07:00
render() {
2015-03-24 19:34:12 -07:00
if (this.state.openExternalExample) {
const Example = this.state.openExternalExample;
2015-03-24 19:34:12 -07:00
return (
<Example
onExampleExit={() => {
this.setState({ openExternalExample: null, });
}}
/>
);
}
return (
<View style={styles.container}>
<StatusBar barStyle="default" />
<NavigatorIOS
style={styles.container}
initialRoute={{
title: 'UIExplorer',
component: UIExplorerList,
passProps: {
onExternalExampleRequested: (example) => {
this.setState({ openExternalExample: example, });
},
}
}}
itemWrapperStyle={styles.itemWrapper}
tintColor="#008888"
/>
</View>
);
2015-01-29 17:10:49 -08:00
}
}
const styles = StyleSheet.create({
2015-01-29 17:10:49 -08:00
container: {
flex: 1,
},
itemWrapper: {
backgroundColor: '#eaeaea',
},
});
AppRegistry.registerComponent('SetPropertiesExampleApp', () => SetPropertiesExampleApp);
AppRegistry.registerComponent('RootViewSizeFlexibilityExampleApp', () => RootViewSizeFlexibilityExampleApp);
AppRegistry.registerComponent('UIExplorerApp', () => UIExplorerApp);
UIExplorerList.registerComponents();
2015-01-29 17:10:49 -08:00
module.exports = UIExplorerApp;