Advertisement
Guest User

Untitled

a guest
Jul 25th, 2016
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.72 KB | None | 0 0
  1. renderScene(route, navigator) {
  2. if(route.name == 'Login') {
  3. return <Login navigator={navigator} {...route.passProps} />
  4. }
  5. if(route.name == 'Approvals') {
  6. return <Approvals navigator={navigator} {...route.passProps} />
  7. }
  8. if(route.name == 'Pending') {
  9. return <Pending navigator={navigator} {...route.passProps} />
  10. }
  11. if(route.name == 'Details') {
  12. return <Details navigator={navigator} {...route.passProps} />
  13. }
  14. }
  15.  
  16. render() {
  17. return (
  18. <Navigator
  19. style={{ flex:1 }}
  20. initialRoute={{ name: 'Login' }}
  21. renderScene={ this.renderScene } />
  22. )
  23. }
  24. };
  25.  
  26. class Approvals extends Component{
  27. constructor(props){
  28. super(props);
  29. this.state={
  30. page: 'Pending'
  31. }
  32. }
  33. render(){
  34. if(this.state.page==="Pending")
  35.  
  36. return (
  37. <View>
  38. <View style={styles.strip}>
  39. <Image style={{width:50, height:30,padding:10,top:5}} source={require('./drawable/drawable/asap.png')}/>
  40. <Text style={{fontSize:20,color:'white',bottom:20,left:60,padding:10}}>Approvals</Text>
  41. </View>
  42. <View style={{top:30}}>
  43. <Tabs
  44. selected={this.state.page}
  45. style={styles.tabbar}
  46. selectedStyle={{color:'red'}} onSelect={el=>this.setState({page:el.props.name})}
  47. >
  48. <Text name="Pending">Pending</Text>
  49. <Text name="Closed">Closed</Text>
  50. </Tabs>
  51. </View>
  52. <View style={{top:60}}>
  53.  
  54. <Pending />
  55. </View>
  56. </View>
  57.  
  58. );
  59. if(this.state.page==="Closed")
  60. return (
  61. <View>
  62. <View style={styles.strip}>
  63. <Image style={{width:50, height:30,padding:10,top:5}} source={require('./drawable/drawable/asap.png')}/>
  64. <Text style={{fontSize:20,color:'white',bottom:20,left:60,padding:10}}>Approvals</Text>
  65. </View>
  66. <View style={{top:30}}>
  67. <Tabs
  68. selected={this.state.page}
  69. style={styles.tabbar}
  70. selectedStyle={{color:'red'}} onSelect={el=>this.setState({page:el.props.name})}
  71. >
  72. <Text name="Pending">Pending</Text>
  73. <Text name="Closed">Closed</Text>
  74. </Tabs>
  75. </View>
  76. <View style={{top:60}}>
  77. <Text style={{top:60}}>CodeSharing App</Text>
  78. <Text>{this.state.page}</Text>
  79.  
  80. </View>
  81. </View>
  82.  
  83. );
  84.  
  85. }
  86. }
  87.  
  88. class Login extends Component{
  89. constructor(props) {
  90. super(props);
  91. this.state = {
  92. username: '',
  93. password :''
  94.  
  95. };
  96. }
  97. async _onValueChange(item, selectedValue) {
  98. try {
  99. await AsyncStorage.setItem(item, selectedValue);
  100. } catch (error) {
  101. console.log('AsyncStorage error: ' + error.message);
  102. }
  103. }
  104.  
  105.  
  106.  
  107.  
  108. _userLogin() {
  109. var username=this.state.username;
  110. var password=this.state.password;
  111. if (username && password) { // if validation fails, value will be null
  112. fetch(" http://asaptest-sas71.rhcloud.com/login", {
  113. method: "POST",
  114. headers: {
  115. 'Accept': 'application/json',
  116. 'Content-Type': 'application/json'
  117. },
  118. body: JSON.stringify({
  119. username: this.state.username,
  120. password: this.state.password,
  121. })
  122. })
  123. .then((response) => response.json())
  124. .then((responseData) => {
  125. this._onValueChange(STORAGE_KEY, responseData.token)
  126. if(responseData.token){
  127. this.props.navigator.push({name:'Approvals'});
  128. }
  129.  
  130. })
  131. .done();
  132. } else{
  133. alert("Enter the details")
  134. }
  135. }
  136.  
  137. render() {
  138. return (
  139. <View style={styles.container}>
  140.  
  141. <View style={styles.backdropView} needsOffscreenAlphaCompositing={true}>
  142. <Image style={{width:150, height:100,bottom:60}} source={require('./drawable/drawable/asap.png')}/>
  143.  
  144.  
  145.  
  146. <View style={styles.row}>
  147. <TextInput
  148. style={{width:200,height: 40,marginTop:20,backgroundColor: "white"}}
  149. placeholder="First Name!"
  150. onChangeText={(username) => this.setState({username})}
  151. />
  152. <TextInput
  153. style={{height: 40,marginTop:20,backgroundColor: "white"}}
  154. placeholder="First Name!"
  155. onChangeText={(password) => this.setState({password})}
  156. />
  157. </View>
  158. <View style={styles.row,{backgroundColor:'rgba(255,255,255,.5)',marginTop:20, height:30}}>
  159. <TouchableHighlight style={{ height: 30, width:200}} onPress={this._userLogin.bind(this)} underlayColor='#99d9f4'>
  160. <Text style={styles.buttonText}>Login</Text>
  161. </TouchableHighlight>
  162. </View>
  163. </View>
  164. </View>
  165. );
  166. }
  167. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement