Authored by shangjf

新增站内信样式和消息类型 review by 海子

... ... @@ -25,6 +25,7 @@ import MessageListOrderCell from './MessageListOrderCell';
import YH_ToolTips from '../../../common/components/YH_ToolTips'
import MessageListEditBottomView from './MessageListEditBottomView'
import MessageListActivityCell from './MessageListActivityCell'
import MessageListProductCell from './MessageListProductCell'
export default class MessageList extends Component {
constructor(props) {
... ... @@ -86,7 +87,6 @@ export default class MessageList extends Component {
}
break;
case 500:
case 307:
{
return(
<MessageListActivityCell
... ... @@ -180,6 +180,26 @@ export default class MessageList extends Component {
);
}
break;
case 307:
{
return(
<MessageListProductCell
itemData={rowData}
onPressListItem={(itemData) =>{
this.setState({showToolTips: false});
this.props.onPressListItem && this.props.onPressListItem(itemData, rowID)
}
}
onLongPressListItem={(itemData) =>{
this.onLongPressListItem(itemData,rowID);
}}
selectListItem={(itemData) =>{
this.props.selectListItem&&this.props.selectListItem(rowID);
}}
isEditing={isEditing}
/>
);
}
default:
return(
<View />
... ...
'use strict';
import React, {Component} from 'react';
import ReactNative, {
View,
Text,
Image,
StyleSheet,
Dimensions,
Platform,
TouchableOpacity,
} from 'react-native';
import MessageListCellFooter from './MessageListCellFooter'
import SlicedImage from '../../../common/components/SlicedImage'
import EditIconView from './EditIconView'
export default class MessageListProductCell extends Component {
constructor(props) {
super(props);
}
render() {
let {itemData, isEditing}= this.props;
let body = itemData.get('body');
let imageUri = body ? body.get('img_url','www.yohobuy.com') : 'www.yohobuy.com';
let content = body ? body.get('product_name','') : '';
let isSelected = itemData.get('isSelected');
let salePrice = body ? body.get('sales_price','') : '';
imageUri = SlicedImage.getSlicedUrl(imageUri, 46, 60, 2)
let borderLeftWidth = isEditing ? 1 : 0;
let borderLeftColor = isEditing ? '#e0e0e0' : 'transparent';
let editStyle = {borderLeftWidth, borderLeftColor};
return(
<View style={styles.editContainer}>
{
isEditing
?
<EditIconView isSelected={isSelected} onSelectPress={() =>{
this.props.selectListItem&&this.props.selectListItem(itemData);
}}/>
:
null
}
<View style={[styles.container, editStyle]}>
<TouchableOpacity
activeOpacity={1}
disabled={isEditing}
onLongPress={() =>{
this.props.onLongPressListItem && this.props.onLongPressListItem(itemData);
}}
onPress={() =>{
this.props.onPressListItem && this.props.onPressListItem(itemData);
}}
>
<View style={styles.contentContainer}>
<Text
numberOfLines={1}
style={styles.titleStyle}
>
{itemData.get('title')}
</Text>
<View style={styles.descStyle}>
<Image
style={styles.iconStyle}
source={{uri: imageUri}}
resizeMode="contain"
/>
<View style={styles.detailContent}>
<Text
style={styles.detail}
numberOfLines={2}
>
{content}
</Text>
<Text
style={styles.price}
numberOfLines={1}
>
{salePrice}
</Text>
</View>
</View>
</View>
</TouchableOpacity>
<MessageListCellFooter
onPressListItem={this.props.onPressListItem}
itemData={itemData}
/>
</View>
</View>
)
};
}
let {width, height} = Dimensions.get('window');
let styles = StyleSheet.create({
editContainer: {
flexDirection: 'row'
},
container: {
backgroundColor: 'white'
},
contentContainer: {
flex: 1,
minHeight: 97,
flexDirection: 'column',
backgroundColor: 'white'
},
titleStyle: {
marginTop: 15,
marginLeft: 15,
fontSize: 14,
fontWeight: 'bold',
color: '#444444',
marginRight: 15,
backgroundColor: 'white',
maxWidth: width-30,
},
descStyle:{
flexDirection: 'row',
backgroundColor: 'white'
},
iconStyle: {
marginLeft: 15,
marginTop: 10,
marginBottom: 10,
width: 46,
height: 60,
backgroundColor: 'white'
},
detailContent: {
flexDirection: 'column',
maxWidth: width-15-50-10-20,
},
detail: {
marginLeft: 10,
marginTop: 9,
fontSize: 12,
color: '#686868',
lineHeight: 18,
backgroundColor: 'white'
},
price: {
marginLeft: 10,
marginTop: 8,
fontSize: 12,
color: '#d0021b',
lineHeight: 18,
backgroundColor: 'white'
}
})
... ...
... ... @@ -20,7 +20,7 @@ export default class MessageCell extends Component {
this.images = {
1: require('../../images/message_vip_ic.png'),
2: require('../../images/message_asset_ic.png'),
3: require('../../images/message_service_ic.png'),
3: require('../../images/message_new_service_ic.png'),
4: require('../../images/message_other_ic.png'),
5: require('../../images/message_push_ic.png'),
99: require('../../images/message_zxkf_ic.png'),
... ...
... ... @@ -29,7 +29,7 @@ let defaults = Immutable.fromJS([
},
{
id: 3,
inboxCatName: '客户服务',
inboxCatName: '服务通知',
content: '没有收到任何关于你的消息',
unReadCount:0,
createTime:'',
... ...