TransferShipment.js
2.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
'use strict';
import React, {Component} from 'react';
import LoadMoreIndicator from '../indicator/LoadMoreIndicator';
import LoadingIndicator from '../indicator/LoadingIndicator';
import moment from 'moment';
import SearchBar from '../search/SearchBar';
import TransferShipmentCell from './TransferShipmentCell';
import {
StyleSheet,
View,
Text,
ListView,
Image,
Dimensions,
TouchableHighlight,
} from 'react-native';
export default class TransferShipment extends Component {
constructor(props) {
super (props);
this.dataSource = new ListView.DataSource({
rowHasChanged: (r1, r2) => !Immutable.is(r1, r2),
});
this._renderRow = this._renderRow.bind(this);
}
_renderRow(rowData, sectionID, rowID) {
return(
<TransferShipmentCell resource={rowData} setPurchaseNum={this.props.setPurchaseNum} checkUp={this.props.checkUp} goToStatsPage={this.props.goToStatsPage}/>
)
}
render() {
let {resource} = this.props;
let dataList = resource?resource.get('records'):null;
let isLoadingMore = resource.get('isFetching') && resource.get('currentPage') > 0;
let endReached = resource.get('endReached');
return (
<View style={styles.container}>
<ListView
style={styles.listContainer}
dataSource={this.dataSource.cloneWithRows(dataList?dataList.toArray():[])}
renderRow={this._renderRow}
enableEmptySections={true}
renderFooter={()=>{
if (endReached) {
return <View style={styles.placeholder} />;
} else {
return <LoadMoreIndicator isVisible={isLoadingMore} animating={true}/>;
}
}}
onEndReached={() => {
if (dataList && dataList.size > 0) {
this.props.onEndReached && this.props.onEndReached();
}
}}
/>
</View>
);
}
}
let {width, height} = Dimensions.get('window');
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: 'white',
},
listContainer: {
flex: 1,
backgroundColor: 'white',
},
placeholder: {
width,
height: 15,
},
});