| 
									
										
										
										
											2020-03-20 18:28:22 +00:00
										 |  |  | import React, { Component, PureComponent } from 'react'; | 
					
						
							| 
									
										
										
										
											2019-06-16 13:09:54 +00:00
										 |  |  | import PropTypes from 'prop-types'; | 
					
						
							| 
									
										
										
										
											2020-03-20 18:28:22 +00:00
										 |  |  | import { StyleSheet, Text, View, FlatList } from 'react-native'; | 
					
						
							|  |  |  | import { responsiveFontSize, responsiveWidth, responsiveHeight } from 'react-native-responsive-dimensions'; | 
					
						
							| 
									
										
										
										
											2019-06-16 13:09:54 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-20 18:28:22 +00:00
										 |  |  | export class DrawerItem extends React.PureComponent { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |      render() { | 
					
						
							|  |  |  |           return ( | 
					
						
							|  |  |  |                <View style={style.content}> | 
					
						
							|  |  |  |                     <Text style={style.title}>{this.props.title}</Text> | 
					
						
							|  |  |  |                     <Text style={style.description}>{this.props.description}</Text> | 
					
						
							|  |  |  |                     <View style={style.timeContent}> | 
					
						
							|  |  |  |                          <Text style={style.time}>{this.props.time}</Text> | 
					
						
							|  |  |  |                     </View> | 
					
						
							|  |  |  |                     <View style={style.bottomSeparator} /> | 
					
						
							|  |  |  |                </View> | 
					
						
							|  |  |  |           ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |      } | 
					
						
							| 
									
										
										
										
											2019-06-16 13:09:54 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2020-03-20 18:28:22 +00:00
										 |  |  | export class DrawerListItem extends PureComponent { | 
					
						
							|  |  |  |      state = { selected: (new Map(): Map<string, boolean>) }; | 
					
						
							| 
									
										
										
										
											2019-06-16 13:09:54 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-20 18:28:22 +00:00
										 |  |  |      _keyExtractor = (item, index) => item.id; | 
					
						
							| 
									
										
										
										
											2019-06-16 13:09:54 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-20 18:28:22 +00:00
										 |  |  |      _onPressItem = (id: string) => { | 
					
						
							|  |  |  |           this.setState((state) => { | 
					
						
							|  |  |  |                const selected = new Map(state.selected); | 
					
						
							|  |  |  |                selected.set(id, !selected.get(id)); // toggle
 | 
					
						
							|  |  |  |                return { selected }; | 
					
						
							|  |  |  |           }); | 
					
						
							|  |  |  |      }; | 
					
						
							|  |  |  |      _renderItem = ({ item }) => ( | 
					
						
							|  |  |  |           <HistoryItem | 
					
						
							|  |  |  |                title={item.title} | 
					
						
							|  |  |  |                description={item.description} | 
					
						
							|  |  |  |                time={item.time} | 
					
						
							|  |  |  |           /> | 
					
						
							|  |  |  |      ); | 
					
						
							| 
									
										
										
										
											2019-06-16 13:09:54 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-20 18:28:22 +00:00
										 |  |  |      render() { | 
					
						
							|  |  |  |           return ( | 
					
						
							|  |  |  |                <FlatList | 
					
						
							|  |  |  |                     data={[{ title: 'titre de la demande', description: 'test description de la demande', time: 'Hier' }, | 
					
						
							|  |  |  |                     { title: 'titre de la demande', description: 'test description de la demande', time: 'Hier' }, | 
					
						
							|  |  |  |                     { title: 'titre de la demande', description: 'test description de la demande', time: 'Hier' }, | 
					
						
							|  |  |  |                     { title: 'titre de la demande', description: 'test description de la demande', time: 'Hier' }, | 
					
						
							|  |  |  |                     { title: 'titre de la demande', description: 'test description de la demande', time: 'Hier' }, | 
					
						
							|  |  |  |                     { title: 'titre de la demande', description: 'test description de la demande', time: 'Hier' }, | 
					
						
							|  |  |  |                     { title: 'titre de la demande', description: 'test description de la demande', time: 'Hier' }, | 
					
						
							|  |  |  |                     { title: 'titre de la demande', description: 'test description de la demande', time: 'Hier' }, | 
					
						
							|  |  |  |                     { title: 'titre de la demande', description: 'test description de la demande', time: 'Hier' }, | 
					
						
							|  |  |  |                     { title: 'titre de la demande', description: 'test description de la demande', time: 'Hier' }, | 
					
						
							|  |  |  |                     ]} | 
					
						
							|  |  |  |                     extraData={this.state} | 
					
						
							|  |  |  |                     keyExtractor={this._keyExtractor} | 
					
						
							|  |  |  |                     renderItem={this._renderItem} | 
					
						
							|  |  |  |                /> | 
					
						
							|  |  |  |           ); | 
					
						
							|  |  |  |      } | 
					
						
							| 
									
										
										
										
											2019-06-16 13:09:54 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-20 18:28:22 +00:00
										 |  |  | const style = StyleSheet.create({ | 
					
						
							|  |  |  |      content: { | 
					
						
							|  |  |  |           width: responsiveWidth(100), | 
					
						
							|  |  |  |           height: responsiveHeight(12), | 
					
						
							|  |  |  |           borderBottomColor: '#FFFFFF', | 
					
						
							|  |  |  |           flex: 1, | 
					
						
							|  |  |  |           flexDirection: 'column', | 
					
						
							|  |  |  |           paddingLeft: 10, | 
					
						
							|  |  |  |           paddingTop: 10, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |      }, | 
					
						
							|  |  |  |      bottomSeparator: { | 
					
						
							|  |  |  |           width: responsiveWidth(80), | 
					
						
							|  |  |  |           height: 1, | 
					
						
							|  |  |  |           justifyContent: 'center', | 
					
						
							|  |  |  |           alignSelf: 'center', | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |           backgroundColor: '#4f5b62', | 
					
						
							|  |  |  |      }, | 
					
						
							|  |  |  |      title: { | 
					
						
							|  |  |  |           color: '#000', | 
					
						
							|  |  |  |           fontSize: responsiveFontSize(2.2) | 
					
						
							|  |  |  |      }, | 
					
						
							|  |  |  |      description: { | 
					
						
							|  |  |  |           fontSize: responsiveFontSize(1.8), | 
					
						
							|  |  |  |           color: '#4f5b62', | 
					
						
							| 
									
										
										
										
											2019-06-16 13:09:54 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-20 18:28:22 +00:00
										 |  |  |      }, | 
					
						
							|  |  |  |      timeContent: { | 
					
						
							|  |  |  |           justifyContent: 'flex-end', | 
					
						
							|  |  |  |           flex: 1, | 
					
						
							|  |  |  |           alignItems: 'flex-end', | 
					
						
							|  |  |  |      }, | 
					
						
							|  |  |  |      time: { | 
					
						
							|  |  |  |           fontWeight: 'bold', | 
					
						
							|  |  |  |           marginRight: 20, | 
					
						
							|  |  |  |           marginBottom: 10, | 
					
						
							|  |  |  |           color: '#263238', | 
					
						
							|  |  |  |      }, | 
					
						
							|  |  |  | });    |